sql >> Databáze >  >> RDS >> Sqlserver

Nesprávná syntaxe poblíž '(' při kontrole fragmentace indexu

Vaše databáze je pravděpodobně nastavena na úroveň kompatibility 80 (SQL Server 2000) a funkce DB_ID a OBJECT_ID nelze použít jako parametr pro funkci dynamické správy.

Před dotazem byste měli buď změnit úroveň kompatibility na něco novějšího, nebo použít proměnné:

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-00604:došlo k chybě na úrovni rekurzivního SQL 1

  2. Snadné nastavení webového serveru pomocí XAMPP

  3. Předání datatable do uložené procedury

  4. Navrhovaný způsob, jak spustit více příkazů SQL v pythonu?