Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы > База данных > Microsoft MSSQL

Перемещение пользовательских баз данных

В следующем примере выполняется перемещение базы данных mydb. Эта база данных содержит один файл данных Mydb.mdf и один файл журнала, Mydblog.ldf. Если подлежащая перемещению база данных состоит из нескольких файлов данных и журналов, необходимо перечислить все эти файлы в списке, передаваемом хранимой процедуре sp_attach_db Элементы списка разделяются запятыми. Поскольку процедуре sp_detach_db список перемещаемых файлов не передается, то вызов данной процедуры sp_detach_db не зависит от количества файлов в базе данных.

Отключите базу данных, как показано ниже:

use master
go
sp_detach_db 'mydb'
go


     Скопируйте файлы журналов и данных из текущего местоположения (D:\Mssql7\Data) в новое (E:\Sqldata).
     Повторно подключите базу данных. Укажите новое местоположение файлов:


use master
go
sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'
go


     Проверьте изменение местоположения файлов с помощью хранимой процедуры sp_helpfile:

use mydb
go
sp_helpfile
go


     В столбце filename должно отображаться новое местоположение файлов. Материал взят с сайта: http://rll-sql.blogspot.ru/2011/05/blog-post.html


Присоединение базы с сетевого диска (или расшаренной папки)

Присоединять базу находящуюся в расшаренной папке на другом компе предыдущим способом сервер не захотел, выдав ошибку:

Msg 5110, Level 16, State 2, Line 1
Файл "\\192.168.1.10\base.mdf" находится по сетевому пути, который не поддерживается для файлов базы данных.


     После поиска в инете решение было найдено:

dbcc traceon(1807)
go
  EXEC sp_attach_db 'base', '\\192.168.1.10\base.mdf', '\\192.168.1.10\base_log.ldf'



(имя базы, путь к файлу)



Материал взят с сайта: http://rll-sql.blogspot.ru/2011/05/blog-post_02.html

Главная > Программы > База данных > Microsoft MSSQL