(изменено: Sfinks7s1, 11 сентября 2013г. 13:03:36)

Тема: База TDMS на сетевом диске

Используется MS SQL Server 2008_r2.
Как перенести базу данных с локального диска на сетевой?

Ситуация такова, была создана база данных TDMS на локальном диске, данные базы при этом хранятся на сетевом диске (хранилище RAID5).
Требуется переместить базу TDMS и подключить её к серверу с сетевого диска.

Вся проблема в том, что MS SQL не даёт через диалог ни создать базу, ни подключить её с сетевого диска.
Если создать базу на сетевом хранилище скриптом, то после восстановления Backup'а в эту базу с помощью TDMS администратора происходит перемещение базы на локальный диск по дефолтному пути SQL Server'a.

Причём перемещение базы данных происходит только при восстановлении базы с помощью Администратора TDMS, если базу TDMS создавать с нуля на сетевом диске, то она создаётся на Сетевом диске. Восстановление после этого всё равно переносит базу по дефолтному пути SQL Servera, даже если этот путь изменить на сетевой диск.

(изменено: McZag, 12 сентября 2013г. 12:00:28)

Re: База TDMS на сетевом диске

Sfinks7s1 пишет:

Используется MS SQL Server 2008_r2.
Как перенести базу данных с локального диска на сетевой?

Ситуация такова, была создана база данных TDMS на локальном диске, данные базы при этом хранятся на сетевом диске (хранилище RAID5).
Требуется переместить базу TDMS и подключить её к серверу с сетевого диска.

Вся проблема в том, что MS SQL не даёт через диалог ни создать базу, ни подключить её с сетевого диска.
Если создать базу на сетевом хранилище скриптом, то после восстановления Backup'а в эту базу с помощью TDMS администратора происходит перемещение базы на локальный диск по дефолтному пути SQL Server'a.

Причём перемещение базы данных происходит только при восстановлении базы с помощью Администратора TDMS, если базу TDMS создавать с нуля на сетевом диске, то она создаётся на Сетевом диске. Восстановление после этого всё равно переносит базу по дефолтному пути SQL Servera, даже если этот путь изменить на сетевой диск.

Честно сказать, я не очень понял, что вам в итоге нужно. Но в качестве инструмента для восстановления в нужное место можете попробовать инструкцию MOVE команды RESTORE
BOL:
MOVE 'logical_file_name' TO 'operating_system_file_name'
Specifies that the given logical_file_name should be moved to operating_system_file_name. By default, the logical_file_name is restored to its original location. If the RESTORE statement is used to copy a database to the same or different server, the MOVE option may be needed to relocate the database files and to avoid collisions with existing files. Each logical file in the database can be specified in different MOVE statements.

RESTORE DATABASE MyNwind
   FROM MyNwind_1
   WITH NORECOVERY, 
      MOVE 'MyNwind' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf', 
      MOVE 'MyNwindLog1' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf'
RESTORE LOG MyNwind
   FROM MyNwindLog1
   WITH RECOVERY

Примерно так же можно раздельно восстанавливать отдельные файлы и файловые группы. Встроенное в TDMS резервное копирование предназначено для выполнения стандартных однофайловых схем копирования и восстановления. Оно подходит в 90% случаев, но видимо не работает в вашем   :blink:

Спасибо сказали: KudrjashovAI1