Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
O SQL Server atualiza a pesquisa em texto completo durante a configuração, ou quando anexa, restaura ou copia ficheiros de base de dados e catálogos de texto integral do SQL Server 2005 (9.x) e versões anteriores.
Atualizar uma instância do servidor
Para uma atualização in-place, uma instância do SQL Server é configurada juntamente com a versão antiga do SQL Server, e os dados são migrados. Se a versão antiga do SQL Server tinha a pesquisa de texto completo instalada, uma nova versão da pesquisa de texto completo é instalada automaticamente. A instalação lado a lado significa que cada um dos seguintes componentes existe no nível de instância do SQL Server.
Separadores de palavras, lematizadores e filtros
Cada instância agora usa seu próprio conjunto de separadores de palavras, lematizadores e filtros, em vez de depender da versão do sistema operacional desses componentes. Esses componentes também são mais fáceis de registrar e configurar em um nível por instância. Para obter mais informações, consulte Configurar e gerenciar separadores de palavras e lematizadores para pesquisa (SQL Server) e Configurar e gerenciar filtros para pesquisa.
Filtrar host de daemon
Os daemons de filtro de texto completo são processos que carregam e acionam com segurança componentes externos extensíveis usados para indexação e consulta, como analisadores de palavras, lematizadores e filtros, sem comprometer a integridade do Full-Text Engine. Uma instância de servidor usa um processo multithreaded para todos os filtros multithreaded e um processo single-threaded para todos os filtros single-threaded.
O serviço FDHOST Launcher (MSSQLFDLauncher) propaga a informação da conta do serviço para os processos anfitriões do daemon de filtro de uma instância específica do SQL Server. Para obter informações sobre como definir a conta de serviço, consulte Configurar a Conta de Serviço para o Iniciador de Daemon do Filtro de Texto Completo.
Compatibilidade de atualização do SQL Server 2005
Um catálogo de texto integral é um objeto lógico ou virtual que contém um grupo de índices de texto completo. Portanto, um novo catálogo de texto completo não é tratado como um arquivo de banco de dados com um caminho físico. No entanto, se atualizar do SQL Server 2005 (9.x), um novo grupo de ficheiros é criado no mesmo disco para qualquer catálogo de texto completo que contenha ficheiros de dados.
Este procedimento mantém o comportamento antigo de I/O do disco após a atualização. Qualquer índice de texto completo desse catálogo é colocado no novo grupo de arquivos se o caminho raiz existir. Se o caminho antigo do catálogo de texto completo for inválido, a atualização manterá o índice de texto completo no mesmo grupo de arquivos que a tabela base ou, para uma tabela particionada, no grupo de arquivos primário.
Opções de atualização de texto completo
Ao atualizar uma instância do SQL Server, a interface do usuário permite que você escolha uma das seguintes opções de atualização de texto completo. Estas opções estão disponíveis apenas para bases de dados SQL Server 2005 (9.x).
Import
Os catálogos de texto completo são importados. Normalmente, a importação é significativamente mais rápida do que a reconstrução. Por exemplo, ao usar apenas uma CPU, a importação é executada cerca de 10 vezes mais rápido do que a reconstrução. No entanto, um catálogo de texto completo importado não usa os novos separadores de palavras instalados com a versão mais recente do SQL Server. Para garantir a consistência nos resultados da consulta, os catálogos de texto completo precisam ser reconstruídos.
Observação
A reconstrução pode ser executada no modo multi-threaded e, se mais de 10 CPUs estiverem disponíveis, a reconstrução poderá ser executada mais rapidamente do que a importação se você permitir que a reconstrução use todas as CPUs.
Se um catálogo de texto completo não estiver disponível, os índices de texto completo associados serão reconstruídos.
Para informações sobre o efeito da importação de índice de texto completo, consulte Considerações para escolher uma opção de atualização de texto completo mais adiante neste artigo.
Rebuild
Os catálogos de texto completo são reconstruídos usando os separadores de palavras novos e aprimorados. A reconstrução de índices pode demorar um pouco, e uma quantidade significativa de CPU e memória pode ser necessária após a atualização.
Reiniciar
Os catálogos de texto completo são redefinidos. Ao atualizar do SQL Server 2005 (9.x), os arquivos de catálogo de texto completo são removidos, mas os metadados para catálogos de texto completo e índices de texto completo são mantidos. Depois de atualizados, todos os índices de texto completo são desativados para controle de alterações e os rastreamentos não são iniciados automaticamente. O catálogo permanecerá vazio até que você emita manualmente uma população completa, após a conclusão da atualização.
Considerações para escolher uma opção de atualização de texto completo
Ao escolher a opção de atualização para sua atualização, considere o seguinte:
Precisa de consistência nos resultados das consultas?
O SQL Server instala novos separadores de palavras para uso pela Pesquisa Full-Text e Pesquisa Semântica. Os separadores de palavras são usados no momento da indexação e no momento da consulta. Se você não reconstruir os catálogos de texto completo, os resultados da pesquisa podem ser inconsistentes. Caso emita uma consulta de texto completo que procure uma frase formada de maneira diferente pelo separador de palavras em uma versão anterior do SQL Server e pelo separador de palavras atual, um documento ou linha contendo a frase pode não ser recuperados. Isso ocorre porque as frases indexadas foram quebradas usando uma lógica diferente da que a consulta está usando. A solução é preencher novamente (reconstruir) os catálogos de texto completo com os novos separadores de palavras para que o tempo de índice e o comportamento do tempo de consulta sejam idênticos. Você pode escolher a opção Reconstruir para fazer isso, ou você pode reconstruir manualmente depois de escolher a opção Importar.
Algum índice de texto completo foi criado em colunas chave de texto completo inteiras?
A reconstrução executa otimizações internas que, em alguns casos, melhoram o desempenho da consulta do índice de texto integral atualizado. Especificamente, se você tiver catálogos de texto completo que contenham índices de texto completo para os quais a coluna de chave de texto completo da tabela base seja um tipo de dados inteiro, a reconstrução alcançará o desempenho ideal de consultas de texto completo após a atualização. Nesse caso, é altamente recomendável que você use a opção Rebuild.
Observação
Para índices de texto completo, recomendamos que a coluna que serve como chave de texto completo seja um tipo de dados inteiro. Para obter mais informações, consulte Melhorar o desempenho de índices de Full-Text.
Qual é a prioridade para colocar online a instância do servidor?
A importação ou reconstrução durante a atualização consome muitos recursos da CPU, o que atrasa a atualização e a colocação online do restante da instância do servidor. Se colocar a instância do servidor em funcionamento o mais rápido possível for importante e se estiver disposto a executar uma população manual após a atualização, Redefinir é adequado.
Garantir resultados de consulta consistentes depois de importar um índice de texto completo
Se um catálogo de texto completo foi importado ao atualizar um banco de dados do SQL Server 2005 (9.x), podem ocorrer incompatibilidades entre a consulta e o conteúdo do índice de texto completo devido a diferenças no comportamento dos separadores de palavras antigos e novos. Nesse caso, para garantir uma correspondência total entre as consultas e o conteúdo do índice de texto completo, escolha uma das seguintes opções:
Reconstrua o catálogo de texto integral que contém o índice de texto integral com ALTER FULLTEXT CATALOG:
ALTER FULLTEXT CATALOG <catalog_name> REBUILD;Emitir uma POPULAÇÃO COMPLETA no índice de texto completo com ALTERAR ÍNDICE DE TEXTO COMPLETO:
ALTER FULLTEXT INDEX ON <table_name> START FULL POPULATION;
Para obter mais informações sobre separadores de palavras, consulte Configurar e gerenciar separadores de palavras e lematizadores para pesquisa (SQL Server).
Atualize ficheiros de palavras irrelevantes para listas de supressão
Quando uma base de dados é atualizada do SQL Server 2005 (9.x), os ficheiros de palavras irrelevantes deixam de ser utilizados. No entanto, os ficheiros de palavras de ruído antigos são armazenados no diretório FTDATA\FTNoiseThesaurusBak e poderá utilizá-los posteriormente ao atualizar ou criar as stoplists correspondentes do SQL Server.
Após a atualização do SQL Server 2005 (9.x):
Se você nunca adicionou, modificou ou excluiu nenhum arquivo de palavras de ruído em sua instalação do SQL Server 2005 (9.x), a lista de paradas do sistema deve atender às suas necessidades.
Se seus arquivos de palavras de ruído foram modificados no SQL Server 2005 (9.x), essas modificações são perdidas durante a atualização. Para recriar essas atualizações, você deve recriar manualmente essas modificações na lista de paradas correspondente. Para obter mais informações, consulte ALTER FULLTEXT STOPLIST.
Se não quiser aplicar palavras paradas aos índices de texto completo (por exemplo, se você excluiu ou apagou os arquivos de palavras de ruído na instalação do SQL Server 2005 (9.x), desative a lista de paradas para cada índice de texto completo atualizado. Execute a seguinte instrução Transact-SQL (substituindo banco de dados pelo nome do banco de dados atualizado e tabela pelo nome da tabela ):
Use database; ALTER FULLTEXT INDEX ON table SET STOPLIST OFF; GOA cláusula STOPLIST OFF remove a filtragem de palavras paradas e desencadeia uma população da tabela, sem filtrar quaisquer palavras consideradas ruído.
Backup e importação de catálogos de texto completo
Para catálogos de texto completo que são reconstruídos ou redefinidos durante a atualização (e para novos catálogos de texto completo), o catálogo de texto completo é um conceito lógico e não reside em um grupo de arquivos. Portanto, para fazer backup de um catálogo de texto completo, você deve identificar cada grupo de arquivos que contém um índice de texto completo do catálogo e fazer backup de cada um deles, um a um. Para mais informações, consulte Fazer backup e restaurar catálogos e índices em texto completo.
Para catálogos de texto completo que foram importados do SQL Server 2005 (9.x), o catálogo de texto completo ainda é um arquivo de banco de dados em seu próprio grupo de arquivos. O processo de backup do SQL Server 2005 (9.x) para catálogos de texto completo ainda se aplica, exceto que o serviço MSFTESQL não existe no SQL Server. Para obter informações sobre o processo do SQL Server 2005 (9.x), consulte de backup e restauração de catálogos Full-Text nos Manuais Online do SQL Server 2005.
Migrar índices de texto completo ao atualizar um banco de dados
Arquivos de banco de dados e catálogos de texto completo de uma versão anterior do SQL Server podem ser atualizados para uma instância existente usando anexar, restaurar ou o Assistente para Cópia de Banco de Dados. Os índices de texto completo do SQL Server 2005 (9.x), se houver, são importados, redefinidos ou recriados. A upgrade_option propriedade do servidor especifica qual a opção de atualização de texto completo que a instância do servidor utiliza durante estas atualizações da base de dados.
Depois de anexar, restaurar ou copiar qualquer banco de dados do SQL Server 2005 (9.x) uma instância mais recente, o banco de dados fica disponível imediatamente e, em seguida, é atualizado automaticamente. Dependendo da quantidade de dados que estão sendo indexados, a importação pode levar várias horas e a reconstrução pode levar até 10 vezes mais. Quando a opção de atualização está definida para importação, se não houver um catálogo de texto completo disponível, os índices de texto completo associados são reconstruídos.
Alterar o comportamento de atualização de texto completo numa instância de servidor
Transact-SQL: Use a
upgrade_optionação de sp_fulltext_serviceSQL Server Management Studio: Use a opção Full-Text Upgrade da caixa de diálogo Propriedades do Servidor. Para obter mais informações, consulte Gerir e Monitorizar Full-Text Procurar uma Instância do Servidor.
Considerações para restaurar um catálogo de texto completo do SQL Server 2005 (9.x)
Um método de atualizar dados de texto completo de um banco de dados SQL Server 2005 (9.x) é restaurar um backup de banco de dados completo para uma instância mais recente do SQL Server.
Ao importar um catálogo de texto completo do SQL Server 2005 (9.x), você pode fazer backup e restaurar o banco de dados e o arquivo de catálogo. O comportamento é o mesmo do SQL Server 2005 (9.x):
A cópia de segurança completa da base de dados inclui o catálogo de texto completo. Para fazer referência ao catálogo de texto completo, use seu nome de arquivo do SQL Server 2005 (9.x), sysft_+nome do catálogo.
Se o catálogo de texto completo estiver offline, a cópia de segurança falha.
Para mais informações sobre como efetuar cópias de segurança e restaurar catálogos de texto integral do SQL Server 2005 (9.x), consulte Efetuar cópias de segurança e restaurar catálogos e índices de texto integral e Cópia de Segurança e Restauração de Ficheiros e Catálogos de Texto Integral em SQL Server 2005 (9.x) Books Online.
Quando a base de dados é restaurada numa instância mais recente do SQL Server, é criado um novo ficheiro de base de dados para o catálogo de texto completo. O nome padrão desse arquivo é ftrow_nome de catálogo.ndf. Por exemplo, se você de nome de catálogo estiver cat1, o nome padrão do arquivo de banco de dados do SQL Server será ftrow_cat1.ndf. Mas se o nome padrão já estiver sendo usado no diretório de destino, o novo arquivo de banco de dados será nomeado ftrow_nome de catálogo{GUID}.ndf, onde GUID é o identificador global exclusivo do novo arquivo.
Depois de importados os catálogos, os sys.database_files e sys.master_files são atualizados para remover as entradas do catálogo e a path coluna em sys.fulltext_catalogs é definida como NULL.
Fazer backup de um banco de dados
- Backups completos de banco de dados (SQL Server)
- Backups de log de transações (SQL Server) (somente modelo de recuperação completa)
Restaurar uma cópia de segurança da base de dados
- restaurações completas de banco de dados (modelo de recuperação simples)
- Restaurações completas de banco de dados (modelo de recuperação completa)
Exemplo
O exemplo seguinte utiliza a MOVE cláusula na instrução RESTORE para restaurar uma base de dados SQL Server 2005 (9.x) chamada ftdb1. Os arquivos de banco de dados, log e catálogo do SQL Server 2005 (9.x) são movidos para novos locais na instância do servidor do SQL Server, da seguinte maneira:
O arquivo de banco de dados,
ftdb1.mdf, é movido paraC:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf.O arquivo de log,
ftdb1_log.ldf, é movido para um diretório de log na unidade de disco de log, log_drive:\log_directory\ftdb1_log.ldf.Os arquivos de catálogo que correspondem ao catálogo
sysft_cat90são movidos paraC:\temp. Depois de importados os índices em texto completo, são automaticamente colocados num ficheiro de base de dados, C:\ftrow_sysft_cat90.ndf, e o C:\temp será eliminado.
RESTORE DATABASE [ftdb1] FROM DISK = N'C:\temp\ftdb1.bak'
WITH FILE = 1,
MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',
MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',
MOVE N'sysft_cat90' TO N'C:\temp';
Anexar um banco de dados do SQL Server 2005
No SQL Server 2008 (10.0.x) e versões posteriores, um catálogo de texto completo é um conceito lógico que se refere a um grupo de índices de texto completo. O catálogo de texto completo é um objeto virtual que não pertence a nenhum grupo de arquivos. No entanto, quando você anexa um banco de dados do SQL Server 2005 (9.x) que contém arquivos de catálogo de texto completo em uma instância mais recente do servidor SQL Server, os arquivos de catálogo são anexados de seu local anterior junto com os outros arquivos de banco de dados, o mesmo que no SQL Server 2005 (9.x).
O estado de cada catálogo de texto completo anexado no SQL Server é o mesmo de quando o banco de dados foi desanexado do SQL Server 2005 (9.x). Se qualquer população de índice de texto completo tiver sido suspensa pela operação de desanexação, a população será retomada no SQL Server e o índice de texto completo ficará disponível para pesquisa de texto completo.
Se o SQL Server não conseguir encontrar um ficheiro de catálogo em texto completo, ou se o ficheiro de texto completo foi movido durante a operação de anexação sem especificar uma nova localização, o comportamento depende da opção de atualização de texto completo selecionada. Se a opção de atualização de texto completo for Importar ou Reconstruir, o catálogo de texto completo anexado será reconstruído. Se a opção de atualização de texto completo for Redefinir, o catálogo de texto completo anexado será redefinido.
Para obter mais informações sobre como desanexar e anexar um banco de dados, consulte Desanexar e anexar banco de dados (SQL Server),CREATE DATABASE,sp_attach_db e sp_detach_db.