Konfigurowanie magazynu dla programu SQL Server na maszynach wirtualnych platformy Azure

Dotyczy:SQL Server na maszynie wirtualnej platformy Azure

W tym artykule przedstawiono sposób konfigurowania magazynu dla programu SQL Server na maszynach wirtualnych platformy Azure wdrożonych za pośrednictwem witryny Azure Marketplace przy użyciu dysków SSD w warstwie Premium.

Maszyny wirtualne programu SQL Server wdrożone za pośrednictwem obrazów witryny Marketplace automatycznie stosują domyślne najlepsze rozwiązania dotyczące magazynu, które można modyfikować podczas wdrażania. Niektóre z tych ustawień konfiguracji można zmienić po wdrożeniu.

Uwaga

Ten artykuł dotyczy tylko programu SQL Server na maszynach wirtualnych platformy Azure przy użyciu usługi Premium Storage, a nie magazynu SSD w warstwie Premium w wersji 2.

Wymagania wstępne

Aby użyć ustawień konfiguracji zautomatyzowanego magazynu, maszyna wirtualna wymaga następujących cech:

Nowe maszyny wirtualne

W poniższych sekcjach opisano sposób konfigurowania magazynu dla nowych maszyn wirtualnych programu SQL Server.

Azure Portal

Podczas aprowizowania maszyny wirtualnej platformy Azure przy użyciu obrazu galerii programu SQL Server wybierz pozycję Zmień konfigurację w obszarze Magazyn na karcie Ustawienia programu SQL Server, aby otworzyć stronę Konfigurowanie magazynu. Możesz pozostawić wartości domyślne lub zmodyfikować typ konfiguracji dysku, który najlepiej odpowiada Twoim potrzebom w zależności od obciążenia.

Zrzut ekranu przedstawiający kartę Ustawienia programu SQL Server i opcję Zmień konfigurację.

Uwaga

Jeśli wybrano obsługiwany rozmiar maszyny wirtualnej, możesz użyć dysku SSD w warstwie Premium w wersji 2, co zapewnia szczegółową kontrolę nad rozmiarem dysku, operacjami we/wy na sekundę i przepływnością.

Wybierz lokalizację dysku dla plików danych i plików dziennika, określając typ dysku i liczbę dysków. Użyj wartości liczby operacji we/wy na sekundę, aby określić najlepszą konfigurację magazynu spełniającą potrzeby biznesowe. Wybranie magazynu w warstwie Premium powoduje ustawienie buforowania na Wartość ReadOnly dla dysku danych i Brak dla dysku dziennika zgodnie z najlepszymi rozwiązaniami dotyczącymi wydajności maszyny wirtualnej programu SQL Server.

Zrzut ekranu przedstawiający witrynę Azure Portal strony Konfiguracja magazynu maszyn wirtualnych programu SQL Server podczas aprowizacji.

Konfiguracja dysku jest całkowicie dostosowywalna, dzięki czemu można skonfigurować topologię magazynu, typ dysku i operacje we/wy na sekundę potrzebne dla obciążenia maszyny wirtualnej z programem SQL Server. Możesz również użyć dysku Ultradisk jako opcji typu Dysk, jeśli maszyna wirtualna z programem SQL Server znajduje się w jednym z obsługiwanych regionów i włączono dyski w warstwie Ultra dla subskrypcji.

tempdb Skonfiguruj ustawienia bazy danych w obszarze Magazyn bazy danych TempDb, takie jak lokalizacja plików bazy danych, a także liczba plików, rozmiar początkowy i rozmiar automatycznego zwiększania w MB.

  • Obecnie podczas wdrażania maksymalna liczba tempdb plików wynosi 8, ale po wdrożeniu maszyny wirtualnej z programem SQL Server można dodać więcej plików.
  • Jeśli skonfigurujesz wystąpienie tempdb programu SQL Server na woluminie D: lokalnego dysku SSD zgodnie z zaleceniami, rozszerzenie agenta IaaS sql zarządza folderami i uprawnieniami wymaganymi podczas ponownego aprowizowania. Nie wymaga to utworzenia maszyny wirtualnej SQL z obrazem z witryny Azure Marketplace.

Zrzut ekranu pokazujący, gdzie można skonfigurować magazyn tempdb dla maszyny wirtualnej SQL.

Ponadto masz możliwość ustawienia buforowania dla dysków. Maszyny wirtualne platformy Azure mają wielowarstwową technologię buforowania o nazwie Blob Cache w przypadku użycia z dyskami w warstwie Premium. Usługa Blob Cache używa kombinacji pamięci RAM maszyny wirtualnej i lokalnego dysku SSD do buforowania.

