Wartungsvorgänge für MySQL-Ressourcenanbieter in Azure Stack Hub
Wichtig
Ab dem Azure Stack Hub-Build 2108 werden die SQL- und MySQL-Ressourcenanbieter für Abonnements angeboten, denen Zugriff gewährt wurde. Wenn Sie dieses Feature nutzen möchten oder ein Upgrade von einer früheren Version benötigen, eröffnen Sie ein Supportticket, woraufhin unsere Supporttechniker Sie durch den Bereitstellungs- bzw. Upgradeprozess leiten werden.
Der MySQL-Ressourcenanbieter wird auf einer gesperrten VM ausgeführt. Damit Wartungsvorgänge durchgeführt werden können, müssen Sie die Sicherheit der VM aktualisieren. Dies kann nach dem Prinzip der geringsten Rechte über den PowerShell JEA-Endpunkt (Just Enough Administration) „DBAdapterMaintenance“ erfolgen. Das Ressourcenanbieter-Installationspaket enthält ein Skript für diese Vorgänge.
Patchen und Aktualisieren
Der MySQL-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 MySQL-Ressourcenanbieter bereit.
Für MySQL RP V1: Wenn ein aktualisierter MySQL Server-Ressourcenanbieter veröffentlicht wird, wird ein Skript zur Verfügung gestellt, um das Update anzuwenden. Dieses Skript erstellt eine neue Ressourcenanbieter-VM und migriert den Zustand der älteren Anbieter-VM auf die neue VM.
Für MySQL RP V2: Ressourcenanbieter werden mit dem Updatefeature aktualisiert, das auch zum Anwenden von Azure Stack Hub-Updates verwendet wird.
Weitere Informationen finden Sie unter Aktualisieren des MySQL-Ressourcenanbieters.
Aktualisieren der Anbieter-VM
MySQL RP V1 wird auf einer Benutzer-VM ausgeführt, daher müssen Sie die erforderlichen Patches und Updates installieren, sobald sie veröffentlicht werden. Sie können ein Windows Update-Pakets während der Installation oder des Updates des Ressourcenanbieters installieren.
MySQL RP V2 wird auf einer verwalteten Windows Server-Instanz ausgeführt, die ausgeblendet ist. Sie müssen kein Patch oder Update für den virtuellen Computer des Ressourcenanbieters durchführen. Er wird automatisch aktualisiert, wenn Sie den Ressourcenanbieter aktualisieren.
Aktualisieren der Windows Defender-Definitionen für die VM
Diese Anweisungen gelten nur für SQL RP V1, das auf integrierten Azure Stack Hub-Systemen ausgeführt wird.
Führen Sie die folgenden Schritte aus, um die Defender-Definitionen zu aktualisieren:
Laden Sie das Update der Windows Defender-Definitionen von der Seite Windows Defender Definition herunter.
Scrollen Sie auf der Seite für Definitionen bis zu „Manually download and install the definitions“ (Definitionen manuell herunterladen und installieren) herunter. Laden Sie die 64-Bit-Datei „Windows Defender Antivirus for Windows 10 and Windows 8.1“ herunter.
Alternativ verwenden Sie diesen Direktlink, um die Datei „fpam-fe.exe“ herunterladen und auszuführen.
Öffnen Sie eine PowerShell-Sitzung mit dem VM-Wartungsendpunkt des MySQL-Ressourcenanbieteradapters.
Kopieren Sie die Updatedatei für die Definitionen auf den Adaptercomputer des Ressourcenanbieters, indem Sie die Wartungsendpunkt-Sitzung verwenden.
Führen Sie in der PowerShell-Wartungssitzung den Befehl Update-DBAdapterWindowsDefenderDefinitions aus.
Es wird empfohlen, nach der Installation die Updatedatei für die Definitionen mithilfe des Befehls Remove-ItemOnUserDrive zu entfernen.
PowerShell-Skriptbeispiel für das Update von Definitionen
Zum Aktualisieren der Defender-Definitionen können Sie das folgende Skript bearbeiten und ausführen. Ersetzen Sie die Werte im Skript durch Werte aus Ihrer Umgebung.
# Set credentials for the 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 Windows Defender update definitions file from https://www.microsoft.com/en-us/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-Diagnoseerweiterung für den MySQL-Ressourcenanbieter
Diese Anweisungen gelten nur für SQL RP V1, das auf integrierten Azure Stack Hub-Systemen ausgeführt wird.
Die Azure-Diagnoseerweiterung wird standardmäßig auf dem virtuellen Computer des MySQL-Ressourcenanbieteradapters installiert. In den folgenden Schritten wird gezeigt, wie Sie die Erweiterung zum Sammeln von Betriebsereignisprotokollen des MySQL-Ressourcenanbieters und von IIS-Protokollen zur Problembehandlung und Überwachung anpassen.
Melden Sie sich beim Azure Stack Hub-Administratorportal an.
Wählen Sie im linken Bereich Virtuelle Computer aus, suchen Sie nach dem virtuellen Computer des MySQL-Ressourcenanbieteradapters, und wählen Sie ihn aus.
Navigieren Sie in den Diagnoseeinstellungen des virtuellen Computers zur Registerkarte Protokolle, und wählen Sie Benutzerdefiniert aus, um die zu erfassenden Ereignisprotokolle anzupassen.
Fügen Sie Microsoft-AzureStack-DatabaseAdapter/Operational!* hinzu, um Betriebsereignisprotokolle des MySQL-Ressourcenanbieters zu sammeln.
Wenn Sie die Sammlung von IIS-Protokollen aktivieren möchten, aktivieren Sie die Optionen IIS-Protokolle und Protokolle zu fehlerhaften Anforderungen.
Wählen Sie abschließend Speichern aus, um alle Diagnoseeinstellungen zu speichern.
Wenn die Sammlung von Ereignisprotokollen und IIS-Protokollen für den MySQL-Ressourcenanbieter konfiguriert wurde, finden Sie die Protokolle in einem Systemspeicherkonto mit dem Namen mysqladapterdiagaccount.
Weitere Informationen zur Azure-Diagnoseerweiterung finden Sie unter Was ist die Azure-Diagnoseerweiterung?.
Geheimnisrotation
Diese Anweisungen gelten nur für integrierte Azure Stack Hub-Systeme.
Bei Verwendung der SQL- und MySQL-Ressourcenanbieter mit integrierten Azure Stack Hub-Systemen ist der Azure Stack Hub-Operator dafür verantwortlich, die folgenden Geheimnisse der Ressourcenanbieterinfrastruktur zu rotieren, um sicherzustellen, dass sie nicht ablaufen:
- Das während der Bereitstellung angegebene externe SSL-Zertifikat
- Das während der Bereitstellung angegebene Kennwort des lokalen Administratorkontos für den virtuellen Computer des Ressourcenanbieters
- Das Kennwort des Diagnosebenutzers (dbadapterdiag) für den Ressourcenanbieter
- (version >= 1.1.47.0) Während der Bereitstellung generiertes Key Vault-Zertifikat.
PowerShell-Beispiele für die Rotation von Geheimnissen
Gleichzeitiges Ändern aller Geheimnisse:
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd `
-VMLocalCredential $localCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
Ändern des Kennworts für den Diagnosebenutzer:
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd
Ändern des Kennworts des lokalen Administratorkontos für die VM
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-VMLocalCredential $localCreds
Rotieren des SSL-Zertifikats
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd
Rotieren des Key Vault-Zertifikats
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
SecretRotationMySQLProvider.ps1-Parameter
Parameter | Beschreibung | Kommentar |
---|---|---|
AzureEnvironment | Die zum Bereitstellen von Azure Stack Hub verwendete Azure-Umgebung des Dienstadministratorkontos. Nur für Microsoft Entra-Bereitstellungen erforderlich. Unterstützte Umgebungsnamen sind AzureCloud, AzureUSGovernment oder bei Verwendung einer China-Microsoft Entra-ID AzureChinaCloud. | Optional |
AzCredential | Anmeldeinformationen für das Azure Stack Hub-Dienstadministratorkonto. Beim Skript tritt ein Fehler auf, wenn für das Konto, das Sie mit AzCredential verwenden, mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erforderlich ist. | Obligatorisch. |
CloudAdminCredential | Anmeldeinformationen für das Domänenkonto des Azure Stack Hub-Cloudadministrators. | Obligatorisch. |
PrivilegedEndpoint | Privilegierter Endpunkt für den Zugriff auf „Get-AzureStackStampInformation“ | Obligatorisch. |
DiagnosticsUserPassword | Kennwort des Diagnosebenutzerkontos | Optional |
VMLocalCredential | Das lokale Administratorkonto auf der MySQLAdapter-VM. | Optional |
DefaultSSLCertificatePassword | Kennwort für das SSL-Standardzertifikat (PFX-Datei) | Optional |
DependencyFilesLocalPath | Lokaler Pfad der Abhängigkeitsdateien | Optional |
KeyVaultPfxPassword | Das Kennwort, das zum Generieren des Key Vault-Zertifikats für Datenbankadapter verwendet wird. | Optional |
Diese Anweisungen gelten nur für MySQL RP V2, das auf integrierten Azure Stack Hub-Systemen ausgeführt wird.
Hinweis
Die Rotation von Geheimnissen für Mehrwert-Ressourcenanbieter (Resource Providers, RPs) wird derzeit nur über PowerShell unterstützt.
Wie die Azure Stack Hub-Infrastruktur verwenden Ressourcenanbieter mit Mehrwert sowohl interne als auch externe Geheimnisse. Als Operator tragen Sie folgende Verantwortungen:
Bereitstellen aktueller externer Geheimnisse, z. B. ein neues TLS-Zertifikat, das zum Schutz der Ressourcenanbieterendpunkte verwendet wird
Verwalten der regulären Rotation von Ressourcenanbietergeheimnissen
Für Geheimnisse, deren Ablauf bald bevorsteht, werden im Administratorportal folgende Benachrichtigungen generiert. Diese Warnungen lassen sich durch das Durchführen einer Geheimnisrotation beheben:
Pending internal certificate expiration (Bevorstehender Ablauf eines internen Zertifikats)
Pending external certificate expiration (Bevorstehender Ablauf eines externen Zertifikats)
Voraussetzungen
Vorbereitung des Rotationsprozesses:
Falls noch nicht geschehen, installieren Sie das PowerShell Az-Modul für Azure Stack Hub, bevor Sie fortfahren. Für die Azure Stack Hub-Geheimnisrotation ist Version 2.0.2-preview oder höher erforderlich. Weitere Informationen finden Sie unter Migrieren von AzureRM zum Az-Modul von Azure PowerShell in Azure Stack Hub.
Installieren Sie die Azs.Deployment.Admin 1.0.0-Module: PowerShell-Katalog | Azs.Deployment.Admin 1.0.0
Install-Module -Name Azs.Deployment.Admin
- Wenn sich das externe Zertifikat dem Ablaufdatum nähert, überprüfen Sie die Zertifikatanforderungen der Public Key-Infrastruktur (PKI) von Azure Stack Hub auf wichtige Informationen zu Voraussetzungen, einschließlich Informationen zum erforderlichen PFX-Format, bevor Sie das X509-Zertifikat abrufen oder erneuern. Überprüfen Sie auch die Voraussetzungen für Ihren spezifischen Ressourcenanbieter mit Mehrwert, die im Abschnitt zu optionalen PaaS-Zertifikaten angegeben werden.
Vorbereiten eines neuen TLS-Zertifikats für die externe Zertifikatrotation
Hinweis
Wenn nur das interne Zertifikat demnächst abläuft, können Sie diesen Abschnitt überspringen.
Als Nächstes erstellen oder erneuern Sie Ihr TLS-Zertifikat zum Schutz der Ressourcenanbieterendpunkte, die einen Mehrwert schaffen:
Führen Sie die Schritte unter Generieren von Zertifikatsignieranforderungen für die Zertifikaterneuerung für Ihren Ressourcenanbieter aus. Hier verwenden Sie das Tool zur Bereitschaftsüberprüfung von Azure Stack Hub, um die Zertifikatsignieranforderung zu erstellen. Stellen Sie sicher, dass Sie das richtige Cmdlet für Ihren Ressourcenanbieter im Schritt „Generieren von Zertifikatanforderungen für andere Azure Stack Hub-Dienste“ ausführen. Beispiel:
New-AzsDbAdapterCertificateSigningRequest
wird für SQL- und MySQL-Ressourcenanbieter verwendet. Wenn Sie fertig sind, übermitteln Sie die generierte REQ-Datei an Ihre Zertifizierungsstelle für das neue Zertifikat.Sobald Sie Ihre Zertifikatdatei von der Zertifizierungsstelle erhalten haben, führen Sie die Schritte unter Vorbereiten von Zertifikaten für die Bereitstellung oder Rotation. Verwenden Sie das Tool zur Bereitschaftsüberprüfung nochmal, um die von der Zertifizierungsstelle zurückgegebene Datei zu verarbeiten.
Führen Sie schließlich die Schritte unter Überprüfen von Azure Stack Hub-PKI-Zertifikaten aus. Sie verwenden das Tool zur Bereitschaftsüberprüfung ein weiteres Mal, um Validierungstests für Ihr neues Zertifikat durchzuführen.
Rotieren des internen Zertifikats
Öffnen Sie eine PowerShell-Konsole mit erhöhten Rechten, und führen Sie die folgenden Schritte aus, um die externen Geheimnisse des Ressourcenanbieters zu rotieren:
Melden Sie sich mit Ihren Operatoranmeldeinformationen bei Ihrer Azure Stack Hub-Umgebung an. Das PowerShell-Anmeldeskript finden Sie unter Herstellen einer Verbindung mit Azure Stack Hub mithilfe von PowerShell. Stellen Sie sicher, dass Sie die Az-Cmdlets von PowerShell (anstelle von AzureRM) verwenden, und ersetzen Sie alle Platzhalterwerte, z. B. Endpunkt-URLs und Verzeichnismandantennamen.
Bestimmen Sie die Produkt-ID des Ressourcenanbieters. Führen Sie das Cmdlet
Get-AzsProductDeployment
aus, um eine Liste der neuesten Bereitstellungen von Ressourcenanbietern abzurufen. Die zurückgegebene"value"
-Sammlung enthält ein Element für jeden bereitgestellten Ressourcenanbieter. Suchen Sie nach dem gewünschten Ressourcenanbieter, und notieren Sie sich die Werte der folgenden Eigenschaften:-
"name"
: Diese Eigenschaft enthält die Produkt-ID des Ressourcenanbieters im zweiten Segment des Werts.
Die MySQL RP-Bereitstellung kann z. B. eine Produkt-ID von
"microsoft.mysqlrp"
aufweisen.-
Führen Sie das Cmdlet
Invoke-AzsProductRotateSecretsAction
aus, um das interne Zertifikat zu rotieren:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Rotieren des externen Zertifikats
Notieren Sie sich zunächst die Werte für die folgenden Parameter.
Platzhalter | BESCHREIBUNG | Beispielwert |
---|---|---|
<product-id> |
Die Produkt-ID der neuesten Ressourcenanbieterbereitstellung | microsoft.mysqlrp |
<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.mysqlrp.2.0.0.2 |
<cert-secret-name> |
Der Name, unter dem das Zertifikatsgeheimnis gespeichert wird | SSLCert |
<cert-pfx-file-path> |
Der Pfad zur PFX-Datei Ihres Zertifikats | C:\dir\dbadapter-cert-file.pfx |
<pfx-password> |
Das Kennwort, das der PFX-Datei Ihres Zertifikats zugewiesen ist | strong@CertSecret6 |
Öffnen Sie eine PowerShell-Konsole mit erhöhten Rechten, und führen Sie die folgenden Schritte aus:
Melden Sie sich mit Ihren Operatoranmeldeinformationen bei Ihrer Azure Stack Hub-Umgebung an. Das PowerShell-Anmeldeskript finden Sie unter Herstellen einer Verbindung mit Azure Stack Hub mithilfe von PowerShell. Stellen Sie sicher, dass Sie die Az-Cmdlets von PowerShell (anstelle von AzureRM) verwenden, und ersetzen Sie alle Platzhalterwerte, z. B. Endpunkt-URLs und Verzeichnismandantennamen.
Rufen Sie den Parameterwert der Produkt-ID ab. Führen Sie das Cmdlet
Get-AzsProductDeployment
aus, um eine Liste der neuesten Bereitstellungen von Ressourcenanbietern abzurufen. Die zurückgegebene"value"
-Sammlung enthält ein Element für jeden bereitgestellten Ressourcenanbieter. Suchen Sie nach dem gewünschten Ressourcenanbieter, und notieren Sie sich die Werte der folgenden Eigenschaften:-
"name"
: Diese Eigenschaft enthält die Produkt-ID des Ressourcenanbieters im zweiten Segment des Werts. -
"properties"."deployment"."version"
: Diese Eigenschaft enthält die Versionsnummer der aktuellen Bereitstellung.
Die MySQL RP-Bereitstellung kann z. B. eine Produkt-ID von
"microsoft.mysqlrp"
und die Version"2.0.0.2"
aufweisen.-
Erstellen Sie die Paket-ID des Ressourcenanbieters, indem Sie die Produkt-ID und Versionsnummer des Ressourcenanbieters verketten. Bei Verwendung der im vorherigen Schritt abgeleiteten Werte, lautet die Paket-ID des SQL-Ressourcenanbieters beispielsweise
microsoft.mysqlrp.2.0.0.2
.Führen Sie
Get-AzsProductSecret -PackageId
mit der Paket-ID aus, die Sie im vorherigen Schritt abgeleitet haben, um die Liste der Geheimnistypen abzurufen, die vom Ressourcenanbieter verwendet werden. Suchen Sie in der zurückgegebenenvalue
-Sammlung das Element, das einen Wert von"Certificate"
für die Eigenschaft"properties"."secretKind"
enthält. Dieses Element enthält Eigenschaften für das Zertifikatsgeheimnis des Ressourcenanbieters. Notieren Sie sich den Namen, der diesem Zertifikatsgeheimnis zugewiesen ist und anhand des letzten Segments der Eigenschaft"name"
direkt über"properties"
identifiziert wird.Die Geheimnissammlung, die für den SQL-Ressourcenanbieter zurückgegeben wird, enthält z. B. ein
"Certificate"
-Geheimnis namensSSLCert
.Verwenden Sie das Cmdlet
Set-AzsProductSecret
, um Ihr neues Zertifikat in den Schlüsseltresor zu importieren, der vom Rotationsprozess verwendet wird. Ersetzen Sie die variablen Platzhalterwerte 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
Verwenden Sie abschließend das Cmdlet
Invoke-AzsProductRotateSecretsAction
, um die Geheimnisse zu rotieren:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Überwachen des Status der Geheimnisrotation
Sie können den Geheimnisrotationsprozess entweder in der PowerShell-Konsole oder im Administratorportal überwachen, indem Sie den Ressourcenanbieter im Marketplace-Dienst auswählen:
Hinweis
Die Geheimnisrotation kann mehr als 10 Minuten dauern. Anschließend ändert sich der Status des Ressourcenanbieters in „Installiert“.
Erfassen von Diagnoseprotokollen
Azure Stack Hub bietet mehrere Methoden zum Erfasse, Speichern und Senden von Diagnoseprotokollen an den Microsoft-Support. Der MySQL-Ressourcenanbieter unterstützt ab Version 1.1.93 das Standardverfahren zum Erfassen von Protokollen aus der Azure Stack Hub-Umgebung. Weitere Informationen finden Sie unter Sammlung von Diagnoseprotokollen.
Der MySQL-Ressourcenanbieter unterstützt ab Version 1.1.93 das Standardverfahren zum Erfassen von Protokollen aus der Azure Stack Hub-Umgebung. Wenn Sie eine ältere Version verwenden, empfiehlt es sich, den MySQL-Ressourcenanbieter auf die neueste Version zu aktualisieren.
Zum Erfassen von Protokollen von gesperrten VMs können Sie den PowerShell JEA-Endpunkt (Just Enough Administration) „DBAdapterDiagnostics“ verwenden. Dieser Endpunkt bietet die folgenden Befehle:
Get-AzsDBAdapterLog. Dieser Befehl erstellt ein Zip-Paket der Diagnoseprotokolle des Ressourcenanbieters und speichert die Datei auf dem Benutzerlaufwerk der Sitzung. Sie können diesen Befehl ohne Parameter ausführen, und die Protokolle der letzten vier Stunden werden gesammelt.
Remove-AzsDBAdapterLog. Dieser Befehl entfernt vorhandene Protokollpakete vom virtuellen Computer des Ressourcenanbieters.
Endpunktanforderungen und Prozess
Beim Installieren oder Aktualisieren eines Ressourcenanbieters wird das „dbadapterdiag“-Benutzerkonto erstellt. Sie werden dieses Konto verwenden, um Diagnoseprotokolle zu sammeln.
Hinweis
Das Kennwort des Kontos „dbadapterdiag“ entspricht dem Kennwort des lokalen Administrators der VM, die während der Bereitstellung oder dem Update eines Anbieters erstellt wurde.
Zur Verwendung der DBAdapterDiagnostics-Befehle müssen Sie eine PowerShell-Remotesitzung mit der VM des Ressourcenanbieters herstellen und den Befehl Get-AzsDBAdapterLog ausführen.
Mit den Parametern FromDate und ToDate legen Sie die Zeitspanne für die Protokollsammlung fest. Wenn Sie einen oder beide dieser Parameter nicht angeben, werden die folgenden Standardwerte verwendet:
- „FromDate“ sind vier Stunden vor der aktuellen Uhrzeit.
- „ToDate“ ist die aktuelle Uhrzeit.
PowerShell-Skriptbeispiel für die Sammlung von Protokollen:
Das folgende Skript zeigt, wie Diagnoseprotokolle aus der Ressourcenanbieter-VM gesammelt 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
# Cleanup the logs.
$cleanup = Invoke-Command -Session $session -ScriptBlock {Remove-AzsDBAdapterLog}
# Close the session.
$session | Remove-PSSession
Bekannte Einschränkungen des MySQL Server-Ressourcenanbieters, Version 1
Einschränkung:
Wenn das Skript zum Bereitstellen, Aktualisieren oder Rotieren von Geheimnissen fehlgeschlagen ist, können einige Protokolle nicht über den Standardmechanismus zur Protokollerfassung erfasst werden.
Problemumgehung:
Neben der Verwendung des Standard-Protokollerfassungsmechanismus können Sie im Ordner „Logs“ im extrahierten Ordner, in dem sich das Skript befindet, nach weiteren Protokollen suchen.