【发布时间】:2010-09-08 01:15:04
【问题描述】:
我正在将 SQL Server 2000 数据库加载到我的新 SQL Server 2005 实例。 不出所料,全文目录并没有附带。 如何重建它们?
右键单击我的全文目录并点击“重建索引”只是挂了几个小时而没有做任何事情,所以看起来没有那么简单...
【问题讨论】:
标签: sql-server full-text-search recovery
我正在将 SQL Server 2000 数据库加载到我的新 SQL Server 2005 实例。 不出所料,全文目录并没有附带。 如何重建它们?
右键单击我的全文目录并点击“重建索引”只是挂了几个小时而没有做任何事情,所以看起来没有那么简单...
【问题讨论】:
标签: sql-server full-text-search recovery
用 SQL 试试。
这是来自 Microsoft 的示例。
--Change to accent insensitive
USE AdventureWorks;
GO
ALTER FULLTEXT CATALOG ftCatalog
REBUILD WITH ACCENT_SENSITIVITY=OFF;
GO
-- Check Accentsensitivity
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'accentsensitivity');
GO
--Returned 0, which means the catalog is not accent sensitive.
【讨论】:
谢谢,这有帮助,因为它显示了问题所在:我的文件路径不同。这是我修复它的方法:
1) 从 SQL 2000 备份加载数据库
2) 将兼容模式设置为 SQL 2005
USE mydb
GO
ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90
GO
3) 获取文件组名称
SELECT name
FROM sys.master_files mf
WHERE type = 4
AND EXISTS( SELECT *
FROM sys.databases db
WHERE db.database_id = mf.database_id
AND name = 'mydb')
4) 然后为每个名字(我在一个小脚本中做了这个)
ALTER DATABASE mydb
MODIFY FILE( NAME = {full text catalog name}, FILENAME="N:\ew\path\to\wherever")
5) 然后收集所有“可读”的目录名称:
SELECT name FROM sys.sysfulltextcatalogs
6) 最后,现在您可以重建每一个:
ALTER FULLTEXT CATALOG {full text catalog name} REBUILD
【讨论】: