Sichere Integration von KI-Modellen und externen Diensten
SQL Server 2025 bietet systemeigene Unterstützung für die Verbindung mit externen KI-Modellen und Diensten direkt aus T-SQL. Diese Integration beseitigt die Komplexität der Verwaltung separater Infrastruktur und gleichzeitig die Aufrechterhaltung von Sicherheits- und Compliancestandards auf Unternehmensniveau.
Die Möglichkeit, SQL Server mit externen AI-Diensten zu verbinden, bedeutet, dass Sie Modelle aus Azure OpenAI, benutzerdefinierteN ONNX-Modellen oder einem REST-basierten KI-Endpunkt verwenden können, ohne Ihre Daten aus der Datenbank zu verschieben. Dieser Ansatz sorgt dafür, dass Ihre Daten sicher bleiben, Die Latenz reduziert und Ihre Anwendungsarchitektur vereinfacht wird, indem KI-Vorgänge auf Ihrer Datenplattform zentralisiert werden.
Herstellen einer Verbindung mit externen KI-Modellen mithilfe von REST-APIs
SQL Server 2025 basiert auf der sp_invoke_external_rest_endpoint des Systems gespeicherten Prozedur (eingeführt in SQL Server 2022), um die Integration mit KI-Diensten zu ermöglichen. Diese Funktion ermöglicht es Ihnen, REST-APIs direkt aus T-SQL für die Integration in KI-Dienste wie Azure OpenAI, Microsoft Foundry und benutzerdefinierte KI-Endpunkte aufzurufen, ohne den Datenbankkontext zu verlassen.
Aufrufen von REST-Endpunkten für KI-Ableitung
Das grundlegende Muster zum Aufrufen eines externen KI-Diensts umfasst das Erstellen einer JSON-Nutzlast und das Senden an einen REST-Endpunkt:
DECLARE @url NVARCHAR(4000) = N'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';
DECLARE @payload NVARCHAR(MAX) = JSON_OBJECT('input': N'SQL Server 2025 AI capabilities');
DECLARE @response NVARCHAR(MAX);
DECLARE @ret INT;
EXEC @ret = sp_invoke_external_rest_endpoint
@url = @url,
@method = 'POST',
@credential = [MyAzureOpenAICredential],
@payload = @payload,
@response = @response OUTPUT;
-- Extract the embedding from the response
DECLARE @embedding VECTOR(1536) = JSON_QUERY(@response, '$.result.data[0].embedding');
SELECT @embedding AS generated_embedding;
Dieser Code sendet eine Textzeichenfolge an den Einbettungsendpunkt von Azure OpenAI und ruft eine Vektoreinbettung ab. Die sp_invoke_external_rest_endpoint Prozedur verarbeitet die Authentifizierung mithilfe einer datenbankbezogenen Anmeldeinformationen, führt die HTTP-Anforderung aus und gibt die Antwort als JSON zurück. Die Einbettung wird dann mithilfe von JSON_QUERY extrahiert und in den Vektordatentyp umgewandelt, um gespeichert oder weiterverarbeitet zu werden.
Sicheres Verwenden von Datenbankanmeldeinformationen
Um externe Dienste sicher aufzurufen, können Sie Datenbankspezifische Anmeldeinformationen erstellen, die Authentifizierungsinformationen speichern.
-- Create a credential for Azure OpenAI
CREATE DATABASE SCOPED CREDENTIAL [MyAzureOpenAICredential]
WITH IDENTITY = 'HTTPEndpointHeaders',
SECRET = '{"api-key":"your-api-key-here"}';
Diese Anmeldeinformationen speichern den API-Schlüssel sicher in SQL Server und können in REST-Endpunktaufrufen referenziert werden. Die Anmeldeinformationen sind verschlüsselt und nur für autorisierte Benutzer zugänglich, um sicherzustellen, dass vertrauliche Authentifizierungsinformationen nicht im Anwendungscode verfügbar gemacht werden.
Verwalten externer KI-Modelle mit CREATE EXTERNAL MODEL
SQL Server 2025 führt neue Syntax zum Verwalten von KI-Modelldefinitionen direkt in der Datenbank ein. Mit der CREATE EXTERNAL MODEL Anweisung können Sie Modellendpunkte, Authentifizierungsmethoden und Zwecke auf zentralisierte, wiederverwendbare Weise definieren.
Definieren externer Modellobjekte
Erstellen Sie ein externes Modellobjekt, um die Verbindungsdetails für einen KI-Dienst zu kapseln:
CREATE EXTERNAL MODEL Ada2Embeddings
WITH (
LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'text-embedding-ada-002',
CREDENTIAL = [MyAzureOpenAICredential]
);
Dadurch wird eine wiederverwendbare Modelldefinition erstellt Ada2Embeddings , die auf ein Azure OpenAI-Einbettungsmodell verweist. Indem Sie das Modell einmal definieren, können Sie es in der gesamten Datenbank verwenden, ohne Verbindungsdetails zu wiederholen, wodurch die Wartung vereinfacht und das Risiko von Konfigurationsfehlern verringert wird.
Generieren von Einbettungen mit externen Modellen
Nachdem ein externes Modell definiert wurde, können Sie es mit der AI_GENERATE_EMBEDDINGS Funktion verwenden:
DECLARE @text NVARCHAR(MAX) = N'SQL Server 2025 enables AI-powered applications';
DECLARE @embedding VECTOR(1536) = AI_GENERATE_EMBEDDINGS(@text USE MODEL Ada2Embeddings);
INSERT INTO documents (title, content, embedding)
VALUES (N'Getting Started', @text, @embedding);
Dieser Code generiert eine Einbettung für den bereitgestellten Text mithilfe des Ada2Embeddings-Modells und speichert ihn in der Dokumenttabelle. Die AI_GENERATE_EMBEDDINGS Funktion abstrahiert die Komplexität der Erstellung von REST-Aufrufen und Analysieren von Antworten und stellt eine einfache, SQL-native Methode zum Generieren von Einbettungen bereit.
Ändern und Entfernen externer Modelle
Sie können externe Modelldefinitionen aktualisieren oder entfernen, wenn sich ihre Anforderungen ändern:
-- Alter an existing external model
ALTER EXTERNAL MODEL Ada2Embeddings
SET LOCATION = 'https://newendpoint.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15';
-- Drop an external model when no longer needed
DROP EXTERNAL MODEL Ada2Embeddings;
Mit der ALTER EXTERNAL MODEL Anweisung können Sie Modellkonfigurationen aktualisieren, ohne abhängige Objekte neu zu erstellen.
DROP EXTERNAL MODEL entfernt die Definition sauber aus der Datenbank, wenn ein Modell nicht mehr benötigt wird.
Implementieren sicherer Authentifizierungsmuster
Bei der Integration in externe Dienste bietet SQL Server 2025 mehrere Authentifizierungsmechanismen, um einen sicheren, kompatiblen Zugriff auf KI-Dienste sicherzustellen.
Verwenden von verwalteten Identitäten mit Microsoft Entra
Verwaltete Identitäten vermeiden die Notwendigkeit, Anmeldeinformationen mithilfe der Identitätsinfrastruktur von Azure zu speichern. Wenn SQL Server von Azure Arc aktiviert ist, können Sie verwaltete Identitäten sowohl für eingehende als auch für ausgehende Verbindungen verwenden:
-- Create a credential using managed identity
CREATE DATABASE SCOPED CREDENTIAL [AzureOpenAIManagedIdentity]
WITH IDENTITY = 'Managed Identity';
-- Use the managed identity credential with external models
CREATE EXTERNAL MODEL SecureEmbeddingModel
WITH (
LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/text-embedding-ada-002/embeddings?api-version=2023-05-15',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'text-embedding-ada-002',
CREDENTIAL = [AzureOpenAIManagedIdentity]
);
Bei diesem Ansatz wird die verwaltete Identität verwendet, die Ihrer SQL Server-Instanz für die Authentifizierung zugewiesen ist, ohne dass API-Schlüssel oder Kennwörter verwaltet werden müssen. Die Azure-Plattform übernimmt die Rotation der Anmeldeinformationen und die Zugriffsverwaltung, wodurch Sicherheitsrisiken und der Verwaltungsaufwand reduziert werden.
Integration mit Foundry-Tools
SQL Server 2025 ist in die vollständige Suite von Foundry Tools integriert und ermöglicht KI-Szenarien direkt aus Ihrer Datenbank.
Herstellen einer Verbindung mit dem Azure OpenAI-Dienst
Azure OpenAI bietet Zugriff auf Sprachmodelle wie GPT-4, GPT-3.5 und Einbettungsmodelle:
-- Create a model for GPT-4
CREATE EXTERNAL MODEL GPT4Model
WITH (
LOCATION = 'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'gpt-4',
CREDENTIAL = [MyAzureOpenAICredential]
);
-- Use GPT-4 for text generation via REST endpoint
DECLARE @prompt NVARCHAR(MAX) = JSON_OBJECT(
'messages': JSON_ARRAY(
JSON_OBJECT('role': 'system', 'content': 'You are a helpful assistant'),
JSON_OBJECT('role': 'user', 'content': 'Explain vector search in simple terms')
)
);
DECLARE @response NVARCHAR(MAX);
EXEC sp_invoke_external_rest_endpoint
@url = N'https://myopenai.openai.azure.com/openai/deployments/gpt-4/chat/completions?api-version=2024-02-15-preview',
@method = 'POST',
@credential = [MyAzureOpenAICredential],
@payload = @prompt,
@response = @response OUTPUT;
SELECT JSON_VALUE(@response, '$.result.choices[0].message.content') AS ai_response;
In diesem Beispiel wird eine externe Modelldefinition für GPT-4 erstellt und das Aufrufen der Chatabschluss-API veranschaulicht. Die Antwort wird mithilfe von JSON-Funktionen analysiert, um den KI-generierten Text zu extrahieren, der dann in Ihrer Anwendungslogik verwendet oder zur späteren Verwendung gespeichert werden kann.
Verwenden von Microsoft Foundry
Microsoft Foundry bietet eine umfassende Plattform zum Erstellen, Trainieren und Bereitstellen von benutzerdefinierten KI-Modellen, die bestimmte Geschäftsanforderungen erfüllen, die über die allgemeinen Modelle hinausgehen. Während Azure OpenAI Zugriff auf vortrainierte Modelle wie GPT-4 und Texteinbettung-ada-002 bietet, können Sie mit Microsoft Foundry spezielle Modelle erstellen, die auf Ihre proprietären Daten, branchenspezifische Terminologie und einzigartige Anwendungsfälle geschult sind.
Die Integration zwischen SQL Server 2025 und Microsoft Foundry ermöglicht es Ihnen, domänenspezifische Intelligenz direkt zu Ihren Daten ohne Datenverschiebung oder Synchronisierung zu bringen. Sie können beispielsweise ein benutzerdefiniertes Klassifizierungsmodell trainieren, um Kundensupporttickets basierend auf den spezifischen Produkten und Dienstleistungen Ihres Unternehmens zu kategorisieren, oder ein Stimmungsanalysemodell zu erstellen, das auf die Sprachmuster Ihrer Branche abgestimmt ist. Nach der Bereitstellung in Microsoft Foundry werden diese Modelle über dieselbe Syntax zugänglich,CREATE EXTERNAL MODEL die Sie für Azure OpenAI verwenden.
-- Connect to a custom classification model in Microsoft Foundry
CREATE EXTERNAL MODEL CustomClassifier
WITH (
LOCATION = 'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
API_FORMAT = 'Azure OpenAI',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'classifier',
CREDENTIAL = [AzureAIFoundryCredential]
);
-- Use the custom model for domain-specific predictions
DECLARE @input_text NVARCHAR(MAX) = N'Customer reports slow query performance in production database';
DECLARE @request NVARCHAR(MAX) = JSON_OBJECT('input': @input_text);
DECLARE @response NVARCHAR(MAX);
EXEC sp_invoke_external_rest_endpoint
@url = N'https://myaifoundry.cognitiveservices.azure.com/models/classifier/predict?api-version=1.0',
@method = 'POST',
@credential = [AzureAIFoundryCredential],
@payload = @request,
@response = @response OUTPUT;
-- Extract classification result
SELECT JSON_VALUE(@response, '$.result.category') AS ticket_category,
JSON_VALUE(@response, '$.result.priority') AS priority_level;
Mit diesem Ansatz können Sie eine einzige Wahrheitsquelle für Ihre Daten in SQL Server beibehalten und KI-Funktionen verwenden, die Ihren spezifischen Geschäftskontext verstehen. Der Vorteil erstreckt sich über den technischen Komfort hinaus: Indem Sie Ihre Daten in SQL Server beibehalten und KI-Modelle über sichere API-Endpunkte aufrufen, behalten Sie die volle Kontrolle über Datengovernance, Compliance und Zugriffsrichtlinien. Ihre vertraulichen Geschäftsdaten müssen Ihre Datenbankinfrastruktur nie verlassen, aber Sie können weiterhin KI-Modelle anwenden, die geschult wurden, um Ihre individuellen Anforderungen zu verstehen.
Bereitstellen von ONNX-Modellen
Open Neural Network Exchange (ONNX) ist ein offener Standard für die Darstellung von Machine Learning-Modellen. SQL Server 2025 unterstützt DIE ONNX-Laufzeit, sodass Sie benutzerdefinierte Modelle lokal bereitstellen können.
Verwenden der ONNX-Laufzeit für lokale Rückschlüsse
ONNX-Modelle können direkt in SQL Server ohne externe Abhängigkeiten ausgeführt werden:
-- Reference a local ONNX model file
CREATE EXTERNAL MODEL LocalSentimentModel
WITH (
LOCATION = 'C:\Models\sentiment_analysis',
API_FORMAT = 'ONNX Runtime',
MODEL_TYPE = EMBEDDINGS,
MODEL = 'sentiment-model',
LOCAL_RUNTIME_PATH = 'C:\onnx_runtime\'
);
Dieser Ansatz eignet sich für Szenarien, in denen Sie eine Ableitung mit geringer Latenz benötigen, externe Netzwerkanrufe vermeiden oder Complianceanforderungen aufweisen möchten, die verhindern, dass Daten Ihre Infrastruktur verlassen. Der LOCATION sollte auf das Verzeichnis mit den Dateien model.onnx und tokenizer.json zeigen, während LOCAL_RUNTIME_PATH auf das Verzeichnis mit den ONNX-Runtime-DLL-Dateien zeigt.
Anwenden bewährter Methoden für die Sicherheit
Befolgen Sie bei der Integration von KI-Diensten mit SQL Server die folgenden Sicherheitsrichtlinien:
Steuern des Zugriffs mit Berechtigungen
Erteilen Sie Berechtigungen für externe Modellobjekte sorgfältig:
-- Grant permission to use an external model
GRANT EXECUTE ON EXTERNAL MODEL::Ada2Embeddings TO AIApplicationUser;
-- Revoke permissions when no longer needed
REVOKE EXECUTE ON EXTERNAL MODEL::Ada2Embeddings FROM AIApplicationUser;
Diese Anweisungen steuern, welche Benutzer und Rollen bestimmte externe Modelle verwenden können, wodurch eine differenzierte Zugriffssteuerung über KI-Funktionen ermöglicht wird.
Aktivieren von Prüfung und Überwachung
Nachverfolgen von KI-Vorgängen für Compliance und Problembehandlung:
-- Create an audit specification for external REST endpoint calls
CREATE SERVER AUDIT SPECIFICATION TrackAIOperations
FOR SERVER AUDIT [MyServerAudit]
ADD (DATABASE_OBJECT_ACCESS_GROUP);
Die Überwachung erfasst alle Interaktionen mit externen Modellen und REST-Endpunkten und bietet Einblicke in KI-Nutzungsmuster und unterstützende Complianceanforderungen.
Durch die Implementierung dieser sicheren Integrationsmuster können Sie KI-basierte Lösungen mit SQL Server 2025 bereitstellen, die den Anforderungen an Unternehmenssicherheit, Compliance und Governance entsprechen.