Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Use esta declaração para alterar as propriedades de um catálogo de texto completo.
Convenções sintáticas Transact-SQL
Sintaxe
ALTER FULLTEXT CATALOG catalog_name
{ REBUILD [ WITH ACCENT_SENSITIVITY = { ON | OFF } ]
| REORGANIZE
| AS DEFAULT
}
Arguments
catalog_name
Especifica o nome do catálogo a modificar. Se um catálogo com o nome especificado não existir, SQL Server devolve um erro e não realiza a operação ALTER.
REBUILD
O SQL Server Database Engine reconstrói todo o catálogo. Quando se reconstrói um catálogo, o catálogo existente é eliminado e criado um novo catálogo no seu lugar. Todas as tabelas que têm referências de indexação em texto completo estão associadas ao novo catálogo. A reconstrução reinicia os metadados de texto completo nas tabelas do sistema da base de dados.
COM ACCENT_SENSITIVITY = { ON | DESLIGADO }
Especifica se o catálogo a alterar é sensível ao acento ou insensível ao acento para indexação e consulta de texto completo.
Para determinar a definição atual da propriedade de sensibilidade ao acento de um catálogo de texto completo, use a FULLTEXTCATALOGPROPERTY função com o valor da AccentSensitivity propriedade em relação à catalog_name.
- Se a função devolver
1, o catálogo de texto completo é sensível ao acento. - Se a função devolver
0, o catálogo não é sensível ao acento.
A sensibilidade padrão do acento do catálogo e da base de dados é a mesma.
REORGANIZAR
O SQL Server Database Engine realiza uma fusão master, que envolve a fusão dos índices menores criados durante o processo de indexação num único índice grande. A fusão dos fragmentos de índice em texto completo pode melhorar o desempenho e libertar recursos de disco e memória. Se houver alterações frequentes no catálogo de texto completo, use este comando periodicamente para reorganizar o catálogo de texto completo.
REORGANIZE também otimiza as estruturas internas de índice e catálogo.
Dependendo da quantidade de dados indexados, uma fusão mestre pode demorar algum tempo a ser concluída. A fusão de uma grande quantidade de dados pode criar uma transação de longa duração, atrasando o truncamento do registo de transações durante um checkpoint. Neste caso, o registo de transações pode crescer significativamente sob o modelo de recuperação completa.
Como boa prática, certifique-se de que o seu registo de transações contém espaço suficiente para uma transação de longa duração antes de reorganizar um grande índice de texto integral numa base de dados que utilize o modelo de recuperação completo. Para mais informações, consulte Gerir o tamanho do ficheiro de registo de transações.
COMO PADRÃO
Especifica que este catálogo é o catálogo padrão. Quando cria índices em texto completo sem especificar catálogos, é utilizado o catálogo padrão. Se existir um catálogo de texto completo predefinido existente, definir esse catálogo AS DEFAULT sobrepõe-se ao padrão existente.
Permissions
Para usar ALTER FULLTEXT CATALOG, precisa de uma das seguintes permissões:
-
ALTERPermissão no catálogo de texto integral - A pertença à db_owner ou db_ddladmin funções fixas na base de dados
- A pertença ao sysadmin fixou o papel de servidor
Para usar ALTER FULLTEXT CATALOG ... AS DEFAULT, precisa ALTER de permissão no catálogo de texto completo e CREATE FULLTEXT CATALOG permissão na base de dados.
Observações
Quando executa uma REBUILD operação num catálogo de texto completo, a operação de reconstrução pausa se outra sessão tiver uma transação aberta a correr INSERT, UPDATE, ou DELETE operações em tabelas que pertencem a esse catálogo. A operação de reconstrução recomeça apenas depois de essa outra transação ser confirmada ou revertida. Pode monitorizar esta situação usando as vistas de gestão dinâmica de sys.dm_exec_requests e sys.dm_exec_sessions (DMVs). Podes ver bloqueios entre a sessão do utilizador e as sessões de reconstrução em segundo plano, com um tipo de espera .LCK_M_IS
De forma semelhante, durante uma REORGANIZE operação, pode ver o FT_MASTER_MERGE tipo de espera na sessão onde o comando está a correr. Este tipo de espera pode ocorrer quando outras sessões têm transações de longa duração que estão a fazer INSERT, UPDATE, ou DELETE operações em tabelas do mesmo catálogo de texto completo. Nos sys.dm_exec_requests DMVs e sys.dm_exec_sessions DMV, podes ver uma ou mais sessões em segundo plano com um LCK_M_IX tipo de espera e o FT_MASTER_MERGE comando. A REORGANIZE operação só termina quando esses bloqueios são libertados.
A consulta seguinte devolve sessões bloqueadas em segundo plano.
SELECT r1.session_id,
r1.blocking_session_id,
r1.wait_type,
r1.wait_resource,
r1.last_wait_type,
r1.command AS BlockedSessionCommand,
r2.command AS BlockingSessionCommand,
s1.login_name AS BlockedSessionLogin,
s2.login_name AS BlockingSessionLogin,
s1.host_name AS BlockedSessionHost,
s2.host_name AS BlockingSessionHost,
r1.status AS BlockedSessionStatus,
r2.status AS BlockingSessionStatus
FROM sys.dm_exec_requests AS r1
INNER JOIN sys.dm_exec_sessions AS s1
ON r1.session_id = s1.session_id
INNER JOIN sys.dm_exec_sessions AS s2
ON r1.blocking_session_id = s2.session_id
LEFT OUTER JOIN sys.dm_exec_requests AS r2
ON s2.session_id = r2.session_id
WHERE r1.blocking_session_id <> 0
AND r1.status = 'background'
ORDER BY r1.wait_time DESC;
Examples
O exemplo seguinte altera a AccentSensitivity propriedade do catálogo ftCatalogde texto completo por defeito, que é sensível ao acento.
Muda o catálogo para insensível ao sotaque.
USE AdventureWorks2025; GO ALTER FULLTEXT CATALOG ftCatalog REBUILD WITH ACCENT_SENSITIVITY = OFF;Verifica a sensibilidade do sotaque.
SELECT FULLTEXTCATALOGPROPERTY('ftCatalog', 'AccentSensitivity');A consulta devolve
0, o que significa que o catálogo não é sensível ao acento.