sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server 2008:Hvor sikker er en CLR Stored Procedure, der indlæser ikke-administrerede biblioteker

Da denne kode oprindeligt blev brugt med udvidede lagrede procedurer, lyder det som om det er uadministreret kode. Bugs i ikke-administreret kode kan nemt crashe din proces.

CLR-integration er meget mere robust end udvidede lagrede procedurer, men koden kører stadig i processen, så fejl kan fjerne eller ødelægge SQL Server. (Til sammenligning vil en SIKKER CLR-rutine i teorien ikke være i stand til at korrumpere SQL Server, selv om den kan forårsage problemer, der reducerer din servers tilgængelighed uden fuldstændig at ødelægge SQL Serveren.)

Grundlæggende er de eneste måder, hvorpå SQL Server ikke kan gå ned i dette scenarie:

  1. Undgå at bruge den funktionalitet, der går ned.
  2. Ret fejlkoden.
  3. Kør koden i en separat proces (start en eksekverbar fil, ring til en Windows-tjeneste, ring til en webservice osv.). Du kan skrive en administreret .NET DLL for at udføre denne interaktion. Mest sandsynligt skal du stadig indlæse det USIKKER, men - hvis det er skrevet korrekt - kan det i virkeligheden være ganske sikkert.


  1. Aktivering af et funktionskald i en streng i en Oracle-procedure

  2. Sådan ændres skema for alle tabeller, visninger og lagrede procedurer i MSSQL

  3. rails mysql adapter fejl

  4. Finde andelen af ​​hvert X bestående af Y i PostgreSQL?