在SQL Server 2005 SP3中使用“sp_attach_db”命令将数据库和完整文本目录从服务器A附加到服务器B时出现问题。所有数据库文件(数据,日志,全文目录)都已从服务器A复制到服务器B.我猜这确实是可能的,我的语法不正确,但我似乎无法找到任何示例或任何地方的好文件。这是我正在使用的一些伪语法...
exec sp_attach_db '<database_name>', '<database data file>', '<database full text catalog folder>', '<database log file>'
或某种例子......
exec sp_attach_db 'database', 'C:\Database\Data\database_data.mdf', 'C:\Database\Data\FTData', 'C:\Databases\Logs\database_log.ldf'
我从此命令收到“无法打开物理文件”的错误,并且attach命令失败。如果我从sp_attach_db命令中删除了全文目录文件夹,则数据库会挂载,但会向我发出警告,指出它找不到全文目录。我错过了什么!?
答案 0 :(得分:2)
使用CREATE DATABASE ... FOR ATTACH;
。见例H:
附加有的全文目录 被感动
以下示例 附上全文目录 AdvWksFtCat随之而来 AdventureWorks2008R2数据和日志 文件。在这个例子中,全文 目录从其默认值移出 位置到新位置 C:\ myFTCatalogs。数据和日志 文件保持默认状态 位置。
USE master;
GO
--Detach the AdventureWorks2008R2 database
sp_detach_db AdventureWorks2008R2;
GO
-- Physically move the full text catalog to the new location.
--Attach the AdventureWorks2008R2 database and specify the new location of the full-text catalog.
CREATE DATABASE AdventureWorks2008R2 ON
(FILENAME = 'c:\...\Data\AdventureWorks2008R2_Data.mdf'),
(FILENAME = 'c:\...\Data\AdventureWorks2008R2_log.ldf'),
(FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')
FOR ATTACH;
GO