Atualizar o banco de dados do SQL Server 2000 para 2005 — e reconstruir índices de texto completo?
-
09-06-2019 - |
Pergunta
Estou carregando um Servidor SQL 2000 banco de dados em meu novo Servidor SQL 2005 instância. Como esperado, os catálogos de texto completo não vêm com ele. Como posso reconstruí-los?
Clicar com o botão direito em meus catálogos de texto completo e clicar em "reconstruir índices"só fica pendurado por horas e horas sem fazer nada, então não parece ser tão simples assim...
Solução
Experimente usando SQL.
Aqui está um exemplo da 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.
Outras dicas
Obrigado, isso ajudou porque mostrou o que estava errado:Meus caminhos de arquivo eram diferentes.Veja como eu consertei:
1) Carregar banco de dados do backup do SQL 2000
2) Defina o modo de compatibilidade para SQL 2005
USE mydb
GO
ALTER DATABASE mydb SET COMPATIBILITY_LEVEL = 90
GO
3) Obtenha os nomes dos grupos de arquivos
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) Então para cada nome (fiz isso em um pequeno script)
ALTER DATABASE mydb
MODIFY FILE( NAME = {full text catalog name}, FILENAME="N:\ew\path\to\wherever")
5) Em seguida, reúna todos os nomes "legíveis" dos catálogos:
SELECT name FROM sys.sysfulltextcatalogs
6) Finalmente, agora você pode reconstruir cada um deles:
ALTER FULLTEXT CATALOG {full text catalog name} REBUILD