小编典典

SQL Server 2005:使用带有全文目录的sp_attach_db附加数据库

sql

在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命令中删除了全文目录文件夹,则数据库会挂载,但会警告我找不到全文目录。我想念什么!?


阅读 203

收藏
2021-04-22

共1个答案

小编典典

使用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
2021-04-22