relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Como o aviso aponta, você tem um índice na coluna
CityDesc
chamadoCityDes
. Os índices no SQL Server estão limitados a um máximo de 900 bytes por linha em qualquer versão do SQL Server anterior a 2016 e ainda apenas 900 bytes para índices clusterizados e um máximo de 1.700 bytes para índices não clusterizados para a versão 2016 e posterior.O
NVARCHAR
tipo de dados consome duas vezes mais bytes que o comprimento que você define nele (aproximadamente). Quando seuCityDesc
campo tinha apenasNVARCHAR(300)
o comprimento 300 x 2 = 600 < 900 e, portanto, era indexável. Agora você está tentando aumentar o comprimento para 500 e 500 x 2 = 1.000 > 900, portanto, excedendo o limite de tamanho do índice, tornando-o não indexável, daí o aviso.Suas opções são continuar com a alteração que eliminará o índice conforme especificado no aviso ou escolher um tamanho menor para sua coluna, como
NVARCHAR(400)
, que manterá o índice no lugar.