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

SQL Server 2008:Cách an toàn sự cố là một Thủ tục được lưu trữ CLR tải các thư viện không được quản lý

Vì mã này ban đầu được sử dụng với các thủ tục được lưu trữ mở rộng, có vẻ như nó là mã không được quản lý. Lỗi trong mã không được quản lý có thể dễ dàng làm hỏng quy trình của bạn.

Tích hợp CLR mạnh mẽ hơn nhiều so với các thủ tục được lưu trữ mở rộng, nhưng mã vẫn chạy trong quá trình, vì vậy lỗi có thể gỡ xuống hoặc làm hỏng SQL Server. (Để so sánh, về lý thuyết, quy trình SAFE CLR sẽ không thể làm hỏng SQL Server mặc dù thậm chí nó có thể gây ra sự cố làm giảm tính khả dụng của máy chủ của bạn mà không cần gỡ bỏ hoàn toàn SQL Server.)

Về cơ bản, các cách duy nhất để không gặp sự cố SQL Server trong trường hợp này là:

  1. Tránh sử dụng chức năng bị lỗi.
  2. Sửa mã lỗi.
  3. Chạy mã trong một quy trình riêng biệt (khởi chạy tệp thực thi, gọi dịch vụ Windows, gọi dịch vụ web, v.v.). Bạn có thể viết một DLL .NET được quản lý để thực hiện tương tác này. Nhiều khả năng bạn vẫn cần tải nó KHÔNG AN TOÀN, nhưng - nếu nó được viết đúng cách - thì trên thực tế, nó có thể khá an toàn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có thể chỉ định điều kiện trong Count () không?

  2. Chèn vào ... Hợp nhất ... Chọn (SQL Server)

  3. Chọn giá trị nếu điều kiện trong SQL Server

  4. Dữ liệu tổng hợp bảng chuyển đổi SQL

  5. Liệt kê tất cả các khóa ngoại trên một bảng trong SQL Server