Перемещение баз MSSQL 2000 в другое место.
Jul. 2nd, 2007 10:36 amДобавил я тут еще один раздел к винту в ноутбуке - для больших файлов, типа виртуальных машин, баз данных и образов дисков.
Базы 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 вы у меня лучше не спрашивайте. Я один раз это делал, что-то мне совсем не понравилось. А сейчас у меня оракл не используется.