sql >> Database teknologi >  >> RDS >> Sqlserver

Forkert syntaks nær '(' ved kontrol af indeksfragmentering

Din database er sandsynligvis indstillet med kompatibilitetsniveau 80 (SQL Server 2000), og funktionerne DB_ID og OBJECT_ID kan ikke bruges som en parameter for dynamisk administrationsfunktion.

Du bør enten ændre kompatibilitetsniveauet til noget nyere eller bruge variabler før forespørgslen:

USE StockSystem;
GO
DECLARE
    @database_id INT = DB_ID(),
    @object_id   INT = OBJECT_ID(N'dbo.StockItems');

SELECT a.index_id, name, avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats (@database_id ,@object_id , NULL, NULL, NULL) AS a
JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id;


  1. ORA-00942:tabel eller visning findes ikke med Spring JDBC-skabelon i Spring Boot

  2. Hvordan får jeg en kolonne med fortløbende, stigende tal, uden at der mangler nogle tal?

  3. url-tekstkomprimering (ikke forkortelse) og lagring i mysql

  4. Brug triggere på nedarvede tabeller til at erstatte fremmednøgler