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à:
- Tránh sử dụng chức năng bị lỗi.
- Sửa mã lỗi.
- 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.