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

SQL Server 2008:Seberapa aman crash CLR Stored Procedure yang memuat perpustakaan yang tidak dikelola

Karena kode ini awalnya digunakan dengan prosedur tersimpan yang diperluas, sepertinya ini adalah kode yang tidak dikelola. Bug dalam kode yang tidak dikelola dapat dengan mudah merusak proses Anda.

Integrasi CLR jauh lebih kuat daripada prosedur tersimpan yang diperluas, tetapi kode masih berjalan dalam proses, sehingga kesalahan dapat menghapus atau merusak SQL Server. (Sebagai perbandingan, secara teori, rutinitas SAFE CLR tidak akan dapat merusak SQL Server meskipun dapat menyebabkan masalah yang mengurangi ketersediaan server Anda tanpa menghapus SQL Server secara total.)

Pada dasarnya, satu-satunya cara agar SQL Server tidak crash dalam skenario ini adalah:

  1. Hindari penggunaan fungsi yang mogok.
  2. Perbaiki kode buggy.
  3. Jalankan kode dalam proses terpisah (luncurkan executable, panggil layanan Windows, panggil layanan web, dll.). Anda dapat menulis .NET DLL terkelola untuk melakukan interaksi ini. Kemungkinan besar, Anda masih perlu memuatnya TIDAK AMAN, tetapi--jika ditulis dengan benar--pada kenyataannya itu bisa sangat aman.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apakah GUID adalah garam yang baik? apakah proses registrasi/login saya ada yang cacat?

  2. Di kolom apa indeks berkerumun harus diletakkan?

  3. TSQL Shred XML - Apakah ini benar atau ada cara yang lebih baik (newbie @ shredding XML)

  4. Basis data [dbName] tidak dapat diakses. (Penjelajah Objek)

  5. TABLESAMPLE mengembalikan jumlah baris yang salah?