Installieren der .NET-Spracherweiterung für SQL Server unter Windows
Gilt für: SQL Server 2019 (15.x) und höhere Versionen
Erfahren Sie, wie Sie die Komponente .NET-Spracherweiterung (von C# verwendet) für SQL Server unter Windows installieren. Die .NET-Spracherweiterung gehört zu den SQL Server-Spracherweiterungen.
Hinweis
In diesem Artikel wird die Installation der .NET-Spracherweiterung für SQL Server unter Windows vorgestellt. Linux wird nicht unterstützt.
Voraussetzungen
Hinweis
Featurefunktionen und Installationsoptionen können je nach SQL Server-Version variieren. Wählen Sie in der Dropdownliste zur Versionsauswahl die entsprechende SQL Server-Version aus.
Die .NET-Spracherweiterung muss über das SQL Server-Setup installiert werden.
Die .NET-Spracherweiterung unterstützt .NET 6 und höhere Runtime-Versionen und wird nur unter Windows unterstützt.
Es ist eine Datenbank-Engine-Instanz erforderlich. Sie können nicht ausschließlich die Features der .NET-Spracherweiterung installieren, diese aber einer vorhandenen Instanz schrittweise hinzufügen.
Für die Aufrechterhaltung der Geschäftskontinuität werden Always On-Verfügbarkeitsgruppen für Spracherweiterungen unterstützt. Sie müssen auf jedem Knoten Spracherweiterungen installieren und Pakete konfigurieren. In SQL Server wird die Installation der .NET-Spracherweiterung auch in einer Failoverclusterinstanz unterstützt.
Installieren Sie SQL Server-Spracherweiterungen oder die .NET-Spracherweiterung nicht auf einem Domänencontroller. Ansonsten schlägt derjenige Teil des Setups, der die Spracherweiterungen betrifft, fehl.
Spracherweiterungen und Machine Learning Services werden standardmäßig auf Big Data-Clustern für SQL Server installiert. Wenn Sie Big Data-Cluster verwenden, müssen Sie die Schritte in diesem Artikel nicht ausführen. Weitere Informationen finden Sie unter Ausführen von Python- und R-Skripts mit Machine Learning Services auf Big Data-Clustern von SQL Server 2019.
Wichtig
Stellen Sie nach Abschluss des Setups sicher, dass Sie die in diesem Artikel beschriebenen Schritte nach der Konfiguration durchführen. Zu diesen Schritten gehören das Aktivieren von SQL Server für die Verwendung von externem Code und das Hinzufügen von Konten, die SQL Server für das Ausführen Ihres C#-Codes benötigt. Konfigurationsänderungen erfordern in der Regel einen Neustart der Instanz oder einen Neustart des Launchpad-Diensts.
.NET-Runtime
.NET 6 mit langfristigem Support (LTS) ist die früheste unterstützte Runtime. Sie können die .NET-Runtime für Windows herunterladen. Linux wird nicht unterstützt.
Wenn Sie die neueste LTS-Version der .NET-Runtime verwenden möchten, müssen Sie die .NET-Spracherweiterung neu kompilieren.
Abrufen der Installationsmedien
Der Downloadspeicherort für SQL Server ist abhängig von der Edition.
SQL Server-Editionen Enterprise, Standard und Express. Diese Editionen sind für die Verwendung in der Produktion lizenziert. Wenden Sie sich für die Installation von Medien für die Editionen Enterprise und Standard an Ihren Softwareanbieter. Einkaufsinformationen und ein Verzeichnis mit Microsoft-Partner finden Sie auf der Einkaufswebsite von Microsoft.
Ausführen von 'Setup'
Bei lokalen Installationen müssen Sie das Setup als Administrator ausführen. Wenn Sie SQL Server von einer Remotefreigabe installieren, müssen Sie ein Domänenkonto verwenden, das Lese- und Ausführungsberechtigungen auf der Remotefreigabe hat.
Starten Sie den Setup-Assistenten für SQL Server.
Klicken Sie auf der Registerkarte Installation auf Neue eigenständige SQL Server-Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation.
Wählen Sie diese Optionen auf der Seite Funktionsauswahl aus:
Datenbank-Engine-Dienste: Sie müssen eine Instanz der Datenbank-Engine installieren, um Spracherweiterungen mit SQL Server verwenden zu können. Sie können entweder eine Standardinstanz oder eine benannte Instanz verwenden.
Machine Learning Services und Spracherweiterungen: Mit dieser Option wird die Spracherweiterungskomponente installiert, die die C#-Codeausführung unterstützt.
Stellen Sie auf der Seite Installationsbereit sicher, dass die folgenden Auswahlmöglichkeiten aktiviert sind, und klicken Sie auf Installieren.
- -Datenbank-Engine-Dienste
- Machine Learning-Dienste und -Spracherweiterungen
Notieren Sie sich den Speicherort des Ordners unter dem Pfad
..\Setup Bootstrap\Log
, in dem die Konfigurationsdateien gespeichert werden. Nach Abschluss des Setups können Sie die installierten Komponenten in der Zusammenfassungsdatei überprüfen.Wenn Sie nach Abschluss des Setups dazu aufgefordert werden, starten Sie jetzt den Computer neu. Achten Sie unbedingt darauf, nach dem Abschluss des Setup-Vorgangs die vom Installations-Assistenten angezeigte Meldung zu lesen. Weitere Informationen finden Sie unter View and Read SQL Server Setup Log Files.
Registrieren der Spracherweiterung
Führen Sie die folgenden Schritte aus, um die .NET-Spracherweiterung herunterzuladen und zu registrieren, die für die Ausführung von C#-Code verwendet wird.
Laden Sie die Datei
dotnet-core-CSharp-lang-extension-windows-release.zip
aus der .NET-Spracherweiterung für das GitHub-Repository von SQL Server herunter. Laden Sie die neueste Windows-dotnet-core-CSharp-lang-extension-windows-release.zip
-Datei herunter. Wenn Sie eine neuere .NET-Runtime verwenden möchten, müssen Siedotnet-core-CSharp-lang-extension
aus GitHub-Quellcode kompilieren.Verwenden Sie SQL Server Management Studio (SSMS) oder Azure Data Studio, um eine Verbindung mit Ihrer SQL Server-Instanz herzustellen, und führen Sie den folgenden Transact-SQL-Befehl (T-SQL) aus, um die .NET-Spracherweiterung mit CREATE EXTERNAL LANGUAGE zu registrieren.
Ändern Sie den Pfad in dieser Anweisung, um den Speicherort der heruntergeladenen ZIP-Spracherweiterungsdatei (
dotnet-core-CSharp-lang-extension-windows-release.zip
) anzugeben.
CREATE EXTERNAL LANGUAGE [dotnet] FROM (CONTENT = N'C:\path\to\dotnet-core-CSharp-lang-extension-windows-release.zip', FILE_NAME = 'dotnetextension.dll'); GO
Starten Sie Launchpad neu.
Öffnen Sie den SQL Server-Konfigurations-Manager.
Klicken Sie unter „SQL Server-Dienste“ mit der rechten Maustaste auf „SQL Server-Launchpad“, und wählen Sie Neu starten aus.
Starten Sie den Dienst neu.
Starten Sie nach Abschluss der Installation die Datenbank-Engine neu, bevor Sie mit dem nächsten Schritt zum Aktivieren der Skriptausführung fortfahren.
Durch den Neustart des Diensts wird auch der zugehörige SQL Server-Launchpad-Dienst automatisch neu gestartet.
Sie können den Dienst neu starten, indem Sie mit der rechten Maustaste auf den Befehl Neu starten für die Instanz in SSMS klicken, den Bereich Dienste in der Systemsteuerung oder den SQL Server-Konfigurations-Manager verwenden.
Aktivieren der Skriptausführung
Öffnen Sie SQL Server Management Studio. Stellen Sie eine Verbindung mit der Instanz her, auf der Sie die Spracherweiterungen installiert haben. Wählen Sie Neue Abfrage aus, um ein Abfragefenster zu öffnen, und führen Sie den folgenden Befehl aus:
EXEC sp_configure;
Die Funktion ist standardmäßig deaktiviert (
value
ist0
). Sie muss explizit von einem Administrator aktiviert werden, damit Sie C#-Code ausführen können.Führen Sie die folgende Anweisung aus, um die externe Funktion für die Skripterstellung zu aktivieren:
EXEC sp_configure 'external scripts enabled', 1; GO RECONFIGURE WITH OVERRIDE
Führen Sie kein zweites Mal eine Neukonfiguration für Spracherweiterungen aus, wenn Sie die Funktion bereits für Machine Learning Services aktiviert haben. Die zugrunde liegende Erweiterungsplattform unterstützt beides.
Registrieren einer externen Sprache
Für jede Datenbank, in der Sie Spracherweiterungen verwenden möchten, müssen Sie die externe Sprache über den Befehl CREATE EXTERNAL LANGUAGE registrieren.
Im folgenden Beispiel wird eine externe Sprache mit dem Namen dotnet
einer Datenbank auf SQL Server unter Windows hinzugefügt.
CREATE EXTERNAL LANGUAGE [dotnet]
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'dotnetextension.dll');
GO
Weitere Informationen finden Sie unter CREATE EXTERNAL LANGUAGE.
Überprüfen der Installation
Überprüfen Sie den Installationsstatus der Instanz in den Setupprotokollen.
Gehen Sie folgendermaßen vor, um zu überprüfen, ob alle zum Starten eines externen Skripts verwendeten Komponenten ausgeführt werden.
Öffnen Sie in SQL Server Management Studio oder in Azure Data Studio ein neues Abfragefenster, und führen Sie die folgende Anweisung aus:
EXEC sp_configure 'external scripts enabled';
run_value
ist jetzt auf1
festgelegt.Öffnen Sie den Bereich Dienste oder den SQL Server-Konfigurations-Manager, und überprüfen Sie, ob der SQL Server-Launchpad-Dienst ausgeführt wird. Sie sollten über einen Dienst für jede Datenbank-Engine-Instanz verfügen, auf der Spracherweiterungen installiert sind. Weitere Informationen zum Dienst finden Sie unter Erweiterbarkeitsarchitektur in SQL Server Spracherweiterungen.
Zusätzliche Konfiguration
Wenn der Überprüfungsschritt erfolgreich war, können Sie C#-Code aus SQL Server Management Studio, Azure Data Studio, Visual Studio Code oder einem anderen Client ausführen, der T-SQL-Anweisungen an den Server senden kann.
Überprüfen Sie die zusätzlichen Konfigurationsschritte in diesem Abschnitt, wenn beim Ausführen des Befehls ein Fehler aufgetreten ist. Möglicherweise müssen Sie für den Dienst oder die Datenbank zusätzliche geeignete Konfigurationen vornehmen.
Auf Instanzebene kann eine zusätzliche Konfiguration Folgendes umfassen:
- Firewallkonfiguration für SQL Server- Machine Learning Services
- Aktivieren oder Deaktivieren eines Servernetzwerkprotokolls
- Konfigurieren der Serverkonfigurationsoption „Remotezugriff“
- Erstellen von Anmeldeinformationen für SQLRUserGroup
Für die Datenbank benötigen Sie möglicherweise die folgenden Konfigurationsupdates:
- Erteilen Sie Datenbankbenutzern die Berechtigung zum Ausführen von Python- und R-Skripts mit SQL Server Machine Learning Services
- Benutzern die Berechtigung zum Ausführen einer bestimmten Sprache erteilen
Hinweis
Ob eine zusätzliche Konfiguration erforderlich ist, hängt vom Sicherheitsschema, in dem Sie SQL Server installiert haben, sowie von Ihren Erwartungen bezüglich des Herstellens einer Verbindung mit der Datenbank und dem Ausführen externer Skripts seitens der Benutzer ab.
Empfohlene Optimierungen
Da nun alles funktioniert, möchten Sie möglicherweise auch zur Unterstützung der .NET-Spracherweiterung den Server optimieren.
Optimieren des Servers für die .NET-Spracherweiterung
Die Standardeinstellungen für das SQL Server-Setup dienen zur Optimierung des Lastenausgleichs des Servers für eine Vielzahl von Diensten, die von der Datenbank-Engine unterstützt werden, einschließlich ETL-Prozesse (Extrahieren, Transformieren und Laden), Reporting, Überwachung und Anwendungen, die SQL Server-Daten verwenden. Daher können in den Standardeinstellungen Ressourcen für Spracherweiterungen eingeschränkt oder gedrosselt sein, insbesondere für speicherintensive Vorgänge.
Es wird empfohlen, dass Sie zum Konfigurieren eines externen Ressourcenpools den SQL Server-Resource Governor verwenden, um sicherzustellen, dass Spracherweiterungsaufgaben über die entsprechende Priorität und die nötigen Ressourcen verfügen. Eventuell ist es auch sinnvoll, die Größe des Speichers zu ändern, der der SQL Server-Datenbank-Engine zugewiesen ist, oder die Anzahl der Konten zu erhöhen, die unter dem SQL Server-Launchpad-Dienst ausgeführt werden.
Informationen zum Konfigurieren eines Ressourcenpools zum Verwalten externer Ressourcen finden Sie unter CREATE EXTERNAL RESOURCE POOL (Transact-SQL).
Informationen zum Ändern des für die Datenbank reservierten Arbeitsspeichers finden Sie unter Konfigurationsoptionen für den Serverarbeitsspeicher.
Wenn Sie die Standard Edition verwenden und nicht über den Resource Governor verfügen, können Sie zum Verwalten von Serverressourcen dynamische Verwaltungssichten (Dynamic Management Views, DMVs) und erweiterte Ereignisse sowie die Windows-Ereignisüberwachung verwenden.
Nächster Schritt
C#-Entwickler können mit einigen einfachen Beispielen loslegen und die Grundlagen der Funktionen von C# unter SQL Server kennenlernen. Informationen zum nächsten Schritt finden Sie unter dem folgenden Link: