Freigeben über


Wartungsvorgänge des SQL-Ressourcenanbieters

Von Bedeutung

Ab Azure Stack Hub Build 2108 werden die SQL- und MySQL-Ressourcenanbieter Abonnements angeboten, denen Zugriff gewährt wurde. Wenn Sie mit der Verwendung dieses Features beginnen oder ein Upgrade von einer früheren Version durchführen müssen, öffnen Sie einen Supportfall , und unsere Supporttechniker führen Sie durch den Bereitstellungs- oder Upgradeprozess.

Der SQL-Ressourcenanbieter wird auf einem gesperrten virtuellen Computer (VM) ausgeführt. Um Wartungsvorgänge zu aktivieren, müssen Sie die Sicherheit des virtuellen Computers aktualisieren. Verwenden Sie dazu den PowerShell Just Enough Administration (JEA) -Endpunkt DBAdapterMaintenance. Das Installationspaket des Ressourcenanbieters enthält ein Skript für diese Aktion.

Patchen und Aktualisieren

Der SQL-Ressourcenanbieter wird nicht als Teil von Azure Stack Hub gewartet, da es sich um eine Add-On-Komponente handelt. Microsoft stellt bei Bedarf Updates für den SQL-Ressourcenanbieter bereit.

Wenn ein aktualisierter SQL Server-Ressourcenanbieter veröffentlicht wird, wird für SQL RP V1 ein Skript bereitgestellt, um das Update anzuwenden. Dieses Skript erstellt eine neue Ressourcenanbieter-VM, die den Status der alten Anbieter-VM zu dem neuen virtuellen Computer migriert.

Für SQL RP V2 werden Ressourcenanbieter mit demselben Updatefeature aktualisiert, das zum Anwenden von Azure Stack Hub-Updates verwendet wird.

Weitere Informationen finden Sie unter Aktualisieren des SQL-Ressourcenanbieters.

Aktualisieren der Vm des Anbieters

SQL RP V1 wird auf einer Benutzer-VM ausgeführt, Sie müssen die erforderlichen Patches und Updates anwenden, wenn sie veröffentlicht werden. Sie können ein Windows Update-Paket während der Installation oder Aktualisierung des Ressourcenanbieters installieren.

SQL RP V2 wird auf einem verwalteten Windows Server ausgeführt, der versteckt ist. Sie müssen die VM des Ressourcenanbieters nicht patchen oder aktualisieren. Sie wird automatisch aktualisiert, wenn Sie das RP aktualisieren.

Aktualisieren der Windows Defender-Definitionen des virtuellen Computers

Diese Anweisungen gelten nur für SQL RP V1, die auf integrierten Azure Stack Hub-Systemen ausgeführt werden.

So aktualisieren Sie die Windows Defender-Definitionen:

  1. Laden Sie das Windows Defender-Definitionsupdate aus Sicherheitsupdates für Windows Defender herunter.

    Scrollen Sie auf der Seite "Definitionsaktualisierung" nach unten, um "Update manuell herunterzuladen". Laden Sie die 64-Bit-Datei "Windows Defender Antivirus für Windows 10 und Windows 8.1" herunter.

    Sie können diesen direkten Link auch verwenden, um die fpam-fe.exe Datei herunterzuladen/auszuführen.

  2. Erstellen Sie eine PowerShell-Sitzung für den Wartungsendpunkt der VM des SQL-Ressourcenanbieteradapters.

  3. Kopieren Sie die Definitionsaktualisierungsdatei mithilfe der Wartungsendpunktsitzung auf den virtuellen Computer.

  4. Führen Sie in der PowerShell-Wartungssitzung den Befehl "Update-DBAdapterWindowsDefenderDefinitions" aus.

  5. Nachdem Sie die Definitionen installiert haben, empfehlen wir, die Definitionsaktualisierungsdatei mithilfe des Befehls "Remove-ItemOnUserDrive " zu löschen.

PowerShell-Skriptbeispiel zum Aktualisieren von Definitionen