Buforowanie dysku dla dysków SSD w warstwie Premium może mieć wartość ReadOnly, *ReadWrite lub None.

  • Buforowanie readOnly jest bardzo korzystne w przypadku plików danych programu SQL Server przechowywanych w usłudze Premium Storage. Buforowanie funkcji ReadOnly zapewnia małe opóźnienie odczytu, wysoką operację we/wy odczytu i przepływność, ponieważ operacje odczytu są wykonywane z pamięci podręcznej, która znajduje się w pamięci maszyny wirtualnej i lokalnym dysku SSD. Te operacje odczytu są znacznie szybsze niż odczyty z dysku danych, który pochodzi z usługi Azure Blob Storage. Usługa Premium Storage nie zlicza odczytów obsługiwanych z pamięci podręcznej w kierunku liczby operacji we/wy na sekundę dysku i przepływności. W związku z tym twoja aplikacja może osiągnąć większą łączną liczbę operacji we/wy na sekundę i przepływność.

  • Nie należy używać żadnej konfiguracji pamięci podręcznej dla dysków hostujących plik dziennika programu SQL Server, ponieważ plik dziennika jest zapisywany sekwencyjnie i nie korzysta z buforowania ReadOnly .

  • Buforowanie ReadWrite nie powinno być używane do hostowania plików programu SQL Server, ponieważ program SQL Server nie obsługuje spójności danych z pamięcią podręczną ReadWrite . Zapisuje pojemność pamięci podręcznej obiektów blob ReadOnly i opóźnienia nieznacznie zwiększają się, jeśli zapisy przechodzą przez warstwy pamięci podręcznej obiektów blob ReadOnly .

    Napiwek

    Upewnij się, że konfiguracja magazynu jest zgodna z ograniczeniami narzuconymi przez wybrany rozmiar maszyny wirtualnej. Wybranie parametrów magazynu przekraczających limit wydajności rozmiaru maszyny wirtualnej spowoduje ostrzeżenie: The desired performance might not be reached due to the maximum virtual machine disk performance cap. Zmniejsz liczbę operacji we/wy przez zmianę typu dysku lub zwiększ limit wydajności, zwiększając rozmiar maszyny wirtualnej. Nie spowoduje to zatrzymania aprowizacji.

Na podstawie wybranych opcji platforma Azure wykonuje następujące zadania konfiguracji magazynu po utworzeniu maszyny wirtualnej:

  • Tworzy dyski SSD w warstwie Premium i dołącza je do maszyny wirtualnej.
  • Konfiguruje dyski danych, aby były dostępne dla programu SQL Server.
  • Konfiguruje dyski danych w puli magazynów na podstawie określonego rozmiaru i wydajności (liczby operacji we/wy na sekundę i przepływności).
  • Kojarzy pulę magazynów z nowym dyskiem na maszynie wirtualnej.

Aby zapoznać się z pełnym przewodnikiem dotyczącym tworzenia maszyny wirtualnej z programem SQL Server w witrynie Azure Portal, zobacz samouczek aprowizacji.

Szablony usługi Resource Manager

Jeśli używasz następujących szablonów usługi Resource Manager, domyślnie dołączono dwa dyski danych w warstwie Premium bez konfiguracji puli magazynów. Można jednak dostosować te szablony, aby zmienić liczbę dysków danych w warstwie Premium dołączonych do maszyny wirtualnej.

Szablon szybkiego startu

Aby wdrożyć maszynę wirtualną z programem SQL Server przy użyciu optymalizacji magazynu, możesz użyć następującego szablonu szybkiego startu.

Uwaga

Niektóre rozmiary maszyn wirtualnych mogą nie mieć magazynu tymczasowego ani lokalnego. Jeśli wdrożysz program SQL Server na maszynie wirtualnej platformy Azure bez tymczasowego magazynu, tempdb pliki danych i dziennika zostaną umieszczone w folderze danych.

Istniejące maszyny wirtualne

Uwaga

Magazyn jest konfigurowalny tylko dla maszyn wirtualnych z programem SQL Server wdrożonych z obrazu programu SQL Server w witrynie Azure Marketplace i obecnie nie jest obsługiwany dla dysków SSD w wersji 2 w warstwie Premium. Aby zmodyfikować konfiguracje dysków na maszynie wirtualnej platformy Azure z zainstalowanym samodzielnie programem SQL Server, użyj okienka Dyski.

Modyfikowanie istniejących dysków

W przypadku istniejących maszyn wirtualnych programu SQL Server wdrożonych za pośrednictwem witryny Azure Marketplace można zmodyfikować niektóre ustawienia magazynu w witrynie Azure Portal za pomocą zasobu maszyn wirtualnych SQL lub w okienku Dyski.

