Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mithilfe dieses Artikels können Sie die folgenden Szenarien lösen:
- Ein SQL Server auf einer Azure Virtual Machine (VM) Azure Marketplace-Image kann nicht bereitgestellt werden.
- Eine SQL Server-Instanz kann nicht online ausgeführt werden, nachdem eine Azure-VM neu gestartet oder zugeordnet wurde.
Gilt für: SQL Server auf Azure-VMs
Hinweis
Die Untersuchung dieses Problems wird aktiv fortgesetzt. Die Informationen in diesem Artikel können geändert werden, wenn neue Details verfügbar sind.
Symptome
Wenn dieses Problem auftritt, wird wahrscheinlich Folgendes angezeigt:
- SQL Server-Bereitstellungen auf Azure-VMs schlagen fehl, wenn ein Azure Marketplace-Image verwendet wird.
- SQL Server kann nicht online sein, nachdem eine Azure-VM für manuell installierte Instanzen von SQL Server neu gestartet wurde.
Sql Server auf Azure VM-Bereitstellung schlägt fehl
Wenn Sie versuchen, ein SQL Server auf azure VM-Image aus Azure Marketplace bereitzustellen, schlägt die Bereitstellung mit einem Status von Conflict und dem folgenden Fehler fehl:
Der Status des Systemlaufwerks zeigt an, dass es nicht einsatzbereit ist.
Wenn Sie beispielsweise ein Image aus dem Azure-Portal bereitstellen, wird möglicherweise der folgende Fehler für die Bereitstellung im Aktivitätsprotokoll angezeigt:
Warnung
Wenn dieser Fehler auftritt, ist die Azure VM-Bereitstellung erfolgreich, die SQL Server-Installation schlägt jedoch fehl. Sie müssen den virtuellen Computer löschen, um Gebühren zu vermeiden. Stellen Sie den virtuellen Computer mithilfe einer der in den Abschnitten "Lösung" oder "Problemumgehungen" beschriebenen Methoden erneut bereit.
SQL Server kann nicht online sein, nachdem der virtuelle Computer neu gestartet wurde.
Möglicherweise tritt dieses Problem nach der folgenden Reihenfolge von Ereignissen auf:
- Sie stellen einen virtuellen Azure-Computer aus der betroffenen VM-Liste bereit.
- Sie installieren eine Instanz von SQL Server manuell auf dem virtuellen Azure-Computer.
- Sie konfigurieren Ihre SQL Server-Datenbank
tempdbfür die Verwendung des lokalen SSD-kurzlebigen Speichers (in der Regel dasD:Laufwerk). - Der virtuelle Computer wird neu gestartet oder umgeleitet.
- Ihre SQL Server-Instanz kann nicht online ausgeführt werden.
Wenn dieses Problem auftritt, wird möglicherweise der folgende Fehler im SQL Server-Fehlerprotokoll angezeigt:
CREATE FILE encountered operating system error 3(The system cannot find the path specified.)
while attempting to open or create the physical file 'D:\SQLTemp\tempdb.mdf'.
Error: 17204, Severity: 16, State: 1. FCB::Open failed: Could not open
file D:\SQLTemp\tempdb.mdf for file number 1. OS error:
3(The system cannot find the path specified.).
Error: 5120, Severity: 16, State: 101.
Unable to open the physical file "D:\SQLTemp\tempdb.mdf". Operating system error 3:
"3(The system cannot find the path specified.)".
Error: 1802, Severity: 16, State: 4 CREATE DATABASE failed.
Some file names listed could not be created. Check related errors.
Could not create tempdb. You may not have enough disk space available.
Free additional disk space by deleting other files on the tempdb drive and then restart SQL Server.
Check for additional errors in the event log that may indicate why the
tempdb files could not be initialized.
Ursache
Einige der neuesten Azure-VM-Größen stellen ein lokales RAW-SSD-Volume für kurzlebigen Speicher dar, der mit der Nicht-Volatile Memory Express (NVMe)-Schnittstelle konfiguriert ist. Diese Konfiguration führt zu Fehlern, da SQL Server versucht, die tempdb Datenbank im kurzlebigen Speicher zu platzieren und fehlschlägt, da das lokale SSD-Volume nicht verfügbar ist. Darüber hinaus wird der kurzlebige Speicher als RAW angezeigt, nachdem der Computer umgelagert wurde.
Das lokale RAW-SSD-Volume führt dazu, dass die SQL-VM-Bereitstellung fehlschlägt und verhindert, dass manuell installierte SQL Server-Instanzen online sind, nachdem die VM neu gestartet wurde. In beiden Fällen versucht SQL Server, die tempdb Datenbank im kurzlebigen Speicher zu initialisieren, was nicht verfügbar ist. Die Bereitstellung schlägt fehl, da SQL Server während der Bereitstellung der Azure-VM installiert wird und der kurzlebige Speicher nicht verfügbar ist. Ebenso können manuell installierte Instanzen von SQL Server nicht online gestellt werden, nachdem der virtuelle Computer neu gestartet wurde, da der kurzlebige Speicher nicht verfügbar ist, wenn SQL Server versucht, die tempdb Datenbank zu erstellen.
Beschluss
Dieses Problem tritt aufgrund der ausgewählten Größe des virtuellen Azure-Computers auf. Verwenden Sie eine der folgenden Methoden, um das Problem zu beheben:
- Verwenden Sie nach Möglichkeit eine andere VM-SKU, z. B. die in den bewährten Methoden für die GRÖßE des virtuellen Computers aufgeführten SKUs.
- Wenn Sie einen bestimmten virtuellen Computer verwenden möchten, der sich auf der Liste der betroffenen virtuellen Computer befindet, verwenden Sie einen Computer ohne kleingeschriebenen
dNamen, der sich auf demselben Speicher wie die SQL Server-Datendateien befindettempdb. Verwenden Sie z. B. dieFXmsv2VM-Größe anstelle vonFXmdsv2. Letzteres verwendet einen nicht-initialisierten, kurzlebigen Speicher, wie im Namen durchdangezeigt.
Zwischenlösung
Sollten Sie keine andere VM-SKU ohne lokale RAW-SSD nutzen können, ziehen Sie die folgenden Lösungen in Betracht:
Stellen Sie den virtuellen Computer mit einem Nur-Windows Server-Image bereit, formatieren und initialisieren Sie das temporäre NVMe-Laufwerk, und installieren Sie dann SQL Server manuell.
-
Wenn Sie sich dafür entscheiden,
tempdbauf der lokalen SSD zu speichern, müssen Sie den Datenträger erneut initialisieren, bevor Sie SQL Server starten, und zwar jedes Mal, wenn die VM neu gestartet oder freigegeben wird.
-
Wenn Sie sich dafür entscheiden,
Stellen Sie das SQL Server-VM-Image bereit, konfigurieren Sie
tempdbjedoch so, dass ein anderes Laufwerk als der flüchtige Speicher während der Bereitstellung verwendet wird. Sie können z. B.tempdbso konfigurieren, dass es das Laufwerk oder das RemotespeicherlaufwerkC:verwendet.Sie können diese Einstellung auf der Seite mit den SQL Server-Einstellungen im Azure-Portal konfigurieren, wenn Sie das SQL Server-VM-Image bereitstellen.
Wählen Sie unter "Speicherkonfiguration" die Option " Konfiguration ändern " aus, um den Speicherbereich zu öffnen.
Erweitern Sie tempdb-Speicher , und wählen Sie eine andere Option als
Use local SSD drive:
Betroffene VMs
Dieses Problem tritt bei VMs auf, die ein nicht initialisiertes temporäres Laufwerk bereitstellen, z. B. die folgenden VM-Größen:
| Intel Gen 10.2 | AMD Gen 9.1 |
|---|---|
| Dldsv6 | Daldsv6 |
| Ddsv6 | Dadsv6 |
| Edsv6 | Eadsv6 |
| Lsv3 – Alle Azure-VMs | |
| Fxmdsv2 |
Hinweis
Stellen Sie sicher, dass die VM nicht mit einer Sektorgröße von mehr als 4 KB konfiguriert ist, bevor Sie SQL Server installieren.