Sie können das folgende Skript bearbeiten und ausführen, um die Defender-Definitionen zu aktualisieren. Ersetzen Sie Werte im Skript durch Werte aus Ihrer Umgebung.

# Set credentials for local admin on the resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString '<local admin user password>' -AsPlainText -Force
$vmLocalAdminUser = "<local admin user name>"
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential `
    ($vmLocalAdminUser, $vmLocalAdminPass)

# Provide the public IP address for the adapter VM.
$databaseRPMachine  = "<RP VM IP address>"
$localPathToDefenderUpdate = "C:\DefenderUpdates\mpam-fe.exe"

# Download the Windows Defender update definitions file from https://www.microsoft.com/wdsi/definitions.
Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/?LinkID=121721&arch=x64' `
    -Outfile $localPathToDefenderUpdate

# Create a session to the maintenance endpoint.
$session = New-PSSession -ComputerName $databaseRPMachine `
    -Credential $vmLocalAdminCreds -ConfigurationName DBAdapterMaintenance `
    -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# Copy the defender update file to the adapter VM.
Copy-Item -ToSession $session -Path $localPathToDefenderUpdate `
     -Destination "User:\"
# Install the update definitions.
Invoke-Command -Session $session -ScriptBlock `
    {Update-AzSDBAdapterWindowsDefenderDefinition -DefinitionsUpdatePackageFile "User:\mpam-fe.exe"}
# Cleanup the definitions package file and session.
Invoke-Command -Session $session -ScriptBlock `
    {Remove-AzSItemOnUserDrive -ItemPath "User:\mpam-fe.exe"}
$session | Remove-PSSession

Konfigurieren der Azure Diagnostics-Erweiterung für SQL-Ressourcenanbieter

Diese Anweisungen gelten nur für SQL RP V1, die auf integrierten Azure Stack Hub-Systemen ausgeführt werden.

Die Azure Diagnostics-Erweiterung ist standardmäßig auf der VM des SQL-Ressourcenanbieteradapters installiert. Die folgenden Schritte zeigen, wie Sie die Erweiterung zum Sammeln der Betriebsereignisprotokolle des SQL-Ressourcenanbieters und IIS-Protokolle für die Problembehandlung und Überwachung anpassen.

  1. Melden Sie sich beim Azure Stack Hub-Administratorportal an.

  2. Wählen Sie im Bereich auf der linken Seite virtuelle Computer aus, suchen Sie nach der VM des SQL-Ressourcenanbieters, und wählen Sie den virtuellen Computer aus.

  3. Wechseln Sie in den Diagnoseeinstellungen des virtuellen Computers zur Registerkarte "Protokolle ", und wählen Sie "Benutzerdefiniert " aus, um ereignisprotokolle anzupassen, die erfasst werden. Wechseln zu Diagnoseeinstellungen

  4. Fügen Sie Microsoft-AzureStack-DatabaseAdapter/Operational!* hinzu, um betriebsbereite SQL-Ressourcenanbieter-Ereignisprotokolle zu sammeln. Hinzufügen von Ereignisprotokollen

  5. Um die Sammlung von IIS-Protokollen zu aktivieren, überprüfen Sie IIS-Protokolle und Fehleranforderungsprotokolle. Hinzufügen von IIS-Protokollen

  6. Wählen Sie schließlich "Speichern" aus, um alle Diagnoseeinstellungen zu speichern.

Sobald die Ereignisprotokolle und die IIS-Protokollsammlung für den SQL-Ressourcenanbieter konfiguriert sind, finden Sie die Protokolle in einem Systemspeicherkonto namens "sqladapterdiagaccount".

Weitere Informationen zur Azure Diagnostics-Erweiterung finden Sie unter "What is Azure Diagnostics extension".

Aktualisieren von SQL-Anmeldeinformationen

Sie sind für das Erstellen und Verwalten von Sysadmin-Konten auf Ihren SQL-Servern verantwortlich. Der Ressourcenanbieter benötigt ein Konto mit diesen Berechtigungen zum Verwalten von Datenbanken für Benutzer, benötigt jedoch keinen Zugriff auf die Benutzerdaten. Wenn Sie die Sysadmin-Kennwörter auf Ihren SQL-Servern aktualisieren müssen, können Sie die Administratorschnittstelle des Ressourcenanbieters verwenden, um ein gespeichertes Kennwort zu ändern. Diese Kennwörter werden in einem Key Vault in Ihrer Azure Stack Hub-Instanz gespeichert.

Um die Einstellungen zu ändern, wählen Sie Durchsuchen>ADMINISTRATIVE RESSOURCEN>SQL-Hosting-Server>SQL-Anmeldungen und wählen Sie einen Benutzernamen aus. Die Änderung muss zuerst für die SQL-Instanz (und bei Bedarf alle Replikate) vorgenommen werden.) Wählen Sie unter "Einstellungen" "Kennwort" aus.

Aktualisieren des SQL-Administratorkennworts

Drehung geheimer Schlüssel

Diese Anweisungen gelten nur für SQL RP V1, die auf integrierten Azure Stack Hub-Systemen ausgeführt werden.

Wenn Sie die SQL- und MySQL-Ressourcenanbieter mit integrierten Azure Stack Hub-Systemen verwenden, ist der Azure Stack Hub-Operator dafür verantwortlich, die folgenden Infrastrukturgeheimnisse der Ressourcenanbieter zu aktualisieren, um sicherzustellen, dass sie nicht ablaufen.

  • Externes SSL-Zertifikat , das während der Bereitstellung bereitgestellt wird.
  • Das Kennwort für das lokale Administratorkonto des Ressourcenanbieters, das während der Bereitstellung bereitgestellt wird.
  • Kennwort des Diagnosebenutzers (dbadapterdiag) des Ressourcenanbieters.
  • (Version >= 1.1.47.0) Key Vault-Zertifikat, das während der Bereitstellung generiert wurde.

PowerShell-Beispiele zum Rotieren von Geheimnissen

Von Bedeutung

Eine erfolgreiche geheime Drehung erfordert das Entfernen vorhandener Versionen der Azure Stack Hub PowerShell-Module, bevor Sie das folgende Skript ausführen.

Ändern Sie alle geheimen Schlüssel gleichzeitig.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DiagnosticsUserPassword $passwd `
    -DependencyFilesLocalPath $certPath `
    -DefaultSSLCertificatePassword $certPasswd  `
    -VMLocalCredential $localCreds `
    -KeyVaultPfxPassword $keyvaultCertPasswd

Ändern Sie das Kennwort des Diagnosebenutzers.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DiagnosticsUserPassword  $passwd

Ändern Sie das Kennwort des lokalen VM-Administratorkontos.

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -VMLocalCredential $localCreds

Erneuern des SSL-Zertifikats

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DependencyFilesLocalPath $certPath `
    -DefaultSSLCertificatePassword $certPasswd

