Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł ułatwia rozwiązanie następujących scenariuszy:
- Nie można wdrożyć obrazu programu SQL Server na maszynie wirtualnej platformy Azure z witryną Azure Marketplace.
- Wystąpienie SQL Server nie uruchamia się po ponownym uruchomieniu lub deaktywacji maszyny wirtualnej Azure.
Dotyczy: program SQL Server na maszynach wirtualnych platformy Azure
Uwaga
Badanie tego problemu jest aktywnie prowadzone. Informacje zawarte w tym artykule mogą ulec zmianie w miarę udostępniania nowych szczegółów.
Symptomy
Jeśli wystąpi ten problem, prawdopodobnie zobaczysz:
- Wdrażanie SQL Server na maszynie wirtualnej w Azure kończy się niepowodzeniem podczas korzystania z obrazu Azure Marketplace.
- Program SQL Server nie wchodzi do trybu online po ponownym uruchomieniu maszyny wirtualnej Azure dla ręcznie zainstalowanych instancji programu SQL Server.
Wdrażanie programu SQL Server na maszynie wirtualnej platformy Azure kończy się niepowodzeniem
Podczas próby wdrożenia programu SQL Server na obrazie maszyny wirtualnej platformy Azure z witryny Azure Marketplace wdrożenie kończy się niepowodzeniem ze stanem Conflict i następującym błędem:
Systemowy dysk zwrócił status "niegotowy do użycia".
Jeśli na przykład wdrażasz obraz z witryny Azure Portal, może zostać wyświetlony następujący błąd wdrożenia w dzienniku aktywności:
Ostrzeżenie
W przypadku wystąpienia tego błędu wdrożenie maszyny wirtualnej platformy Azure zakończy się pomyślnie, ale instalacja programu SQL Server zakończy się niepowodzeniem. Aby uniknąć naliczania opłat, musisz usunąć maszynę wirtualną. Ponownie wdróż maszynę wirtualną przy użyciu jednej z metod opisanych w sekcjach Rozwiązywanie lub Obejścia .
Program SQL Server nie może być w trybie online po ponownym uruchomieniu maszyny wirtualnej
Problem ten może wystąpić po wykonaniu tej sekwencji zdarzeń:
- Wdrażasz maszynę wirtualną platformy Azure z listy maszyn wirtualnych, których dotyczy problem .
- Ręcznie zainstalujesz wystąpienie programu SQL Server na maszynie wirtualnej Azure.
- Możesz skonfigurować swoją bazę danych programu SQL Server
tempdbtak, aby korzystała z lokalnego magazynu efemerycznego SSD (zazwyczaj z dyskuD:). - Twoja maszyna wirtualna została ponownie uruchomiona lub zdezaktywowana.
- Wystąpienie programu SQL Server nie uruchamia się.
Jeśli wystąpi ten problem, może zostać wyświetlony następujący błąd w dzienniku błędów programu SQL Server:
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.
Przyczyna
Niektóre z najświeższych rozmiarów maszyn wirtualnych platformy Azure oferują lokalny wolumin SSD w formacie RAW do magazynu efemerycznego, skonfigurowany za pomocą interfejsu NVMe (Non-Volatile Memory Express). Ta konfiguracja powoduje błędy, ponieważ program SQL Server próbuje umieścić tempdb bazę danych w magazynie efemerycznym i kończy się niepowodzeniem, ponieważ lokalny wolumin SSD nie jest dostępny. Ponadto pamięć tymczasowa jest pokazywana jako RAW po zwolnieniu maszyny.
Lokalny wolumin SSD RAW powoduje niepowodzenie wdrożenia SQL VM i uniemożliwia uruchomienie ręcznie zainstalowanych wystąpień SQL Server po ponownym uruchomieniu maszyny wirtualnej. W obu przypadkach program SQL Server próbuje zainicjować tempdb bazę danych w magazynie efemerycznym, który nie jest dostępny. Wdrożenie kończy się niepowodzeniem, ponieważ program SQL Server jest zainstalowany podczas wdrażania maszyny wirtualnej platformy Azure, a magazyn efemeryczny nie jest dostępny. Podobnie ręcznie zainstalowane wystąpienia programu SQL Server nie mogą przejść w tryb online po ponownym uruchomieniu maszyny wirtualnej, ponieważ magazyn efemeryczny nie jest dostępny, gdy program SQL Server próbuje utworzyć tempdb bazę danych.
Rozwiązanie
Ten problem występuje z powodu wybranego rozmiaru maszyny wirtualnej platformy Azure. Aby rozwiązać ten problem, użyj jednej z następujących metod:
- Jeśli to możliwe, użyj innej jednostki SKU maszyny wirtualnej, takiej jak jednostki SKU wymienione w najlepszych rozwiązaniach dotyczących rozmiaru maszyny wirtualnej.
- Jeśli chcesz użyć określonej maszyny wirtualnej, która znajduje się na liście maszyn wirtualnych, której dotyczy problem , użyj maszyny bez małych liter
dw nazwie, która znajduje siętempdbw tym samym magazynie co pliki danych programu SQL Server. Na przykład użyj rozmiaru maszynyFXmsv2wirtualnej zamiastFXmdsv2. Ten ostatni używa niezainicjowanego magazynu efemerycznego, jak wskazanodw nazwie.
Rozwiązanie
Jeśli nie możesz użyć innego SKU maszyny wirtualnej bez lokalnego dysku SSD w formacie RAW, rozważ następujące rozwiązania alternatywne:
Wdróż maszynę wirtualną przy użyciu obrazu tylko systemu Windows Server, sformatuj i zainicjuj tymczasowy dysk NVMe, a następnie ręcznie zainstaluj program SQL Server.
-
Jeśli zdecydujesz się umieścić
tempdbna lokalnym dysku SSD, należy ponownie zainicjować dysk przed uruchomieniem programu SQL Server za każdym razem, gdy maszyna wirtualna zostanie ponownie uruchomiona lub cofnięto przydział.
-
Jeśli zdecydujesz się umieścić
Wdróż obraz maszyny wirtualnej z programem SQL Server, ale skonfiguruj go
tempdbdo używania innego dysku niż magazyn efemeryczny podczas wdrażania. Można na przykład skonfigurowaćtempdbdo używania dyskuC:lub dysku magazynu zdalnego.To ustawienie można skonfigurować na stronie ustawień programu SQL Server w witrynie Azure Portal podczas wdrażania obrazu maszyny wirtualnej z programem SQL Server.
W obszarze Konfiguracja magazynu wybierz pozycję Zmień konfigurację , aby otworzyć okienko Konfigurowanie magazynu .
Rozwiń magazyn bazy danych tempdb i wybierz dowolną opcję inną niż
Use local SSD drive:
Dotknięte maszyny wirtualne
Ten problem występuje w przypadku maszyn wirtualnych, które wdrażają niezainicjowany dysk tymczasowy, na przykład następujące rozmiary maszyn wirtualnych:
| Intel Gen 10.2 | AMD Gen 9.1 |
|---|---|
| Dldsv6 | Daldsv6 |
| Ddsv6 | Dadsv6 |
| Edsv6 | Eadsv6 |
| Lsv3 — wszystkie maszyny wirtualne platformy Azure | |
| Fxmdsv2 |
Uwaga
Przed zainstalowaniem programu SQL Server upewnij się, że maszyna wirtualna nie jest skonfigurowana przy użyciu rozmiaru sektora większego niż 4 KB .