V SQL Server můžete použít sys.dm_os_performance_counters
zobrazení dynamické správy systému, aby se vrátil seznam funkcí označených jako zastaralé v aktuální instanci serveru SQL Server.
Chcete-li vrátit pouze zastaralé funkce, filtrujte zobrazení pouze na objekt SQLServer:Zastaralé funkce.
Zobrazení také obsahuje počítadlo, které uvádí, kolikrát byla každá zastaralá funkce nalezena od posledního spuštění serveru SQL Server. To může být užitečné pro zjištění, zda vaše aplikace stále používá nějaké zastaralé funkce.
Spuštění na SQL Server vyžaduje VIEW SERVER STATE
povolení.
Příklad 1 – Základní použití
SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features';
Když to spustím na své instanci SQL Server 2019, dostanu 254 řádků, takže je zde nebudu uvádět. Na mé instanci SQL Server 2017 dostávám 253 řádků.
Pokud zúžím výsledky pouze na dva konkrétní řádky, mohl bych získat něco takového:
SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features' AND instance_name LIKE '%timestamp%';
Výsledek:
+-------------------------------+----------------+------------------------------------+--------------+-------------+ | object_name | counter_name | instance_name | cntr_value | cntr_type | |-------------------------------+----------------+------------------------------------+--------------+-------------| | SQLServer:Deprecated Features | Usage | INSERT NULL into TIMESTAMP columns | 0 | 65792 | | SQLServer:Deprecated Features | Usage | TIMESTAMP | 1 | 65792 | +-------------------------------+----------------+------------------------------------+--------------+-------------+
Web společnosti Microsoft obsahuje úplný seznam zastaralých funkcí databázového stroje v SQL Server 2017 spolu s doporučenými akcemi, které byste měli provést u jakékoli funkce označené k ukončení podpory. Seznam je stejný jako pro SQL Server 2016.
Příklad 2 – Použití zobrazení prostřednictvím aplikace
Pokud používáte sys.dm_os_performance_counters
zobrazení v aplikaci, neměli byste používat zástupný znak hvězdička (*
) vrátit všechny sloupce ze zobrazení a funkcí dynamické správy systému (jak doporučuje společnost Microsoft). V takových případech, pokud chcete vrátit všechny sloupce, je lepší do dotazu zahrnout název každého sloupce.
Proto bychom mohli změnit předchozí příklad na následující:
SELECT object_name, counter_name, instance_name, cntr_value, cntr_type FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features';
Microsoft doporučuje, aby Azure SQL Data Warehouse a Parallel Data Warehouse vracely další sloupec s názvem pdw_node_id
, takže je také třeba mít na paměti.
Příklad 3 – Výplň
První tři sloupce používají datový typ nchar(128) . To může způsobit, že se napravo od textu vyplní mnoho mezer.
Chcete-li odstranit tyto mezery navíc, můžete použít RTRIM()
funkce (nebo TRIM()
funkce, chcete-li) v prvních třech sloupcích:
SELECT RTRIM(object_name) AS Object, RTRIM(counter_name) AS Counter, RTRIM(instance_name) AS Instance, cntr_value, cntr_type FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features';
Dokumentace Microsoft
Zde jsou odkazy na příslušnou dokumentaci na webu společnosti Microsoft:
- Dokumentace pro
sys.dm_os_performance_counters
zobrazit - Přehled objektů a čítačů, které může nástroj System Monitor použít ke sledování aktivity v počítačích s instancí SQL Server, naleznete v části Použití objektů SQL Server.
- Přehled zobrazení dynamické správy systému.
- Zastaralé funkce databázového stroje v SQL Server 2017
- Zastaralé funkce databázového stroje v SQL Server 2016 (identické se seznamem SQL Server 2017)