Erneuern des Key Vault-Zertifikats

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -KeyVaultPfxPassword $keyvaultCertPasswd

SecretRotationSQLProvider.ps1 Parameter

Parameter Description Kommentar
AzureEnvironment Die Azure-Umgebung des Dienstadministratorkontos, das für die Bereitstellung von Azure Stack Hub verwendet wird. Nur für Microsoft Entra-Bereitstellungen erforderlich. Unterstützte Umgebungsnamen sind AzureCloud, AzureUSGovernment oder bei Verwendung einer China Microsoft Entra ID, AzureChinaCloud. Wahlfrei
AzCredential Anmeldeinformationen des Azure Stack Hub-Dienstadministratorkontos. Das Skript schlägt fehl, wenn das Konto, das Sie mit AzCredential verwenden, eine mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erfordert. Obligatorisch.
CloudAdminCredential Anmeldeinformationen für das Azure Stack Hub-Cloudadministrator-Domänenkonto. Obligatorisch.
Privilegierter Endpunkt Privilegierter Endpunkt für den Zugriff auf Get-AzureStackStampInformation. Obligatorisch.
Diagnosebenutzerpasswort Diagnose-Benutzerkontokennwort Wahlfrei
VMLocalCredential Lokales Administratorkonto auf der VM "MySQLAdapter". Wahlfrei
Standard-SSL-Zertifikat-Passwort Standardkennwort für SSL-Zertifikat (*.pfx). Wahlfrei
DependencyFilesLocalPath Lokaler Pfad für Abhängigkeitsdateien. Wahlfrei
KeyVaultPfxPassword Das Zum Generieren des Key Vault-Zertifikats für den Datenbankadapter verwendete Kennwort. Wahlfrei

