Рухнула как то периферийная БД. Соответственно возникла необходимость создания новой. База относительно не маленькая (22 Gb). Выгрузить периферийку штатными средствами не представляется возможным (ибо ограничение на выгрузку 2 Gb в 7.7 так и не пофиксили). Через сторонние выгрузки (плагин Romix`a) - долго. Задача стояла восстановить работу предприятия в кратчайшие сроки.
Итак, приступим:
1. Через конфигуратор в центральной базе создаем новую периферийную БД.
2. Через Enterprice Manager (SQL сервер 2000), в таблице _1SBDSET центральной базы, для новой базы меняем DBSTATUS c "N" на "C", и DBFMODE c "1" на "3" (активируем ее).
3. Отключаем (Detach Database) центральную базу в Enterprice Manager, копируем файлы базы данных .MDF и .LDF туда, где будет располагаться периферийная база и подключаем ее (Attach Database), (не забываем центральную тоже назад подключить).
4. Через Query Analizer периферийной базы запускаем скрипт. Меняем номер периферийной БД 1С и имя базы SQL):
use declare @Nom char(3) declare @NomCentr char(3) select @NomCentr = dbsign from _1SDBSET where dbstatus = 'M' set @Nom = '048' -- МЕНЯТЬ НОМЕР на НОВОЙ НОМЕР ПЕРИФ. БАЗЫ ЗДЕСЬ!!!! (в этом случае 048) delete from _1SDBSET where dbsign <> @NomCentr and dbsign <> @Nom update _1SDBSET set dbstatus = 'P' where dbsign = @NomCentr update _1SDBSET set dbstatus = 'M' where dbsign = @Nom update _1SSYSTEM set DBSIGN = @Nom truncate table _1SDWNLDS truncate table _1SUPDTS --DBCC SHRINKDATABASE(,5) - при желании сожмем базу (раскомментировать в этом случае) --exec sp_changedbowner '1cuser' - и если база поключилась с другим владельцем, сменим на нужного
Периыерийная и центральная БД готовы к работе! Done! © maxis33