Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Không sử dụng sp_depends trong SQL Server (nó không được dùng nữa)

SQL Server có một thủ tục được lưu trữ hệ thống được gọi là sp_depends trả về thông tin về sự phụ thuộc giữa các đối tượng trong cơ sở dữ liệu hiện tại.

Microsoft đã đánh dấu quy trình được lưu trữ này là không được dùng nữa, có nghĩa là quy trình đang ở chế độ bảo trì và có thể bị xóa trong phiên bản SQL Server trong tương lai. Bạn nên tránh sử dụng sp_depends trong công việc phát triển mới và bạn nên sửa đổi các ứng dụng hiện đang sử dụng nó để sử dụng sys.dm_sql_referencing_entities() hoặc sys.dm_sql_referenced_entities() thay vào đó (tùy thuộc vào việc bạn có cần tham khảo thực thể hoặc được tham chiếu các thực thể được trả lại.

sys.dm_sql_referencing_entities() chức năng quản lý động hệ thống trả về một danh sách các thực thể phụ thuộc vào thực thể đã cho. Cụ thể hơn, nó trả về tất cả các thực thể trong cơ sở dữ liệu hiện tại tham chiếu đến một thực thể khác do người dùng xác định theo tên.

sys.dm_sql_referenced_entities() Mặt khác, chức năng quản lý động hệ thống trả về danh sách tất cả các thực thể do người dùng xác định mà một thực thể cụ thể phụ thuộc vào. Cụ thể hơn, nó trả về tất cả các thực thể do người dùng xác định được tham chiếu bằng tên, trong định nghĩa của một thực thể nhất định. Bạn có thể sử dụng chức năng này cho các thực thể cơ sở dữ liệu chéo và máy chủ chéo.

Không chắc bạn có đang sử dụng sp_depends không?

Nếu bạn không chắc liệu hệ thống của mình có sử dụng sp_depends hay không , bạn luôn có thể sử dụng sys.dm_os_performance_counters tim ra. Bạn có thể sử dụng chế độ xem quản lý động hệ thống này để trả về số lần từng tính năng không dùng nữa đã gặp phải kể từ khi khởi động SQL Server. Kiểm tra Cách nhanh nhất để tìm các tính năng không dùng nữa vẫn được sử dụng trong phiên bản máy chủ SQL để biết thêm thông tin và ví dụ.

Một phương pháp phức tạp hơn là sử dụng các sự kiện mở rộng để tạo tệp nhật ký chứa thông tin bổ sung về mỗi cách sử dụng tính năng không dùng nữa. Ví dụ:bạn có thể ghi lại thông tin chẳng hạn như câu lệnh SQL có chứa tính năng không dùng nữa, người dùng đã chạy nó, thời gian nó được chạy, cơ sở dữ liệu có trong đó và hơn thế nữa. Xem Sử dụng sự kiện mở rộng để ghi nhật ký Các tính năng không dùng nữa đang được sử dụng trong Phiên bản máy chủ SQL để biết hướng dẫn từng bước về cách thực hiện điều đó.

Tham chiếu Tài liệu Microsoft

  • sp_depends
  • sys.dm_sql_referencing_entities
  • sys.dm_sql_referenced_entities
  • 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 dùng nữa trong SQL Server 2016 (giống như danh sách năm 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. LIMIT 10..20 trong SQL Server

  2. Tại sao thực thi các thủ tục được lưu trữ nhanh hơn truy vấn SQL từ một tập lệnh?

  3. Cách đặt đối chiếu của cơ sở dữ liệu trong SQL Server (T-SQL)

  4. Chuyển đổi float thành varchar trong SQL Server mà không có ký hiệu khoa học

  5. Tạo CHẾ ĐỘ XEM được tham số hóa trong SQL Server 2008