Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Membuat Daftar Fitur Usang dalam Instance SQL Server menggunakan T-SQL

Di SQL Server, Anda dapat menggunakan sys.dm_os_performance_counters tampilan manajemen dinamis sistem untuk mengembalikan daftar fitur yang ditetapkan sebagai tidak digunakan lagi dalam contoh SQL Server saat ini.

Untuk mengembalikan fitur yang tidak digunakan lagi, filter tampilan ke objek SQLServer:Deprecated Features saja.

Tampilan juga mencakup penghitung yang mencantumkan berapa kali setiap fitur usang ditemui sejak SQL Server terakhir kali dimulai. Ini dapat membantu untuk mengidentifikasi apakah aplikasi Anda masih menggunakan fitur yang tidak digunakan lagi.

Menjalankan ini di SQL Server memerlukan VIEW SERVER STATE izin.

Contoh 1 – Penggunaan Dasar

SELECT *
FROM sys.dm_os_performance_counters   
WHERE object_name = 'SQLServer:Deprecated Features';

Ketika saya menjalankannya pada contoh SQL Server 2019 saya, saya mendapatkan 254 baris, jadi saya tidak akan mencantumkannya di sini. Pada contoh SQL Server 2017 saya, saya mendapatkan 253 baris.

Jika saya mempersempit hasil menjadi hanya dua baris tertentu, saya mungkin mendapatkan sesuatu seperti ini:

SELECT *
FROM sys.dm_os_performance_counters   
WHERE object_name = 'SQLServer:Deprecated Features'
AND instance_name LIKE '%timestamp%';

Hasil:

+-------------------------------+----------------+------------------------------------+--------------+-------------+
| 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       |
+-------------------------------+----------------+------------------------------------+--------------+-------------+

Situs web Microsoft memiliki daftar lengkap fitur mesin basis data yang tidak digunakan lagi di SQL Server 2017, bersama dengan tindakan yang disarankan yang harus Anda ambil untuk fitur apa pun yang ditandai untuk dihentikan. Daftarnya sama dengan daftar untuk SQL Server 2016.

Contoh 2 – Menggunakan Tampilan melalui Aplikasi

Jika Anda menggunakan sys.dm_os_performance_counters tampilan dalam aplikasi, Anda harus menghindari penggunaan wildcard asterisk (* ) untuk mengembalikan semua kolom dari tampilan dan fungsi manajemen dinamis sistem (seperti yang disarankan oleh Microsoft). Dalam kasus seperti itu, jika Anda ingin mengembalikan semua kolom, sebaiknya sertakan setiap nama kolom dalam kueri.

Oleh karena itu, kita dapat mengubah contoh sebelumnya menjadi berikut ini:

SELECT
  object_name, 
  counter_name, 
  instance_name, 
  cntr_value, 
  cntr_type
FROM sys.dm_os_performance_counters   
WHERE object_name = 'SQLServer:Deprecated Features';

Microsoft menyarankan agar Azure SQL Data Warehouse dan Parallel Data Warehouse mengembalikan kolom tambahan, yang disebut pdw_node_id , jadi itu juga yang perlu diingat.

Contoh 3 – Padding

Tiga kolom pertama menggunakan tipe data nchar(128) . Hal ini dapat menyebabkan banyak spasi kosong di sebelah kanan teks.

Untuk menghilangkan spasi ekstra ini, Anda dapat menggunakan RTRIM() fungsi (atau TRIM() fungsi jika Anda mau) pada tiga kolom pertama:

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';

Dokumentasi Microsoft

Berikut adalah tautan ke dokumentasi yang relevan di situs web Microsoft:

  • Dokumentasi untuk sys.dm_os_performance_counters lihat
  • Untuk ikhtisar objek dan penghitung yang dapat digunakan oleh Monitor Sistem untuk memantau aktivitas di komputer yang menjalankan instance SQL Server, lihat Menggunakan Objek SQL Server.
  • Ikhtisar Tampilan Manajemen Dinamis Sistem.
  • Fitur Mesin Database yang Tidak Digunakan Lagi di SQL Server 2017
  • Fitur Mesin Database yang Tidak Digunakan Lagi di SQL Server 2016 (identik dengan daftar SQL Server 2017)

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui nilai kunci utama menggunakan kerangka kerja entitas

  2. GROUP BY untuk menggabungkan/menyatukan kolom

  3. Kepatuhan GDPR dan SQL Server Anda

  4. Pernyataan SQL GROUP BY CASE dengan fungsi agregat

  5. SSMS Kini Hadir dengan Azure Data Studio