Trong SQL Server, bạn có thể sử dụng sys.dm_os_performance_counters
chế độ xem quản lý động hệ thống để trả về danh sách các tính năng được chỉ định là không được dùng nữa trong phiên bản SQL Server hiện tại.
Để chỉ trả lại các tính năng không dùng nữa, hãy lọc chế độ xem thành chỉ đối tượng SQLServer:Deprecated Features.
Dạng xem cũng bao gồm một bộ đếm liệt kê số lần từng tính năng không dùng nữa đã gặp phải kể từ khi SQL Server khởi động lần cuối. Điều này có thể hữu ích cho việc xác định xem ứng dụng của bạn có còn đang sử dụng bất kỳ tính năng không dùng nữa hay không.
Chạy điều này trên SQL Server yêu cầu VIEW SERVER STATE
sự cho phép.
Ví dụ 1 - Cách sử dụng cơ bản
SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features';
Khi tôi chạy điều đó trên phiên bản SQL Server 2019 của mình, tôi nhận được 254 hàng, vì vậy tôi sẽ không liệt kê chúng ở đây. Trên phiên bản SQL Server 2017 của tôi, tôi nhận được 253 hàng.
Nếu tôi thu hẹp kết quả xuống chỉ còn hai hàng cụ thể, tôi có thể nhận được một cái gì đó như sau:
SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features' AND instance_name LIKE '%timestamp%';
Kết quả:
+-------------------------------+----------------+------------------------------------+--------------+-------------+ | 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 | +-------------------------------+----------------+------------------------------------+--------------+-------------+
Trang web của Microsoft có danh sách đầy đủ các tính năng của công cụ cơ sở dữ liệu không dùng nữa trong SQL Server 2017, cùng với hành động được đề xuất mà bạn nên thực hiện đối với bất kỳ tính năng nào được đánh dấu là không dùng nữa. Danh sách này giống với danh sách dành cho SQL Server 2016.
Ví dụ 2 - Sử dụng Chế độ xem qua ứng dụng
Nếu bạn đang sử dụng sys.dm_os_performance_counters
xem trong một ứng dụng, bạn nên tránh sử dụng ký tự đại diện dấu hoa thị (*
) để trả về tất cả các cột từ các chế độ xem và chức năng quản lý động hệ thống (theo lời khuyên của Microsoft). Trong những trường hợp như vậy, nếu bạn muốn trả lại tất cả các cột, tốt hơn nên đưa từng tên cột vào trong truy vấn.
Do đó, chúng ta có thể thay đổi ví dụ trước thành ví dụ sau:
SELECT object_name, counter_name, instance_name, cntr_value, cntr_type FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:Deprecated Features';
Microsoft khuyên rằng Kho dữ liệu Azure SQL và Kho dữ liệu song song trả về một cột bổ sung, được gọi là pdw_node_id
, vì vậy đó cũng là điều cần lưu ý.
Ví dụ 3 - Phần đệm
Ba cột đầu tiên sử dụng kiểu dữ liệu nchar (128) . Điều này có thể khiến nhiều khoảng trắng được đệm vào bên phải văn bản.
Để loại bỏ khoảng trắng thừa này, bạn có thể sử dụng RTRIM()
hàm (hoặc TRIM()
nếu bạn thích) trên ba cột đầu tiên:
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';
Tài liệu Microsoft
Dưới đây là các liên kết đến tài liệu liên quan trên trang web của Microsoft:
- Tài liệu cho
sys.dm_os_performance_counters
xem - Để biết tổng quan về các đối tượng và bộ đếm có thể được System Monitor sử dụng để giám sát hoạt động trong máy tính chạy phiên bản SQL Server, hãy xem mục Sử dụng đối tượng SQL Server.
- Tổng quan về Chế độ xem Quản lý Động của Hệ thống.
- Các tính năng của Công cụ cơ sở dữ liệu không được dùng nữa trong SQL Server 2017
- Các tính năng của Công cụ cơ sở dữ liệu không được chấp nhận trong SQL Server 2016 (giống với danh sách SQL Server 2017)