Aby zmodyfikować ustawienia magazynu, otwórz zasób maszyn wirtualnych SQL i wybierz pozycję Konfiguracja magazynu w obszarze Ustawienia, gdzie można:

  • Dodawanie dodatkowych dysków
  • Konfigurowanie lub rozszerzanie istniejących dysków

Zrzut ekranu przedstawiający opcję Konfiguruj i sekcję Użycie magazynu.

Wybranie pozycji Konfiguruj otwiera stronę Rozszerzanie dysku danych, umożliwiając zmianę typu dysku, a także dodawanie dodatkowych dysków. Dyski można również dodawać za pomocą okienka Dyski.

Zrzut ekranu z witryny Azure Portal przedstawiający stronę Rozszerzanie dysku danych służącą do konfigurowania magazynu dla istniejącej maszyny wirtualnej z programem SQL Server.

Jeśli osiągnięto już maksymalne dyski obsługiwane dla określonego rozmiaru maszyny wirtualnej, może być konieczne zmianę rozmiaru maszyny wirtualnej.

Modyfikowanie bazy danych tempdb

Można również zmodyfikować tempdb ustawienia przy użyciu strony konfiguracja magazynu, takiej jak liczba tempdb plików, a także rozmiar początkowy oraz współczynnik autowzrośli. Wybierz pozycję Konfiguruj obok bazy danych tempdb , aby otworzyć stronę Konfiguracja bazy danych tempdb.

Wybierz pozycję Tak obok pozycji Skonfiguruj pliki danych bazy danych tempdb, aby zmodyfikować ustawienia, a następnie wybierz pozycję Tak obok pozycji Zarządzaj folderami bazy danych tempdb po ponownym uruchomieniu, aby umożliwić platformie Azure zarządzanie tempdb konfiguracją, folderem i uprawnieniami przy następnym uruchomieniu usługi PROGRAMU SQL Server. Nie wymaga to utworzenia maszyny wirtualnej SQL z obrazem z witryny Azure Marketplace.

Zrzut ekranu przedstawiający stronę konfiguracji bazy danych tempdb witryny Azure Portal ze strony zasobów maszyn wirtualnych SQL.

Uruchom ponownie usługę PROGRAMU SQL Server, aby zastosować zmiany.

Zwiększanie rozmiaru dysku tymczasowego

Aby zwiększyć rozmiar dysku tymczasowego, zmień rozmiar maszyny wirtualnej na jednostkę SKU, która obsługuje większy rozmiar dysku dla magazynu tymczasowego.

Automatyczne zmiany

Ta sekcja zawiera informacje dotyczące zmian konfiguracji magazynu, które platforma Azure automatycznie wykonuje podczas aprowizacji lub konfiguracji maszyny wirtualnej z programem SQL Server w witrynie Azure Portal.

  • Platforma Azure konfiguruje pulę magazynów z magazynu wybranego z maszyny wirtualnej. W następnej sekcji tego artykułu znajdują się szczegółowe informacje o konfiguracji puli magazynów.
  • Automatyczna konfiguracja magazynu zawsze używa dysków SSD P30 w warstwie Premium . Istnieje więc mapowanie 1:1 między wybraną liczbą terabajtów a liczbą dysków danych dołączonych do maszyny wirtualnej.

Aby uzyskać informacje o cenach, zobacz stronę Cennik usługi Storage na karcie Magazyn dyskowy.

Tworzenie puli magazynów

Platforma Azure używa następujących ustawień do utworzenia puli magazynów na maszynach wirtualnych programu SQL Server.

Ustawienie Wartość
Rozmiar paska 64 KB
Rozmiary dysków 1 TB każdy
Pamięć podręczna Przeczytaj
Rozmiar alokacji Rozmiar jednostki alokacji NTFS 64 KB
Odzyskiwania Proste odzyskiwanie (brak odporności)
Liczba kolumn Liczba dysków danych do 81

1 Po utworzeniu puli magazynów nie można zmienić liczby kolumn w puli magazynów.

Enable caching

W przypadku dysków SSD w warstwie Premium można zmienić zasady buforowania na poziomie dysku. Można to zrobić przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.

Aby zmienić zasady buforowania w witrynie Azure Portal, wykonaj następujące kroki:

  1. Zatrzymaj usługę programu SQL Server.

  2. Zaloguj się do Azure Portal.

  3. Przejdź do maszyny wirtualnej, wybierz pozycję Dyski w obszarze Ustawienia.

    Zrzut ekranu przedstawiający okienko konfiguracji dysku maszyny wirtualnej w witrynie Azure Portal.

  4. Wybierz odpowiednie zasady buforowania dla dysku z listy rozwijanej — tylko do odczytu lub Brak.

    Zrzut ekranu przedstawiający konfigurację zasad buforowania dysku w witrynie Azure Portal.

  5. Po wprowadzeniu zmiany uruchom ponownie maszynę wirtualną z programem SQL Server i uruchom usługę PROGRAMU SQL Server.

