P.S. В результате обсуждения первоначального варианта статьи изменил название и подправил содержание. Спасибо всем участникам!
Пример основан на связке Cервер 1С:Предприятия 8.2 (64-bit) для Windows и MS SQL.
Сервер 1С хранит сведения о списке баз в файле C:Program Files1cv82srvinfo
eg_15411CV8Reg.lst
Содержимое данного файла примерно таково:
{0,
{21791623-24ae-4475-8414-e59b975c11a8,"Локальный кластер",1541,"PATR",0,0,0,0,0,0},
{2,
{de4783dd-83d9-4d5a-a80b-e03fe617b1a6,"sp","","MSSQLServer","PATRSQLEXPRESS","sp","sa","yjh9S5Nn08l/SKf+L5UC7+4sl9y/QWxbjGY3IywBf+k=","CrSQLDB=Y;DB=sp;DBMS=MSSQLServer;DBSrvr=PATRSQLEXPRESS;DBUID=sa;LIC=4074368187867440715;LicDstr=Y;Locale=ru_RU;Ref=sp;SLev=0;SQLYOffs=2000;Srvr=127.0.0.1",0,
{0,00010101000000,00010101000000,"","",""},0,1},
{185bef3f-ac36-4fd1-977f-85fc361bc25e,"trade","","MSSQLServer","PATRSQLEXPRESS","trade","sa","yjh9S5Nn08l/SKf+L5UC7wF7zoN5FikW3hMWYpTSKFE=","CrSQLDB=Y;DB=trade;DBMS=MSSQLServer;DBSrvr=PATRSQLEXPRESS;DBUID=sa;LIC=3232199160312148747;LicDstr=Y;Locale=ru_RU;Ref=trade;SLev=0;SQLYOffs=2000;Srvr=127.0.0.1",0,
{0,00010101000000,00010101000000,"","",""},0,1}
},
{1,
{4f66c84e-665d-42f5-b572-5d52cadb3353,"PATR",1,1,
{3.273363228699551e-1,3.210807174887892e-1,6.255605381165919e-3,0,0,223,242.0514093298371,0,95660,0,100,1},1000}
},
{0},
{1,
{4c5b0a73-e356-40af-99bd-20be4fe3275f,"Центральный сервер",1540,"PATR",1,
{1,
{1560,1591}
},"","gjpxNjQbXPOvuLyXVje4qA=="}
},
{0},
{0},
{1,
{"PATR",1541}
}
}
Цифра 2, в третьей строке, означает количество баз, зарегистрированных на сервере.
Каждые последующие две строки (до },) описывают базу.
Способы редактирования списка баз.
«Штатный» способ.
Наиболее предпочтителен. В обычном случае очевиден. Требуют комментария только ситуации если база прежде была удалена средствами SQL сервера или забыт пароль администратора.
Если база была удалена на SQL сервере то при удалении ее на сервере 1С нужно выбрать кнопку «Оставить без изменений».
Если забыт пароль админа 1С, в начале удаляем ее на SQL сервере, а затем удаляем ее с сервера 1С кнопкой «Оставить без изменений».
Способ редактирования списка баз.
Перед редактированием желательно сохранить копию файла 1CV8Reg.lst и обязательно остановить службу Агент сервера 1С.
Еще, как заметил yukon, «У 1С есть мнение, что непосредственное редактирование служебных файлов не описанных в документации нарушает лиц.соглашение».
А редактирование крайне просто.
В третьей строке (см. листинг) меняем количество баз на то, каким оно станет после удаления, и удаляем строки, соответствующие не нужной базе (базам).
Хм, всегда получалось без проблем. Специально пошел проверять на 8.2. — все удалилось.
Предлагаемый способ:
1. Предполагает остановку сервера.
2. Нарушает лицензионное соглашение.
В остальном, все ОК.
(1) yukon, Про остановку сервера забыл, добавлю. А про нарушение лицензии не понял…
(2)
У 1С есть мнение, что непосредственное редактирование служебных файлов не описанных в документации нарушает лиц.соглашение.
А почему не получится удалить-то? Всегда удалял без проблем. Только при удалении надо выбрать пункт «Оставить без изменений».
Не знаю есть там проблема удаления базы на сервере 1С или нет, но если есть и базу грохнули в SQL напрямую, то кто же мешает создать 100% пустую базу в SQL с тем же именем и грохнуть ее снова но уже средствами 1С?
(5) опередил
(5) Brawler, насколько я помню, 1с попытается слазить в эту базу, и авторизоваться в ней. А так как в ней авторизоваться не получится, будет ошибка.
т.е. или создавать базу с уже каким-либо 1сным содержимым, чтобы можно было авторизоваться и корректно удалить.
«Оставить без изменений» надо жать)
Так получится удалить, если забыл пароль администратора базы?
(9) alon, Прекрасно удаляется без пароля. Сейчас проверил.
(10) karpik666, Спасибо. Еще пример использования!
было бы прикольно его скриптом заполнять