将数据库从SQL Server 2000升级到2005 –并重建全文本索引?

时间:2020-03-05 18:48:48  来源:igfitidea点击:

我正在将SQL Server 2000数据库加载到新的SQL Server 2005实例中。不出所料,全文目录没有随附。我该如何重建它们?

右键单击我的全文目录,然后单击"重建索引",它挂了好几个小时,却无所事事,因此看起来并不那么简单...

解决方案

回答

使用SQL尝试一下。

  • 创建全文目录
  • 更改全文目录

这是微软的一个例子。

--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