Włączanie akceleratora zapisu

Akcelerator zapisu to funkcja dysku dostępna tylko dla maszyn wirtualnych serii M. Celem przyspieszania zapisu jest zwiększenie opóźnienia operacji we/wy zapisu w usłudze Azure Premium Storage, gdy potrzebujesz opóźnienia operacji we/wy z jedną cyfrą ze względu na duże obciążenia OLTP o krytycznym znaczeniu dla woluminu lub środowiska magazynu danych.

Przed włączeniem akceleratora zapisu przejrzyj niektóre ograniczenia , aby potwierdzić, że są one akceptowalne dla Twojej firmy.

Zatrzymaj wszystkie działania programu SQL Server i zamknij usługę SQL Server przed wprowadzeniem zmian w zasadach przyspieszania zapisu.

Jeśli dyski są rozłożone, włącz przyspieszanie zapisu dla każdego dysku osobno, a maszyna wirtualna platformy Azure powinna zostać zamknięta przed wprowadzeniem jakichkolwiek zmian.

Aby włączyć przyspieszanie zapisu przy użyciu witryny Azure Portal, wykonaj następujące kroki:

  1. Zatrzymaj usługę programu SQL Server. Jeśli dyski są rozłożone, zamknij maszynę wirtualną.

  2. Zaloguj się do Azure Portal.

  3. Przejdź do maszyny wirtualnej, wybierz pozycję Dyski w obszarze Ustawienia.

    Zrzut ekranu przedstawiający okienko konfiguracji dysku maszyny wirtualnej w witrynie Azure Portal.

  4. Wybierz opcję pamięci podręcznej z akceleratorem zapisu dla dysku z listy rozwijanej.

    Zrzut ekranu przedstawiający zasady pamięci podręcznej akceleratora zapisu.

  5. Po wprowadzeniu zmiany uruchom maszynę wirtualną i usługę PROGRAMU SQL Server.

Rozbieranie dysku

Aby uzyskać większą przepływność, można dodać dodatkowe dyski danych i użyć usuwania dysków. Aby określić liczbę dysków danych, przeanalizuj przepływność i przepustowość wymaganą dla plików danych programu SQL Server, w tym dziennik i tempdb. Limity przepływności i przepustowości różnią się w zależności od rozmiaru maszyny wirtualnej. Aby dowiedzieć się więcej, zobacz Rozmiar maszyny wirtualnej.

  • W przypadku systemu Windows 8/Windows Server 2012 lub nowszego użyj Miejsca do magazynowania z następującymi wytycznymi:

    1. Ustaw interleave (rozmiar paska) na 64 KB (65,536 bajtów), aby uniknąć wpływu na wydajność z powodu niezgodności partycji. Należy to ustawić za pomocą programu PowerShell.

    2. Ustaw liczbę kolumn = liczbę dysków fizycznych. Użyj programu PowerShell podczas konfigurowania więcej niż 8 dysków (nie Menedżer serwera interfejsu użytkownika).

Na przykład poniższy program PowerShell tworzy nową pulę magazynów z rozmiarem przeplatanym do 64 KB i liczbą kolumn równą ilości dysku fizycznego w puli magazynów:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

W systemie Windows Server 2016 lub nowszym wartość domyślna to -StorageSubsystemFriendlyNameWindows Storage on <VM Name>

Znane problemy

Opcja Konfigurowanie dysku lub okienko Konfiguracja magazynu w zasobie maszyny wirtualnej SQL jest wyszarzane

Okienko Konfiguracja magazynu może być wyszarane w witrynie Azure Portal, jeśli rozszerzenie agenta IaaS SQL jest w stanie niepowodzenia. Napraw rozszerzenie agenta IaaS sql.

Konfigurowanie w okienku Konfiguracja magazynu może być wyszarane, jeśli dostosowano pulę magazynów lub jeśli używasz obrazu innego niż Marketplace.

Mam dysk o rozmiarze 1 TB nieprzydzielonego miejsca, którego nie mogę usunąć z puli magazynów

Nie ma możliwości usunięcia nieprzydzielonego miejsca z dysku należącego do puli magazynów.

Mój dziennik transakcji jest pełny

Zapoznaj się z artykułem Rozwiązywanie problemów z pełnym dziennikiem transakcji, jeśli dziennik stanie się pełny.