Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर 2008:अप्रबंधित पुस्तकालयों को लोड करने वाली CLR संग्रहीत कार्यविधि कितनी क्रैश-सुरक्षित है

चूंकि यह कोड मूल रूप से विस्तारित संग्रहीत प्रक्रियाओं के साथ उपयोग किया गया था, ऐसा लगता है कि यह अप्रबंधित कोड है। अप्रबंधित कोड में बग आपकी प्रक्रिया को आसानी से बंद कर सकते हैं।

सीएलआर एकीकरण विस्तारित संग्रहीत प्रक्रियाओं की तुलना में बहुत अधिक मजबूत है, लेकिन कोड अभी भी प्रक्रिया में चलता है, इसलिए त्रुटियां SQL सर्वर को नीचे या भ्रष्ट कर सकती हैं। (तुलना के लिए, सिद्धांत रूप में, एक सुरक्षित सीएलआर रूटीन SQL सर्वर को भ्रष्ट करने में सक्षम नहीं होगा, हालांकि यह समस्याएँ भी पैदा कर सकता है जो SQL सर्वर को पूरी तरह से हटाए बिना आपके सर्वर की उपलब्धता को कम कर देता है।)

मूल रूप से, इस परिदृश्य में SQL सर्वर को क्रैश न करने के एकमात्र तरीके हैं:

  1. क्रैश होने वाली कार्यक्षमता का उपयोग करने से बचें।
  2. बग्गी कोड ठीक करें।
  3. कोड को एक अलग प्रक्रिया में चलाएँ (एक निष्पादन योग्य लॉन्च करें, एक विंडोज़ सेवा को कॉल करें, एक वेब सेवा को कॉल करें, आदि)। आप इस इंटरैक्शन को करने के लिए एक प्रबंधित .NET DLL लिख सकते हैं। सबसे अधिक संभावना है, आपको अभी भी इसे UNSAFE लोड करने की आवश्यकता होगी, लेकिन--अगर इसे ठीक से लिखा गया है--वास्तव में यह काफी सुरक्षित हो सकता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर:क्या मुझे sys तालिकाओं पर info_schema तालिकाओं का उपयोग करना चाहिए?

  2. SQL सर्वर में XML को टेक्स्ट कास्ट करने में असमर्थ

  3. Microsoft SQL Server 2012 क्वेरी प्रबंधन स्टूडियो में JDBC 4.0 से अधिक लेकिन सेकंड (सेकंड) क्यों लेती है?

  4. जावा से SQL सर्वर कॉम्पैक्ट संस्करण (CE) का उपयोग कैसे करें?

  5. प्रमुख गद्देदार शून्य के साथ SQL पहचान