在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命令中删除了全文目录文件夹,则数据库会挂载,但会警告我找不到全文目录。我想念什么!?
使用CREATE DATABASE ... FOR ATTACH;。参见示例H:
CREATE DATABASE ... FOR ATTACH;
附加已移动 的 全文目录 以下示例将全文目录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