Aangezien deze code oorspronkelijk werd gebruikt met uitgebreide opgeslagen procedures, klinkt het alsof het onbeheerde code is. Bugs in onbeheerde code kunnen uw proces gemakkelijk laten crashen.
CLR-integratie is veel robuuster dan uitgebreide opgeslagen procedures, maar de code wordt nog steeds tijdens het proces uitgevoerd, dus fouten kunnen SQL Server uitschakelen of beschadigen. (Ter vergelijking:in theorie kan een SAFE CLR-routine SQL Server niet beschadigen, hoewel het zelfs problemen kan veroorzaken die de beschikbaarheid van uw server verminderen zonder de SQL Server volledig uit te schakelen.)
Kortom, de enige manieren om SQL Server niet te laten crashen in dit scenario zijn:
- Vermijd het gebruik van de functionaliteit die vastloopt.
- Repareer de buggycode.
- Voer de code uit in een afzonderlijk proces (start een uitvoerbaar bestand, bel een Windows-service, bel een webservice, enz.). U kunt een beheerde .NET DLL schrijven om deze interactie uit te voeren. Hoogstwaarschijnlijk zult u het nog steeds ONVEILIG moeten laden, maar - als het correct is geschreven - kan het in werkelijkheid best veilig zijn.