sql >> Base de Datos >  >> RDS >> Sqlserver

Error al eliminar el índice en la base de datos de SQL Azure:sintaxis incorrecta cerca de la palabra clave 'ON' (contexto de usuario =dbo)

Parece que el problema estaba precediendo el nombre del índice con el esquema (aunque juro que muchos ejemplos que he leído hacen precisamente eso).

Entonces, la sintaxis correcta del script es:

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;