Перенесення системних баз даних в SQL Server

Системними БД в SQL є master, msdb, model, tempdb і маловідома службова БД mssqlsystemresource.
Буває потрібно перенести системні БД SQL в іншу папку або на інший диск. Мені ось довелося. Робиться це в 2 прийоми.
Спочатку SQL Server потрібно буде спочатку перенсеті master і mssqlsystemresource, а потім залишилися msdb, model, tempdb.

У моєму прикладі буду перенісши бази з
C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData
в
C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLData NewFolder


Запускаємо SQL Server Configuration Manager


SQL Server (MSSQLSERVER) -> Properties
Вкладка Advanced, Startup Parameters
Змінюємо шляху
-DC: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANewFoldermaster.mdf;-eC: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG;-lC: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATANewFoldermastlog.ldf


Зупиняємо службу SQL


Запускаємо SQL в могнопольном режимі і працюємо тільки з базою master
Для цього в cmd набираємо команду


net start MSSQLSERVER /c /m /T3608


запускаємо sqlcmd-A


набираємо 3 рядки для изменеия шляху до mssqlsystemresource.mdf


1> ALTER DATABASE mssqlsystemresource


2> MODIFY FILE (name = "data", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFoldermssqlsystemresource.mdf")


3> GO


На виході відповідь про успішне застосування
The file "data" has been modified in the system catalog. The new path will be used the next time the database is started.


набираємо 3 рядки для изменеия шляху до mssqlsystemresource.ldf


1> ALTER DATABASE mssqlsystemresource


2> MODIFY FILE (name = "log", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFoldermssqlsystemresource.ldf")


3> GO


На виході відповідь про успішне застосування
The file "log" has been modified in the system catalog. The new path will be used the next time the database is started.


Виходимо з sqlcmd командою QUIT


Зупиняємо службу SQL


Переносимо файли. Mdf і. Ldf від баз mssqlsystemresource і master в нове місце


Стартуємо SQL як зазвичай


Далі переносимо бази msdb, model, tempdb
в MS SQL Server Management Studio виконуємо запити:


ALTER DATABASE msdb


MODIFY FILE (name = "MSDBDATA", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFolderMSDBDATA.mdf")


ALTER DATABASE msdb


MODIFY FILE (name = "MSDBLOG", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFolderMSDBLOG.ldf")

ALTER DATABASE model


MODIFY FILE (name = "modeldev", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFoldermodel.mdf")


ALTER DATABASE model


MODIFY FILE (name = "modellog", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFoldermodellog.ldf")

ALTER DATABASE tempdb


MODIFY FILE (name = "tempdev", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFolder empdb.mdf")


ALTER DATABASE tempdb


MODIFY FILE (name = "templog", filename = "C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDataNewFolder emplog.ldf")


Зупиняємо SQL
Переносимо файли. Mdf і. Ldf в нове місце
Стартуємо SQL
Все.


Перевірено на працездатність у SQL 2005 і 2008.


Для автоматизації перенесення можна використовувати скрипти наведені тут:
http://sqlshare.blogspot.com/2009/04/how-to-move-system-databases.html

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*