Estou executando um script de reconstrução de índice:
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor;
DEALLOCATE TableCursor;
mas falha com o erro "Mensagem 2501, Nível 16, Estado 45, Linha 13 Não é possível localizar uma tabela ou objeto com o nome "ServiceDeploymentsTable". Verifique o catálogo do sistema."
O script é de https://gallery.technet.microsoft.com/scriptcenter/Script-for-rebuilding-all-8d079754
Tenho a sensação de que a tabela pode pertencer a um objeto diferente (como dbo ou outra coisa), mas não sei como confirmar isso ou modificar o script para lidar com isso. Ou talvez eu esteja completamente fora da base.
Como posso lidar melhor com esse erro e reconstruir todos os índices no banco de dados?