Diese Anweisungen gelten nur für SQL RP V2, die auf integrierten Azure Stack Hub-Systemen ausgeführt werden.

Hinweis

Die geheime Drehung für Ressourcenanbieter (Value-Add Resource Providers, RPs) wird derzeit nur über PowerShell unterstützt.

Wie die Azure Stack Hub-Infrastruktur verwenden Mehrwertdiensteanbieter sowohl interne als auch externe Geheimnisse. Als Betreiber sind Sie dafür verantwortlich:

  • Bereitstellen aktualisierter externer Geheimschlüssel, z. B. eines neuen TLS-Zertifikats, das zum Sichern von Ressourcenanbieterendpunkten verwendet wird.
  • Verwalten der geheimen Rotation des Ressourcenanbieters regelmäßig.

Wenn geheimnisse ablaufen, werden die folgenden Warnungen im Administratorportal generiert. Durch das Abschließen der geheimen Drehung werden diese Warnungen aufgelöst:

  • Bevorstehender interner Zertifikatsablauf
  • Ausstehender Ablauf des externen Zertifikats

Voraussetzungen

In Vorbereitung auf den Rotationsvorgang:

  1. Falls noch nicht geschehen, installieren Sie das PowerShell Az-Modul für Azure Stack Hub , bevor Sie fortfahren. Version 2.0.2-preview oder höher ist für die Geheimnisrotation von Azure Stack Hub erforderlich. Weitere Informationen finden Sie unter Migrieren von AzureRM zu Azure PowerShell Az im Azure Stack Hub.

  2. Installieren von Azs.Deployment.Admin 1.0.0 Modulen: PowerShell-Katalog | Azs.Deployment.Admin 1.0.0

Install-Module -Name Azs.Deployment.Admin
  1. Wenn sich der Ablauf des externen Zertifikats nähert, überprüfen Sie die Zertifikatanforderungen für die Öffentliche Schlüsselinfrastruktur (Public Key Infrastructure, PKI) von Azure Stack Hub auf wichtige Erforderliche Informationen, bevor Sie Ihr X509-Zertifikat erwerben/erneuern, einschließlich Details zum erforderlichen PFX-Format. Überprüfen Sie auch die Anforderungen, die im Abschnitt "Optionale PaaS-Zertifikate" für Ihren spezifischen Anbieter von Mehrwert-Diensten angegeben sind.

Vorbereitung eines neuen TLS-Zertifikats für die Erneuerung externer Zertifikate

Hinweis

Wenn nur das interne Zertifikat bald abläuft, können Sie diesen Abschnitt überspringen.

Erstellen oder erneuern Sie als Nächstes Ihr TLS-Zertifikat zum Sichern der Endpunkte des Ressourcenanbieters für Mehrwert-Ressourcen.

  1. Führen Sie die Schritte unter Generieren von Zertifikatsignaturanforderungen (CERTIFICATE Signing Requests, CSRs) für die Zertifikatverlängerung für Ihren Ressourcenanbieter aus. Hier verwenden Sie das Azure Stack Hub Readiness Checker-Tool, um die CSR zu erstellen. Führen Sie unbedingt das richtige Cmdlet für Ihren Ressourcenanbieter aus, im Schritt "Generieren von Zertifikatanforderungen für andere Azure Stack Hub-Dienste". Beispiel New-AzsDbAdapterCertificateSigningRequest : Wird für SQL- und MySQL-RPs verwendet. Nach Abschluss des Vorgangs übermitteln Sie die generierte .REQ-Datei an Ihre Zertifizierungsstelle (CA) für das neue Zertifikat.

  2. Nachdem Sie die Zertifikatdatei von der Zertifizierungsstelle erhalten haben, führen Sie die Schritte unter "Zertifikate für die Bereitstellung oder Rotation vorbereiten" aus. Sie verwenden das Tool "Bereitschaftsprüfung" erneut, um die von der Zertifizierungsstelle zurückgegebene Datei zu verarbeiten.

  3. Führen Sie abschließend die Schritte unter Validieren von Azure Stack Hub-PKI-Zertifikaten aus. Sie verwenden das Tool "Bereitschaftsprüfung" noch einmal, um Überprüfungstests für Ihr neues Zertifikat durchzuführen.

