Используя консоль управления SQL Server для SQL Server 2005, мы переходим к
Server Properties --> Database Settings -->
change database default location from c:\blah\blah to E:\MSSQL\DATA
Мы перезапускаем сервер, и он должен хранить все новые базы данных в этом каталоге, по крайней мере, теоретически.
Пока все в порядке, но когда мы восстанавливаем первый файл databasename.bak, он вместо этого сохраняет информацию в каталоге C: \ Program Files \ blah \ blah \ data.
Есть идеи, как сделать это постоянным даже для восстановленных баз данных?
Файл .bak базы данных содержит информацию о том, где резервная копия базы данных содержала файлы mdf и ldf. Я предполагаю, что он был разработан таким образом, чтобы упростить восстановление. Чтобы восстановить резервную копию в другом месте (т.е. в новом месте, которое вы хотите), вам необходимо использовать некоторые немного расширенные функции:
Чтобы восстановить базу данных под названием «моя»
RESTORE DATABASE mine
FROM DISK = 'c:\mine.bak'
WITH MOVE 'mine' TO 'c:\vol\newlocation\mine.mdf',
MOVE 'mine_log' TO 'c:\vol\newlocation\mine_log.ldf'
Сервер по умолчанию, который вы устанавливаете, контролирует только местоположение по умолчанию, где будут расположены новые БД. Вам необходимо сообщить SQL новое расположение файлов в операции RESTORE. При использовании графического интерфейса перейдите на страницу параметров диалогового окна восстановления базы данных и укажите для каждого файла новый путь. Если вы используете окно запроса, используйте RESTORE FILELISTONLY, чтобы получить список файлов, затем используйте эту информацию для RESTORE DATABASE ... WITH MOVE ..., чтобы восстановить БД в выбранном вами месте.
Я считаю, что резервные копии баз данных по умолчанию восстанавливаются туда, где они были при резервном копировании. Поэтому, если вы хотите изменить это, вы можете просто сделать резервную копию баз данных, когда они окажутся в новом месте.
В противном случае вы можете посмотреть:
HKLM\Software\Microsoft\Microsoft SQL Server\[instance name]\SQLDataRoot
и убедитесь, что это правильный путь.
Перейдите в обозреватель объектов. Щелкните правой кнопкой мыши сервер базы данных и выберите «Свойства». Перейдите в «Настройки базы данных» слева и измените расположение базы данных по умолчанию.
Примечание. Это применимо только к конкретному серверу базы данных, на котором вы вносите изменения.