Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Erro ao descartar o índice no banco de dados SQL Azure:sintaxe incorreta perto da palavra-chave 'ON' (contexto do usuário =dbo)


Parece que o problema foi preceder o nome do índice com o esquema (embora eu juro que muitos exemplos que li fazem exatamente isso).

Portanto, a sintaxe de script correta é:
declare @sql nvarchar(max);
set @sql = N'';
select @sql = @sql + N'DROP INDEX ' + i.name + N' ON ' + OBJECT_SCHEMA_NAME(i.OBJECT_ID) + '.' + o.name + ';
'
FROM sys.indexes AS i INNER JOIN sys.tables AS o ON i.[object_id] = o.[object_id]
where i.name is not null and o.name is not null and i.type_desc like '%COLUMN%'
PRINT @sql;
EXEC sp_executesql @sql;