Перемещение баз MSSQL 2000 в другое место.
Jul. 2nd, 2007 10:36 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Добавил я тут еще один раздел к винту в ноутбуке - для больших файлов, типа виртуальных машин, баз данных и образов дисков.
Базы Firebird переносятся за 1 минуту - скопировал файлы, поменял алиасы в aliases.conf.
Базы же MSSQL - пляска с бубном. Сначала надо отсоединить (sp_detach_db или в меню All tasks - Detach database) все пользовательские базы. Перенести их на новое место.
Затем надо залезть в параметры старта сервера (Сервер - Properties - General - Startup Parameters), там удалить старые параметры - путь к базе master, ее логу и логу ошибок, добавить новые(с новыми путями). Я вообще бзырь - я сначала нашел где эти параметры лежат в реестре(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters) и там их поправил :)
Остановить сервер, перенести базу master на новое место. Запустить сервер.
Чтобы перенести базу tempdb, надо в Query Analyzer выполнить команду(E:\Sqldata\ - новое место для баз):
Затем перестартовать сервер и грохнуть старые файлы от tempdb.
Чтобы перенести базы msdb и model (внимание, интенсивность плясок с бубном достигает своего максимума), надо к параметрам запуска сервера добавить параметр трассировки -T3608. Перестартовать сервер.
Затем надо отсоединить базы:
Перенести их файлы в новое место и присоединить:
Затем надо убрать из параметров запуска -T3608 и опять перестартовать сервер.
Присоединить обратно все пользовательские базы.
Вопрос же переноса баз Oracle вы у меня лучше не спрашивайте. Я один раз это делал, что-то мне совсем не понравилось. А сейчас у меня оракл не используется.
Базы Firebird переносятся за 1 минуту - скопировал файлы, поменял алиасы в aliases.conf.
Базы же MSSQL - пляска с бубном. Сначала надо отсоединить (sp_detach_db или в меню All tasks - Detach database) все пользовательские базы. Перенести их на новое место.
Затем надо залезть в параметры старта сервера (Сервер - Properties - General - Startup Parameters), там удалить старые параметры - путь к базе master, ее логу и логу ошибок, добавить новые(с новыми путями). Я вообще бзырь - я сначала нашел где эти параметры лежат в реестре(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters) и там их поправил :)
Остановить сервер, перенести базу master на новое место. Запустить сервер.
Чтобы перенести базу tempdb, надо в Query Analyzer выполнить команду(E:\Sqldata\ - новое место для баз):
use master go Alter database tempdb modify file (name = tempdev, filename = 'E:\Sqldata\tempdb.mdf') go Alter database tempdb modify file (name = templog, filename = 'E:\Sqldata\templog.ldf') Go
Затем перестартовать сервер и грохнуть старые файлы от tempdb.
Чтобы перенести базы msdb и model (внимание, интенсивность плясок с бубном достигает своего максимума), надо к параметрам запуска сервера добавить параметр трассировки -T3608. Перестартовать сервер.
Затем надо отсоединить базы:
use master go sp_detach_db 'model' go sp_detach_db 'msdb' go
Перенести их файлы в новое место и присоединить:
use master go sp_attach_db 'model','E:\Sqldata\model.mdf','E:\Sqldata\modellog.ldf' go sp_attach_db 'msdb','E:\Sqldata\msdbdata.mdf','E:\Sqldata\msdblog.ldf' go
Затем надо убрать из параметров запуска -T3608 и опять перестартовать сервер.
Присоединить обратно все пользовательские базы.
Вопрос же переноса баз Oracle вы у меня лучше не спрашивайте. Я один раз это делал, что-то мне совсем не понравилось. А сейчас у меня оракл не используется.
no subject
Date: 2007-07-02 08:24 am (UTC)А лазать в реестр, устанавливать глобальные флаги трассировки и заниматься другими низкоуровневыми хаками не стоило - слишком опасно. Я так однажды решил в мастере поправить расположения баз - так потом пришлось из консоли запускать сиквел в однопользовательском режиме и ручками, из-под osql, прогонять апдейты на sysdatabases, чтобы вернуть все обратно :)
no subject
Date: 2007-07-02 09:42 am (UTC)no subject
Date: 2007-07-02 11:58 am (UTC)В любом случае, ничего запредельного в этом нет - во всяком случае, при наличии столь исчерпывающей документации. Да, неочевидно, да, надо читать доки - ну так их в любом бол-мен серьезном продукте читать надо.
Собственно, потому в нормальной ситуации DBA и выделяется в отдельную должность.
no subject
Date: 2007-07-02 08:35 am (UTC)Безумству героев поём мы песню. Но денег не даём: ибо нефиг.
no subject
Date: 2007-07-02 09:41 am (UTC)no subject
Date: 2007-07-07 07:18 pm (UTC)no subject
Date: 2007-07-07 07:24 pm (UTC)no subject
Date: 2007-07-07 08:15 pm (UTC)no subject
Date: 2007-07-07 09:32 pm (UTC)no subject
Date: 2007-07-07 09:43 pm (UTC)