sql >> Database >  >> RDS >> Sqlserver

Onjuiste syntaxis in de buurt van '(' bij het controleren van indexfragmentatie

Uw database is waarschijnlijk ingesteld met compatibiliteitsniveau 80 (SQL Server 2000) en de functies DB_ID en OBJECT_ID kunnen niet worden gebruikt als parameter voor de dynamische beheerfunctie.

U moet het compatibiliteitsniveau wijzigen in iets nieuwer of variabelen gebruiken voordat u een zoekopdracht uitvoert:

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. php-mysql-versie conflicteert met Mysql-server

  2. MySQL - Selecteren hoeveel dagen oud een veld is

  3. Grondbeginselen van tabeluitdrukkingen, deel 13 - Inline tabelgewaardeerde functies, vervolg

  4. NULL-parameters niet toestaan ​​voor opgeslagen procedures in MySQL/MariaDB