SQL Server 2005: присоединение базы данных с использованием sp_attach_db или CREATE DATABASE с несколькими файловыми группами и полнотекстовым каталогом - PullRequest
1 голос
/ 03 мая 2011

Проблемы с подключением базы данных с несколькими файловыми группами и полнотекстовым каталогом с сервера A к серверу B с помощью sp_attach_db или CREATE DATABASE в SQL Server 2005 с пакетом обновления 3 (SP3). Все файлы базы данных (первичные данные, вторичные данные, журнал, полнотекстовый каталог) были скопированы с сервера A на сервер B.

У меня была похожая проблема ( SQL Server 2005: присоединить базу данных с помощью sp_attach_db с полнотекстовым каталогом ), но в этом примере были только первичный файл данных, первичный файл журнала и полнотекстовый каталог

Теперь я сталкиваюсь с добавлением дополнительных файловых групп, и при попытке запустить приведенную ниже команду примера она терпит неудачу

CREATE DATABASE DBNAME ON 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME_data.mdf'), 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME_indexes.ndf'), 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME1_data.ndf'), 
    (FILENAME = 'C:\Databases\DBNAME\Logs\DBNAME_log.ldf'), 
    (FILENAME = 'C:\Databases\DBNAME\Data\FTData') 
FOR ATTACH;
GO

Сообщение об ошибке:

Msg 5120, Level 16, State 101, Line 1
Unable to open the physical file "C:\Databases\DBNAME\Data\FTData". Operating system error 5: "5(Access is denied.)".

Я использовал эту страницу Microsoft (http://msdn.microsoft.com/en-us/library/ms176061.aspx) в качестве руководства, но у нее нет такого примера. Я знаю, что это возможно, что я пропустил!?

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Разобрался, что мне нужно было сделать. Является ли это правильным или обходным путем, я не уверен. Это то, что я сделал .... сначала я удалил полнотекстовый каталог из списка создания базы данных, так как у него были проблемы с ним (независимо от того, как у меня это было), и я смог создать / присоединить базу данных (хотя я получил предупреждение)

CREATE DATABASE DBNAME ON 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME_data.mdf'), 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME_indexes.ndf'), 
    (FILENAME = 'C:\Databases\DBNAME\Data\DBNAME1_data.ndf'), 
    (FILENAME = 'C:\Databases\DBNAME\Logs\DBNAME_log.ldf')
FOR ATTACH;
GO

Затем я получил логическое имя и путь к полнотекстовому каталогу из этого ...

SELECT * FROM SYS.DATABASE_FILES  WHERE TYPE_DESC = 'FULLTEXT'

Затем перевел базу данных в автономный режим, перепечатал полнотекстовый каталог, а затем снова включил базу данных с этим ...

ALTER DATABASE DBNAME SET OFFLINE
ALTER DATABASE DBNAME MODIFY FILE ( NAME = sysft_cat_full_text , FILENAME = 'C:\Databases\DBNAME\Data\FTData\cat_full_text')
ALTER DATABASE DBNAME SET ONLINE

Пока что мне еще не приходилось перестраивать каталоги

0 голосов
/ 03 мая 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...