Drehen des internen Zertifikats

Öffnen Sie eine PowerShell-Konsole mit erhöhten Rechten, und führen Sie die folgenden Schritte aus, um die externen geheimen Schlüssel des Ressourcenanbieters zu drehen:

  1. Melden Sie sich mit Ihren Operatoranmeldeinformationen bei Ihrer Azure Stack Hub-Umgebung an. Siehe Verbinden mit Azure Stack Hub mit PowerShell für PowerShell-Anmeldeskript. Verwenden Sie unbedingt die PowerShell Az-Cmdlets (anstelle von AzureRM), und ersetzen Sie alle Platzhalterwerte, z. B. Endpunkt-URLs und Verzeichnismandantenname.

  2. Ermitteln Sie die Produkt-ID des Ressourcenanbieters. Führen Sie das Get-AzsProductDeployment Cmdlet aus, um eine Liste der neuesten Ressourcenanbieterbereitstellungen abzurufen. Die zurückgegebene Auflistung enthält ein Element für jeden bereitgestellten "value" Ressourcenanbieter. Suchen Sie den Ressourcenanbieter von Interesse, und notieren Sie sich die Werte für diese Eigenschaften:

    • "name" - enthält die Produkt-ID des Ressourcenanbieters im zweiten Segment des Werts.

    Beispielsweise kann die SQL RP-Bereitstellung eine Produkt-ID von "microsoft.sqlrp" haben.

  3. Führen Sie das Invoke-AzsProductRotateSecretsAction Cmdlet aus, um das interne Zertifikat zu drehen:

    Invoke-AzsProductRotateSecretsAction -ProductId $productId
    

Drehen des externen Zertifikats

Sie müssen zunächst die Werte für die folgenden Parameter notieren.

Platzhalter Description Beispielwert
<product-id> Die Produkt-ID der neuesten Ressourcenanbieter-Bereitstellung. microsoft.sqlrp
<installed-version> Die Version der neuesten Ressourcenanbieterbereitstellung. 2.0.0.2
<package-id> Die Paket-ID wird erstellt, indem die Produkt-ID und die installierte Version verkettet werden. microsoft.sqlrp.2.0.0.2
<cert-secret-name> Der Name, unter dem der geheime Zertifikatschlüssel gespeichert wird. SSLCert
<cert-pfx-file-path> Der Pfad zur PFX-Zertifikatdatei. C:\dir\dbadapter-cert-file.pfx
<pfx-password> Das Kennwort, das Ihrem Zertifikat zugewiesen ist. PFX-Datei. strong@CertSecret6

Öffnen Sie eine PowerShell-Konsole mit erhöhten Rechten, und führen Sie die folgenden Schritte aus:

  1. Melden Sie sich mit Ihren Operatoranmeldeinformationen bei Ihrer Azure Stack Hub-Umgebung an. Siehe Verbinden mit Azure Stack Hub mit PowerShell für PowerShell-Anmeldeskript. Verwenden Sie unbedingt die PowerShell Az-Cmdlets (anstelle von AzureRM), und ersetzen Sie alle Platzhalterwerte, z. B. Endpunkt-URLs und Verzeichnismandantenname.

  2. Rufen Sie den Wert des Product-ID-Parameters ab. Führen Sie das Get-AzsProductDeployment Cmdlet aus, um eine Liste der neuesten Ressourcenanbieterbereitstellungen abzurufen. Die zurückgegebene Auflistung enthält ein Element für jeden bereitgestellten "value" Ressourcenanbieter. Suchen Sie den Ressourcenanbieter von Interesse, und notieren Sie sich die Werte für diese Eigenschaften:

    • "name" - enthält die Produkt-ID des Ressourcenanbieters im zweiten Segment des Werts.
    • "properties"."deployment"."version" - enthält die aktuell bereitgestellte Versionsnummer.

