Databaseobjecten bouwen met CLR-integratie (Common Language Runtime)
van toepassing op:SQL Server-
U kunt databaseobjecten bouwen met behulp van de SQL Server-integratie met de .NET Framework Common Language Runtime (CLR). Beheerde code die in SQL Server wordt uitgevoerd, wordt een CLR-routine-genoemd. Deze routines zijn onder andere:
- Door de gebruiker gedefinieerde scalaire functies (scalaire UDF's)
- Door de gebruiker gedefinieerde functies (TVF's) met tabelwaarde
- Door de gebruiker gedefinieerde procedures (UDF's)
- Door de gebruiker gedefinieerde triggers
CLR-routines hebben dezelfde structuur in beheerde code. Ze worden toegewezen aan openbare, statische methoden (gedeeld in Visual Basic .NET) van een klasse. Naast routines kunnen door de gebruiker gedefinieerde typen (UDT's) en door de gebruiker gedefinieerde statistische functies ook worden gedefinieerd met behulp van .NET Framework. UDF's en door de gebruiker gedefinieerde aggregaties worden toegewezen aan volledige .NET Framework-klassen.
Elk type .NET Framework-routine heeft een Transact-SQL-declaratie en kan overal in SQL Server worden gebruikt dat het Transact-SQL equivalent kan worden gebruikt. Scalaire UDF's kunnen bijvoorbeeld worden gebruikt in elke scalaire expressie. Een TVF kan in elke FROM
component worden gebruikt. Een procedure kan worden aangeroepen in een EXEC
instructie of worden aangeroepen vanuit een clienttoepassing.
Uitvoering van een CLR-object (door de gebruiker gedefinieerde functie, door de gebruiker gedefinieerd type of trigger) op de algemene taalruntime kan plaatsvinden op meerdere threads (parallel plan), als de queryoptimalisatie besluit dat dit nuttig is. Als een door de gebruiker gedefinieerde functie echter toegang heeft tot gegevens, wordt de uitvoering uitgevoerd op een serieel plan.
De volgende tabel bevat de artikelen die in deze sectie worden behandeld.
Artikel | Beschrijving |
---|---|
Aan de slag met CLR-integratie | Biedt een kort overzicht van de bibliotheken en naamruimten die nodig zijn voor het compileren van objecten met behulp van CLR-integratie met SQL Server. Bevat een voorbeeld 'Hallo wereld' CLR-opgeslagen procedure. |
ondersteunde .NET Framework-bibliotheken | Bevat informatie over de .NET Framework-bibliotheken die worden ondersteund door CLR-integratie. |
beperkingen voor CLR-integratieprogrammeermodel | Bevat informatie over beperkingen voor CLR-integratieprogrammeringsmodellen. |
SQL Server-gegevenstypen in .NET Framework | Een overzicht van SQL Server-gegevenstypen en de bijbehorende .NET Framework-equivalenten. |
CLR-integratie: aangepaste kenmerken voor CLR-routines | Bevat informatie over aangepaste kenmerken van CLR-integratie. |
door de gebruiker gedefinieerde CLR-functies | Beschrijft hoe u de verschillende typen CLR-functies implementeert en gebruikt: tabelwaarde, scalaire en door de gebruiker gedefinieerde statistische functies. |
door de gebruiker gedefinieerde CLR-typen | Hierin wordt beschreven hoe u door de gebruiker gedefinieerde CLR-typen implementeert en gebruikt. |
opgeslagen CLR-procedures | Beschrijft hoe u opgeslagen CLR-procedures implementeert en gebruikt. |
CLR-triggers | Beschrijft hoe u CLR-triggers implementeert en gebruikt. |