आपका डेटाबेस शायद संगतता स्तर 80 (एसक्यूएल सर्वर 2000) के साथ सेट है और डीबी_आईडी और ओबीजेईसीटी_आईडी फ़ंक्शंस को गतिशील प्रबंधन फ़ंक्शन के पैरामीटर के रूप में उपयोग नहीं किया जा सकता है।
आपको या तो संगतता स्तर को कुछ नए में बदलना चाहिए या क्वेरी से पहले चर का उपयोग करना चाहिए:
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;