Die SQL RP-Bereitstellung kann zum Beispiel die Produkt-ID "microsoft.sqlrp" und die Version "2.0.0.2" haben.

  1. Erstellen Sie die Paket-ID des Ressourcenanbieters, indem Sie die Produkt-ID und Version des Ressourcenanbieters verketten. Beispielsweise ist die SQL RP-Paket-ID microsoft.sqlrp.2.0.0.2 unter Verwendung der Werte, die im vorherigen Schritt abgeleitet wurden.

  2. Um die Liste der vom Ressourcenanbieter verwendeten geheimen Typen abzurufen, führen Sie die im vorherigen Schritt abgeleitete Paket-ID mit Get-AzsProductSecret -PackageId aus. Suchen Sie in der zurückgegebenen value Auflistung nach dem Element, das einen Wert "Certificate" für die "properties"."secretKind" Eigenschaft enthält. Dieses Element enthält Eigenschaften für den geheimen Zertifikatschlüssel des RP. Notieren Sie sich den Namen, der diesem Zertifikatschlüssel zugewiesen ist, der durch das letzte Segment der "name" Eigenschaft direkt oben "properties"identifiziert wird.

Die für das SQL RP zurückgegebene Geheimschlüsselauflistung enthält z. B. einen "Certificate" geheimen Schlüssel mit dem Namen SSLCert.

  1. Verwenden Sie das Set-AzsProductSecret Cmdlet, um Ihr neues Zertifikat in Key Vault zu importieren, das vom Rotationsprozess verwendet wird. Ersetzen Sie die Variablenplatzhalterwerte entsprechend, bevor Sie das Skript ausführen.

    $productId = '<product-id>'
    $packageId = $productId + '.' + '<installed-version>'
    $certSecretName = '<cert-secret-name>' 
    $pfxFilePath = '<cert-pfx-file-path>'
    $pfxPassword = ConvertTo-SecureString '<pfx-password>' -AsPlainText -Force   
    Set-AzsProductSecret -PackageId $packageId -SecretName $certSecretName -PfxFileName $pfxFilePath -PfxPassword $pfxPassword -Force
    
  2. Verwenden Sie schließlich das Invoke-AzsProductRotateSecretsAction-Cmdlet, um die Geheimnisse zu rotieren.

    Invoke-AzsProductRotateSecretsAction -ProductId $productId
    

Überwachen des Geheimdrehungsfortschritts

Sie können den Status der geheimen Drehung entweder in der PowerShell-Konsole oder im Administratorportal überwachen, indem Sie den Ressourcenanbieter im Marketplace-Dienst auswählen:

Bildschirm der geheimen Drehung in Bearbeitung.

Hinweis

Die geheime Rotationsdauer kann mehr als 10 Minuten dauern. Nach Abschluss des Vorgangs wird der Status des Ressourcenanbieters in "Installiert" geändert.

Erfassen von Diagnoseprotokollen

Azure Stack Hub bietet mehrere Möglichkeiten zum Sammeln, Speichern und Senden von Diagnoseprotokollen an den Microsoft-Support. Ab Version 1.1.93 unterstützt der SQL-Ressourcenanbieter die Standardmethode zum Sammeln von Protokollen aus Ihrer Azure Stack Hub-Umgebung. Weitere Informationen finden Sie unter Diagnoseprotokollsammlung.

Ab Version 1.1.93 unterstützt der SQL-Ressourcenanbieter die Standardmethode zum Sammeln von Protokollen aus Ihrer Azure Stack Hub-Umgebung. Wenn Sie eine ältere Version verwenden, wird empfohlen, Ihren SQL-Ressourcenanbieter auf die neueste Version zu aktualisieren.

