Zugreifen auf Datenspeicher und Dateifreigaben mit Windows-Authentifizierung in SSIS-Paketen in Azure
GILT FÜR: Azure Data Factory Azure Synapse Analytics
Tipp
Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!
Sie können die Windows-Authentifizierung verwenden, um auf Datenspeicher wie SQL Server-Instanzen, Dateifreigaben, Azure Files usw. in SSIS-Paketen zuzugreifen, die in Ihrer Azure-SSIS Integration Runtime (IR) in Azure Data Factory (ADF) und Azure Synapse ausgeführt werden. Ihre Datenspeicher können sich lokal befinden, auf Azure Virtual Machines (VMs) gehostet werden oder als verwaltete Dienste in Azure ausgeführt werden. Wenn sie lokal sind, müssen Sie Ihre Azure-SSIS IR mit einem virtuellen Netzwerk (Microsoft Azure Virtual Network) verknüpfen, das mit Ihrem lokalen Netzwerk verbunden ist. Informationen dazu finden Sie unter Verknüpfen der Azure-SSIS IR mit einem Microsoft Azure Virtual Network. Es gibt vier Methoden für den Zugriff auf Datenspeicher mit Windows-Authentifizierung in SSIS-Paketen, die in Ihrer Azure-SSIS IR ausgeführt werden:
Verbindungsmethode | Effektiver Geltungsbereich | Schritt zum Einrichten | Zugriffsmethode in Paketen | Anzahl der Anmeldeinformationssätze und verbundenen Ressourcen | Typ der verbundenen Ressourcen |
---|---|---|---|---|---|
Einrichten eines Ausführungskontexts auf Aktivitätsebene | Pro Aktivität „SSIS-Paket ausführen“ | Konfigurieren Sie die Eigenschaft Windows-Authentifizierung, um einen Kontext des Typs „Ausführung/Ausführen als“ einzurichten, wenn Sie SSIS-Pakete mit der Aktivität „SSIS-Paket ausführen“ in ADF-Pipelines ausführen. Weitere Informationen finden Sie unter Ausführen eines SSIS-Pakets mit der Aktivität „SSIS-Paket ausführen“ in Azure Data Factory. |
Sie können direkt auf Ressourcen in Paketen zugreifen, indem Sie z. B. den UNC-Pfad für den Zugriff auf Dateifreigaben oder Azure Files verwenden: \\YourFileShareServerName\YourFolderName oder \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Unterstützung nur für einen Anmeldeinformationssatz für alle verbundenen Ressourcen | – Lokale Dateifreigaben oder Dateifreigaben von Azure-VMs – Azure Files (siehe Einbinden einer Azure-Dateifreigabe und Zugreifen auf die Freigabe unter Windows) – lokale SQL Server-Instanzen/Azure-VMs mit Windows-Authentifizierung – Andere Ressourcen mit Windows-Authentifizierung |
Einrichten eines Ausführungskontexts auf Katalogebene | Pro Azure-SSIS IR, wird aber überschrieben, wenn ein Ausführungskontext auf Aktivitätsebene eingerichtet wird (siehe oben) | Führen Sie die gespeicherte SSISDB-Prozedur catalog.set_execution_credential aus, um einen Kontext für „Ausführung/Ausführen als“ einzurichten.Weitere Informationen finden Sie nachfolgend im weiteren Verlauf dieses Artikels. |
Sie können direkt auf Ressourcen in Paketen zugreifen, indem Sie z. B. den UNC-Pfad für den Zugriff auf Dateifreigaben oder Azure Files verwenden: \\YourFileShareServerName\YourFolderName oder \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Unterstützung nur für einen Anmeldeinformationssatz für alle verbundenen Ressourcen | – Lokale Dateifreigaben oder Dateifreigaben von Azure-VMs – Azure Files (siehe Einbinden einer Azure-Dateifreigabe und Zugreifen auf die Freigabe unter Windows) – lokale SQL Server-Instanzen/Azure-VMs mit Windows-Authentifizierung – Andere Ressourcen mit Windows-Authentifizierung |
Speicherung von Anmeldeinformationen mit dem Befehl cmdkey |
Pro Azure-SSIS IR, wird aber überschrieben, wenn ein Ausführungskontext auf Aktivitäts- oder Katalogebene eingerichtet wird (siehe oben) | Führen Sie bei der Bereitstellung der Azure-SSIS IR den Befehl cmdkey in einem benutzerdefinierten Setupskript (main.cmd ) aus, z. B. wenn Sie Dateifreigaben, Azure Files oder SQL Server verwenden:cmdkey /add:YourFileShareServerName /user:YourDomainName\YourUsername /pass:YourPassword ,cmdkey /add:YourAzureStorageAccountName.file.core.windows.net /user:azure\YourAzureStorageAccountName /pass:YourAccessKey odercmdkey /add:YourSQLServerFullyQualifiedDomainNameOrIPAddress:YorSQLServerPort /user:YourDomainName\YourUsername /pass:YourPassword .Weitere Informationen finden Sie unter Anpassen des Setups für die Azure SSIS IR. |
Sie können direkt auf Ressourcen in Paketen zugreifen, indem Sie z. B. den UNC-Pfad für den Zugriff auf Dateifreigaben oder Azure Files verwenden: \\YourFileShareServerName\YourFolderName oder \\YourAzureStorageAccountName.file.core.windows.net\YourFolderName |
Unterstützung für mehrere Anmeldeinformationssätze für verschiedene verbundene Ressourcen | – Lokale Dateifreigaben oder Dateifreigaben von Azure-VMs – Azure Files (siehe Einbinden einer Azure-Dateifreigabe und Zugreifen auf die Freigabe unter Windows) – lokale SQL Server-Instanzen/Azure-VMs mit Windows-Authentifizierung – Andere Ressourcen mit Windows-Authentifizierung |
Einbinden von Laufwerken zur Paketausführungszeit (ohne Persistenz) | Pro Paket | Führen Sie den Befehl net use im Task „Prozess ausführen“ aus, der zu Beginn der Ablaufsteuerung in Ihren Paketen (z.B. net use D: \\YourFileShareServerName\YourFolderName ) hinzugefügt wird. |
Zugriff auf Dateifreigaben über zugeordnete Laufwerke | Unterstützung für mehrere Laufwerke für verschiedene Dateifreigaben | – Lokale Dateifreigaben oder Dateifreigaben von Azure-VMs – Azure Files (siehe Einbinden einer Azure-Dateifreigabe und Zugreifen auf die Freigabe unter Windows) |
Warnung
Wenn Sie keine der oben genannten Methoden verwenden, um mit Windows-Authentifizierung auf Datenspeicher zuzugreifen, können Pakete, die von der Windows-Authentifizierung abhängig sind, nicht auf diese zugreifen, und zur Laufzeit treten Fehler auf.
Im weiteren Verlauf dieses Artikels wird beschrieben, wie Sie den in der SQL-Datenbank-Instanz bzw. verwalteten SQL-Instanz gehosteten SSIS-Katalog (SSISDB) zur Ausführung von Paketen in der Azure-SSIS IR konfigurieren, die die Windows-Authentifizierung für den Zugriff auf Datenspeicher verwenden.
Sie können nur einen Satz Anmeldeinformationen verwenden
Wenn Sie die Windows-Authentifizierung in einem SSIS-Paket verwenden, können Sie nur einen Satz Anmeldeinformationen verwenden. Die Domänenanmeldeinformationen, die Sie beim Ausführen der in diesem Artikel beschriebenen Schritte angeben, gelten solange für alle (interaktiven oder geplanten) Paketausführungen in Ihrer Azure-SSIS IR, bis Sie sie ändern oder entfernen. Wenn Ihr Paket mit unterschiedlichen Anmeldeinformationen eine Verbindung mit mehreren Datenspeichern herstellen muss, sollten Sie die oben genannten alternativen Methoden in Betracht ziehen.
Angeben von Domänenanmeldeinformationen für die Windows-Authentifizierung
Um Domänenanmeldeinformationen bereitzustellen, die es Paketen ermöglichen, mit der Windows-Authentifizierung auf lokale Datenspeicher zuzugreifen, gehen Sie wie folgt vor:
Stellen Sie mithilfe von SQL Server Management Studio (SSMS) oder eines anderen Tools eine Verbindung mit der SQL-Datenbank bzw. der verwalteten SQL-Instanz her, die SSISDB hostet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SSISDB in Azure.
Öffnen Sie ein Abfragefragefenster mit SSISDB als aktuelle Datenbank.
Führen Sie die folgenden gespeicherten Prozeduren aus, und geben Sie passende Domänenanmeldeinformationen an:
catalog.set_execution_credential @user='<your user name>', @domain='<your domain name>', @password='<your password>'
Führen Sie die SSIS-Pakete aus. Die Pakete verwenden die Anmeldeinformationen, die Sie für den Zugriff auf lokale Datenspeicher mit Windows-Authentifizierung angegeben haben.
Anzeigen von Anmeldeinformationen für eine Domäne
Führen Sie die folgenden Schritte aus, um die aktiven Anmeldeinformationen einer Domäne anzuzeigen:
Stellen Sie mithilfe von SSMS oder eines anderen Tools eine Verbindung mit der SQL-Datenbank bzw. der verwalteten SQL-Instanz her, die SSISDB hostet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SSISDB in Azure.
Öffnen Sie ein Abfragefragefenster mit SSISDB als aktuelle Datenbank.
Führen Sie die folgende gespeicherte Prozedur aus, und überprüfen Sie die Ausgabe:
SELECT * FROM catalog.master_properties WHERE property_name = 'EXECUTION_DOMAIN' OR property_name = 'EXECUTION_USER'
Löschen von Anmeldeinformationen für eine Domäne
Führen Sie die folgenden Schritte aus, um die Anmeldeinformationen, die Sie angegeben haben, wie in diesem Artikel beschrieben, zu löschen und zu entfernen:
Stellen Sie mithilfe von SSMS oder eines anderen Tools eine Verbindung mit der SQL-Datenbank bzw. der verwalteten SQL-Instanz her, die SSISDB hostet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SSISDB in Azure.
Öffnen Sie ein Abfragefragefenster mit SSISDB als aktuelle Datenbank.
Führen Sie die folgende gespeicherte Prozedur aus:
catalog.set_execution_credential @user='', @domain='', @password=''
Herstellen einer lokalen Verbindung mit SQL Server
Um zu überprüfen, ob Sie sich lokal mit einer SQL Server-Instanz verbinden können, gehen Sie wie folgt vor:
Suchen Sie einen Computer, der nicht in eine Domäne eingebunden ist, um diesen Test auszuführen.
Führen Sie auf dem Computer, der nicht in eine Domäne eingebunden ist, folgenden Befehl aus, um SSMS mit den Domänenanmeldeinformationen zu starten, die Sie verwenden möchten:
runas.exe /netonly /user:<domain>\<username> SSMS.exe
Überprüfen Sie in SSMS, ob Sie sich lokal mit der SQL Server-Instanz verbinden können.
Voraussetzungen
Um in Azure ausgeführten Paketen auf eine lokale SQL Server-Instanz zuzugreifen, gehen Sie wie folgt vor:
Aktivieren Sie im SQL Server-Konfigurations-Manager das Protokoll TCP/IP.
Lassen Sie den Zugriff über die Windows-Firewall zu. Weitere Informationen finden Sie unter Konfigurieren der Windows-Firewall für den Zugriff auf SQL Server.
Verknüpfen Sie Ihre Azure-SSIS IR mit einem Microsoft Azure Virtual Network, das mit der lokalen SQL Server-Instanz verbunden ist. Weitere Informationen finden Sie im Artikel zum Verknüpfen einer Azure-SSIS IR mit einem Microsoft Azure Virtual Network.
Verwenden Sie dann die gespeicherte SSISDB-Prozedur
catalog.set_execution_credential
, um Anmeldeinformationen wie in diesem Artikel beschrieben bereitzustellen.
Herstellen einer lokalen Verbindung mit einer Dateifreigabe
Führen Sie die folgenden Schritte durch, um zu überprüfen, ob Sie eine Verbindung mit einer lokalen Dateifreigabe herstellen können:
Suchen Sie einen Computer, der nicht in eine Domäne eingebunden ist, um diesen Test auszuführen.
Führen Sie auf dem Computer, der nicht in eine Domäne eingebunden ist, die folgenden Befehle aus. Über diese Befehle öffnen Sie zunächst ein Eingabeaufforderungsfenster mit den Domänenanmeldeinformationen, die Sie verwenden möchten, und testen dann die Konnektivität mit der lokalen Dateifreigabe, indem Sie eine Verzeichnisliste abrufen.
runas.exe /netonly /user:<domain>\<username> cmd.exe dir \\fileshare
Prüfen Sie, ob die Verzeichnisliste für die lokale Dateifreigabe zurückgegeben wird.
Voraussetzungen
Um in Azure ausgeführten Paketen auf eine lokale Dateifreigabe zuzugreifen, gehen Sie wie folgt vor:
Lassen Sie den Zugriff über die Windows-Firewall zu.
Verknüpfen Sie Ihre Azure-SSIS IR mit einem Microsoft Azure Virtual Network, das mit der lokalen Dateifreigabe verbunden ist. Weitere Informationen finden Sie im Artikel zum Verknüpfen einer Azure-SSIS IR mit einem Microsoft Azure Virtual Network.
Verwenden Sie dann die gespeicherte SSISDB-Prozedur
catalog.set_execution_credential
, um Anmeldeinformationen wie in diesem Artikel beschrieben bereitzustellen.
Herstellen einer Verbindung mit einer Dateifreigabe auf einer Azure-VM
Um in Azure ausgeführten Paketen auf eine Dateifreigabe auf einer Azure-VM zuzugreifen, gehen Sie wie folgt vor:
Stellen Sie mithilfe von SSMS oder eines anderen Tools eine Verbindung mit der SQL-Datenbank bzw. der verwalteten SQL-Instanz her, die SSISDB hostet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SSISDB in Azure.
Öffnen Sie ein Abfragefragefenster mit SSISDB als aktuelle Datenbank.
Führen Sie die folgenden gespeicherten Prozeduren aus, und geben Sie passende Domänenanmeldeinformationen an:
catalog.set_execution_credential @domain = N'.', @user = N'username of local account on Azure virtual machine', @password = N'password'
Herstellen einer Verbindung mit einer Dateifreigabe in Azure Files
Weitere Informationen zu Azure Files finden Sie unter Azure Files.
Um in Azure ausgeführten Paketen auf eine Dateifreigabe in Azure Files zuzugreifen, gehen Sie wie folgt vor:
Stellen Sie mithilfe von SSMS oder eines anderen Tools eine Verbindung mit der SQL-Datenbank bzw. der verwalteten SQL-Instanz her, die SSISDB hostet. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit SSISDB in Azure.
Öffnen Sie ein Abfragefragefenster mit SSISDB als aktuelle Datenbank.
Führen Sie die folgenden gespeicherten Prozeduren aus, und geben Sie passende Domänenanmeldeinformationen an:
catalog.set_execution_credential @domain = N'Azure', @user = N'<storage-account-name>', @password = N'<storage-account-key>'
Zugehöriger Inhalt
- Stellen Sie Ihre Pakete bereit. Weitere Informationen finden Sie unter Bereitstellen eines SSIS-Projekts mit SQL Server Management Studio (SSMS).
- Führen Sie Ihre Pakete aus. Weitere Informationen finden Sie unter Ausführen von SSIS-Paketen in Azure mit SSMS.
- Bestimmen Sie einen Zeitplan für Ihre Pakete. Weitere Informationen finden Sie unter Planen der Ausführung eines SSIS-Pakets in Azure.