Verwenden Sie den PowerShell Just Enough Administration (JEA)-Endpunkt DBAdapterDiagnostics, um Protokolle von der gesperrten VM zu sammeln. Dieser Endpunkt stellt die folgenden Befehle bereit:

  • Get-AzsDBAdapterLog. Mit diesem Befehl wird ein ZIP-Paket der Diagnoseprotokolle des Ressourcenanbieters erstellt und die Datei auf dem Benutzerlaufwerk der Sitzung gespeichert. Sie können diesen Befehl ohne Parameter ausführen, und die letzten vier Stunden der Protokolle werden erfasst.
  • Remove-AzsDBAdapterLog. Mit diesem Befehl werden vorhandene Protokollpakete auf der VM des Ressourcenanbieters entfernt.

Endpunktanforderungen und -prozesse

Wenn ein Ressourcenanbieter installiert oder aktualisiert wird, wird das Dbadapterdiag-Benutzerkonto erstellt. Sie verwenden dieses Konto, um Diagnoseprotokolle zu sammeln.

Hinweis

Das Kennwort des dbadapterdiag-Kontos entspricht dem Kennwort, das für den lokalen Administrator auf dem virtuellen Computer verwendet wird, der während einer Anbieterbereitstellung oder -aktualisierung erstellt wird.

Um die DBAdapterDiagnostics-Befehle zu verwenden, erstellen Sie eine PowerShell-Remotesitzung auf der VM des Ressourcenanbieters, und führen Sie den Befehl "Get-AzsDBAdapterLog" aus.

Sie legen die Zeitspanne für die Protokollsammlung mithilfe der Parameter FromDate und ToDate fest. Wenn Sie keinen oder beide dieser Parameter angeben, werden die folgenden Standardwerte verwendet:

  • FromDate ist vier Stunden vor der aktuellen Uhrzeit.
  • ToDate ist die aktuelle Uhrzeit.

PowerShell-Skriptbeispiel zum Sammeln von Protokollen

Das folgende Skript zeigt, wie Diagnoseprotokolle von der VM des Ressourcenanbieters erfasst werden.

# Create a new diagnostics endpoint session.
$databaseRPMachineIP = '<RP VM IP address>'
$diagnosticsUserName = 'dbadapterdiag'
$diagnosticsUserPassword = '<Enter Diagnostic password>'

$diagCreds = New-Object System.Management.Automation.PSCredential `
        ($diagnosticsUserName, (ConvertTo-SecureString -String $diagnosticsUserPassword -AsPlainText -Force))
$session = New-PSSession -ComputerName $databaseRPMachineIP -Credential $diagCreds `
        -ConfigurationName DBAdapterDiagnostics `
        -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)

# Sample that captures logs from the previous hour.
$fromDate = (Get-Date).AddHours(-1)
$dateNow = Get-Date
$sb = {param($d1,$d2) Get-AzSDBAdapterLog -FromDate $d1 -ToDate $d2}
$logs = Invoke-Command -Session $session -ScriptBlock $sb -ArgumentList $fromDate,$dateNow

# Copy the logs to the user drive.
$sourcePath = "User:\{0}" -f $logs
$destinationPackage = Join-Path -Path (Convert-Path '.') -ChildPath $logs
Copy-Item -FromSession $session -Path $sourcePath -Destination $destinationPackage

# Clean up the logs.
$cleanup = Invoke-Command -Session $session -ScriptBlock {Remove-AzsDBAdapterLog}
# Close the session.
$session | Remove-PSSession

Bekannte Einschränkungen des SQL Server-Ressourcenanbieters, Version 1

Einschränkung:
Wenn das Bereitstellungs-, Upgrade- oder geheime Drehungsskript fehlgeschlagen ist, können einige Protokolle nicht vom standardmäßigen Protokollsammlungsmechanismus erfasst werden.

Problemumgehung:
Wechseln Sie neben der Verwendung des standardmäßigen Protokollsammlungsmechanismus zum Ordner "Protokolle" im extrahierten Ordner, in dem sich das Skript befindet, um weitere Protokolle zu finden.

Nächste Schritte

Hinzufügen von SQL Server-Hostingservern