Planowanie, wdrażanie i weryfikowanie usługi Azure SQL

Ukończone

Po wybraniu obciążenia do migracji do lub utworzenia w usłudze Azure SQL należy odpowiednio zaplanować wdrożenie, wdrożyć je i sprawdzić, czy wdrożenie zakończyło się pomyślnie. W tej lekcji poznasz różne metody dla każdego kroku w procesie.

Planowanie przed wdrożeniem

Przed rozpoczęciem wdrażania elementów na platformie Azure ważne jest zrozumienie wymagań i sposobu mapowania ich na oferty w usłudze Azure SQL. Korzystając z informacji poznanych w module wprowadzenia do usługi Azure SQL, utwórz plan. Musisz odpowiedzieć na następujące pytania:

  • Metoda wdrażania: witryna Azure Portal lub interfejs wiersza polecenia?
  • Opcja wdrożenia: Maszyna wirtualna, baza danych, elastyczna pula, wystąpienie zarządzane lub pula wystąpień?
  • Model zakupów (tylko usługa Azure SQL Database): jednostki DTU lub rdzenie wirtualne?
  • Warstwa usługi: Ogólnego przeznaczenia, Krytyczne dla działania firmy lub Hiperskala?
  • Sprzęt: Gen5, czy coś nowego?
  • Ustalanie rozmiaru: liczba rdzeni wirtualnych i maksymalny rozmiar danych?

Być może przed udzieleniem odpowiedzi na powyższe pytania należy również wybrać obciążenie, które zostanie zmigrowane do usługi Azure SQL lub zostanie utworzone w chmurze. W przypadku migrowania dostępnych jest wiele narzędzi i zasobów, które ułatwiają planowanie, ocenianie, migrowanie i optymalizowanie baz danych oraz aplikacji. Udostępniamy zasoby na końcu tego modułu.

Limity zasobów

W module wprowadzającym do usługi Azure SQL opisano limity, szybkości i możliwości, takie jak liczba operacji we/wy na sekundę lub olTP w pamięci. Istnieją inne limity zasobów, których dotyczy wybór usługi Azure SQL Managed Instance, usługi Azure SQL Database lub opcji w ramach następujących opcji:

  • Pamięć
  • Maksymalny rozmiar dziennika
  • Szybkość rejestrowania transakcji
  • Operacje we/wy na sekundę danych
  • Rozmiar bazy danych tempdb
  • Maksymalna liczba współbieżnych procesów roboczych
  • Przechowywanie kopii zapasowej

Limity dla usługi Azure SQL Managed Instance i Azure SQL Database zależą od wybranego modelu zakupów, warstwy usług i liczby rdzeni wirtualnych lub jednostek DTU tylko w usłudze Azure SQL Database.

Usługi Azure SQL Managed Instance i SQL Database są ofertami PaaS. Ograniczenie tych opcji nie powinno hamować możliwości pełnego korzystania z usługi zarządzanej programu SQL Server.

W ramach wystąpienia usługi Azure SQL Database ogólnego przeznaczenia wybór aprowizowanego lub bezserwerowego obliczeń wpływa również na te limity. Przed wdrożeniem sprawdź, co jest zawarte w ramach planowanego wdrożenia, aby upewnić się, że zaczynasz od potrzebnych informacji.

Zasoby usługi Azure SQL mają ogólne limity zasobów na subskrypcję i region. Jeśli chcesz zwiększyć limity, możesz zażądać zwiększenia limitu przydziału w witrynie Azure Portal.

Wdrożenie

Po zakończeniu planowania wdrożenia wstępnego nadszedł czas, aby wdrożyć plan. Na tym etapie wdrożysz usługę Azure SQL przy użyciu witryny Azure Portal lub wiersza polecenia, określisz konfigurację sieci i nawiązasz początkowe połączenie.

W przypadku usług Azure SQL Database i Azure SQL Managed Instance w witrynie Azure Portal w witrynie Azure Portal należy wypełnić sześć okienek podczas wdrażania.

Diagram okienek wdrażania usługi Azure SQL.

Serwer

Podczas tworzenia usługi Azure SQL Managed Instance podawanie nazwy serwera wygląda tak samo jak w programie SQL Server. W przypadku baz danych i pul elastycznych wymagany jest serwer usługi Azure SQL Database. Serwer usługi Azure SQL Database to serwer logiczny , który działa jako centralny punkt administracyjny dla pojedynczej bazy danych lub bazy danych w puli. Obejmuje on obsługę logowania, reguł zapory, reguł inspekcji, zasad wykrywania zagrożeń i grup trybu failover. Dowiedz się więcej o tych elementach później.

Ten serwer logiczny nie uwidacznia żadnych funkcji ani dostępu na poziomie wystąpienia, tak jak w przypadku usługi Azure SQL Managed Instance. W przypadku serwerów usługi Azure SQL Database nazwa serwera musi być unikatowa na całej platformie Azure.

Obliczenia i magazyn

W poprzednim module tej ścieżki szkoleniowej przedstawiono opcje i zalecenia dotyczące zasobów obliczeniowych i magazynowych, w tym warstw usług, modeli zakupów i generowania sprzętu. Podczas wdrażania należy wybrać żądaną konfigurację. Ponadto należy określić liczbę rdzeni wirtualnych i maksymalny rozmiar danych.

Ogólnie rzecz biorąc, jeśli przeprowadzasz migrację, użyj rozmiaru podobnego do używanego lokalnie. Możesz również użyć narzędzi, takich jak data Asystent migracji jednostka SKU, aby oszacować liczbę rdzeni wirtualnych i maksymalny rozmiar danych na podstawie bieżącego obciążenia.

Maksymalny rozmiar danych nie musi być obecnie rozmiarem danych. Jest to maksymalna przestrzeń danych, która może zostać przypisana do bazy danych. Pomaga również zrozumieć alokację miejsca dziennika, która jest skalowana przy użyciu maksymalnego rozmiaru danych.

Konfiguracja sieci

Opcje dotyczące sieci dla usług Azure SQL Database i Azure SQL Managed Instance różnią się od siebie. Podczas wdrażania usługi Azure SQL Database bieżąca wartość domyślna to Brak dostępu.

Możesz wybrać publiczny punkt końcowy lub prywatny punkt końcowy. W ćwiczeniu, które następuje po tej lekcji, użyj publicznego punktu końcowego i ustaw opcję Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera na wartość Tak. Inne usługi platformy Azure mogą następnie uzyskiwać dostęp do bazy danych, na przykład Azure Data Factory lub Azure Virtual Machines. Możesz również wybrać pozycję Dodaj bieżący adres IP klienta, jeśli chcesz mieć możliwość nawiązania połączenia z adresu IP komputera klienckiego użytego do wdrożenia usługi Azure SQL Database.

Usługa Azure SQL Managed Instance umożliwia wdrożenie wewnątrz sieci wirtualnej platformy Azure i podsieci dedykowanej dla wystąpień zarządzanych, która umożliwia uzyskanie bezpiecznego, prywatnego adresu IP. Usługa Azure SQL Managed Instance może połączyć sieć lokalną z wystąpieniem zarządzanym, połączyć wystąpienie zarządzane z połączonym serwerem lub innym lokalnym magazynem danych i połączyć wystąpienie zarządzane z innymi zasobami.

Dodatkowo można włączyć publiczny punkt końcowy, aby umożliwić łączenie się z wystąpieniem zarządzanym przez Internet bez wirtualnej sieci prywatnej (VPN). Domyślnie ten dostęp jest wyłączony.

Źródło danych

W usłudze Azure SQL Database możesz wybrać AdventureWorksLT bazę danych jako przykład podczas wdrażania w witrynie Azure Portal. W usłudze Azure SQL Managed Instance najpierw wdrożysz wystąpienie, a następnie bazy danych w nim. Nie można mieć przykładowej bazy danych podczas wdrażania, podobnie jak w przypadku programu SQL Server. Więcej informacji na temat przykładowych AdventureWorks baz danych można uzyskać w witrynie GitHub.

Możesz również wdrożyć pustą bazę danych lub utworzyć bazę danych opartą na przywróconej z replikowanej geograficznie kopii zapasowej.

Sortowania bazy danych

Ustawienia sortowania w programie SQL Server i usłudze Azure SQL informują aparat bazy danych o sposobie traktowania niektórych znaków i języków. Sortowanie zawiera reguły sortowania, wielkość liter i właściwości poufności akcentu dla danych.

Podczas tworzenia nowej bazy danych SQL lub wystąpienia zarządzanego SQL należy wziąć pod uwagę wymagania regionalne danych. Zestaw sortowania ma wpływ na charakterystykę wielu operacji w bazie danych. W produkcie sql Server box ustawienia regionalne systemu operacyjnego zwykle określają sortowanie domyślne.

W usłudze Azure SQL Managed Instance ustaw sortowanie serwera podczas tworzenia wystąpienia. Nie można go zmienić później. Sortowanie serwera ustawia wartość domyślną dla wszystkich baz danych w tym wystąpieniu zarządzanym SQL, ale można modyfikować sortowania na poziomie bazy danych i kolumn.

W usłudze Azure SQL Database nie można ustawić sortowania serwera. Jest ona ustawiana w domyślnym i najczęstszym sortowaniu SQL_Latin1_General_CP1_CI_AS, ale można ustawić sortowanie bazy danych. Aby podzielić wartość na fragmenty:

  • SQL oznacza, że jest to sortowanie programu SQL Server, w przeciwieństwie do sortowania systemu Windows lub binarnego.
  • Latin1_General określa alfabet lub język do użycia podczas sortowania.
  • CP1 wskazuje stronę kodową używaną podczas sortowania.
  • CI oznacza, że nie jest rozróżniana wielkość liter. CS oznacza uwzględnianie wielkości liter.
  • AS oznacza, że jest ona wrażliwa na akcent. AI oznacza bez uwzględniania akcentu.

Dostępne są inne opcje. Przykładami mogą być szerokości znaków i kodowanie UTF-8. Więcej szczegółów na temat tego, co można zrobić i czego nie można zrobić z usługą Azure SQL , można znaleźć w dokumentacji.

Zgoda na Microsoft Defender dla Chmury

Podczas wdrażania usługi Azure SQL Database w witrynie Azure Portal zostanie wyświetlony monit o to, czy chcesz włączyć Microsoft Defender dla Chmury w bezpłatnej wersji próbnej. Przycisk Rozpocznij bezpłatne wersje próbne. Po bezpłatnej wersji próbnej opłaty za Defender dla Chmury są naliczane zgodnie z cennikiem warstwy Standardowa Microsoft Defender dla Chmury.

Po jej włączeniu uzyskasz funkcje związane z identyfikowaniem i ograniczaniem potencjalnych luk w zabezpieczeniach bazy danych i wykrywania zagrożeń. Więcej informacji na temat tych możliwości można dowiedzieć się w następnym module zabezpieczeń tej ścieżki szkoleniowej.

W usłudze Azure SQL Managed Instance można włączyć Microsoft Defender dla Chmury na wystąpieniu po wdrożeniu.

Przegląd wyborów

W okienku Przeglądanie i tworzenie przejrzyj wybrane opcje wdrażania i warunki witryny Azure Marketplace.

Napiwek

Dostępna jest również opcja Pobierz szablon automatyzacji , który udostępnia szablon usługi Azure Resource Manager (szablon usługi ARM) do konfigurowalnych, powtarzalnych wdrożeń. Ta lekcja nie obejmuje szablonów usługi ARM. Jeśli cię interesuje, dowiedz się więcej na temat specyfikacji szablonu.

Kluczowe szczegóły implementacji wdrożenia

Mimo że platforma Azure zajmuje się wdrożeniem, istnieją pewne szczegóły implementacji wdrożenia, o których należy pamiętać. Wszystkie usługi są oparte na sieci szkieletowej platformy Azure znanej jako Azure Service Fabric. Zrozumienie sposobu wdrażania i skalowania niektórych z tych usług w usłudze Azure Service Fabric pomaga zrozumieć różne zachowania, które mogą być widoczne.

Wystąpienie zarządzane Azure SQL

W tle platforma Azure wdraża dedykowany pierścień dla usługi Azure SQL Managed Instance (czasami nazywany klastrem wirtualnym). Ta architektura pomaga zapewnić obsługę zabezpieczeń i natywnej sieci wirtualnej.

Ze względu na tę architekturę operacje wdrażania i skalowania mogą trwać dłużej. Na przykład podczas skalowania w górę lub w dół platforma Azure wdraża nowy klaster wirtualny, a następnie wypełnia go danymi. Każde wystąpienie można traktować jako uruchomione na jednej maszynie wirtualnej.

Pule wystąpień SQL platformy Azure wprowadzono, aby zmniejszyć problemy z długim czasem wdrażania. Możesz wstępnie wdrożyć pulę dedykowanych zasobów. Wdrażanie w puli i skalowanie w puli jest szybsze niż w przypadku wdrożeń tradycyjnych. Uzyskujesz również większą gęstość pakowania, ponieważ można wdrożyć wiele wystąpień na jednej maszynie wirtualnej.

Azure SQL Database

Usługa Azure SQL Database jest zawarta na serwerze logicznym bazy danych. W większości przypadków dedykowane wystąpienie programu SQL Server hostuje bazę danych SQL, ale nie musisz martwić się o zarządzanie wystąpieniem.

Serwer logicznej bazy danych zapewnia coś, z czym można się połączyć. Umożliwia również grupowanie określonych uprawnień i konfiguracji oraz zarządzanie nimi. W ramach każdego serwera logicznej bazy danych jest logiczną podstawową bazą danych, która może zapewnić diagnostykę na poziomie wystąpienia.

Azure SQL Database — Hiperskala

Warstwa Hiperskala w usłudze Azure SQL Database, która nie jest dostępna w usłudze Azure SQL Managed Instance, ma unikatową architekturę usługi Azure SQL. Zespół usługi Azure SQL ponownie wykrył hiperskala dla chmury. Ta architektura obejmuje wielowarstwowy system buforowania, który może pomóc zarówno w zakresie szybkości, jak i skalowania. Skalowanie i inne operacje nie są już związane z rozmiarem danych i można je wykonać w stałym czasie, czyli w ciągu kilku minut. Używanie magazynu zdalnego umożliwia również tworzenie kopii zapasowych migawek.

W kolejnym module ścieżki szkoleniowej podstaw usługi Azure SQL dowiesz się więcej o architekturze i sposobie jej wpływu na wydajność i dostępność. Jedną z kwestii podczas fazy wdrażania jest to, że po przeniesieniu bazy danych do warstwy Hiperskala nie można wrócić do warstwy Ogólnego przeznaczenia ani Krytyczne dla działania firmy.

Nadzór nad zasobami

W miarę zwiększania lub zmniejszania zasobów w warstwie usługi limity wymiarów, takich jak procesor CPU, magazyn i pamięć, mogą ulec zmianie do określonego progu. Chociaż podejście do ładu w usłudze Azure SQL ma wiele aspektów, do sprawowania nadzoru nad użyciem zasobów w tej usłudze są przede wszystkim używane trzy następujące technologie:

  • Obiekty zadań systemu Windows umożliwiają zarządzanie grupą procesów i zarządzanie nimi jako jednostka. Obiekty zadań służą do sprawowania nadzoru nad zatwierdzaniem pamięci wirtualnej pliku, limitami zestawów roboczych, koligacjami procesorów i limitami szybkości. Aby sprawdzić obowiązujące limity, można użyć dynamicznego widoku zarządzania sys.dm_os_job_object.
  • Zarządca zasobów to funkcja programu SQL Server, która ułatwia użytkownikom, a w tym przypadku platforma Azure zarządza zasobami, takimi jak procesor CPU, fizyczne we/wy i pamięć. Usługa Azure SQL Managed Instance zezwala także na zdefiniowane przez użytkownika pule i grupy obciążeń dla Zarządcy zasobów.
  • Menedżer zasobów serwera plików jest dostępny w systemie Windows Server. Zarządza limitami przydziałów katalogów plików, które są używane do zarządzania maksymalnym rozmiarem danych.

Inne implementacje do zarządzania szybkością rejestrowania transakcji są wbudowane w aparat bazy danych za pośrednictwem ładu szybkości dzienników transakcji. Ten proces ogranicza szybkości pozyskiwania dla obciążeń takich jak BULK INSERT, SELECT INTO i kompilacje indeksów. Są one śledzone i wymuszane na poziomie ułamków sekund. Obecnie są one liniowo skalowane w warstwie usług.

Weryfikacja

Po zakończeniu wdrażania nadszedł czas, aby zweryfikować to wdrożenie. Na tym etapie zazwyczaj sprawdzasz wyniki w witrynie Azure Portal lub w interfejsie wiersza polecenia platformy Azure, uruchamiasz zapytania, które weryfikują konfigurację wdrożenia i dostrajasz je w razie potrzeby.

W przypadku usług Azure SQL Managed Instance i Azure SQL Database można najpierw sprawdzić stan bazy danych lub wystąpienia przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure. Następnie możesz przejrzeć szczegóły wdrożenia i dziennik aktywności, aby upewnić się, że nie ma żadnych błędów ani aktywnych problemów.

W przypadku usługi Azure SQL Managed Instance możesz sprawdzić dziennik błędów, który jest typowym rozwiązaniem w środowisku lokalnym programu SQL Server lub na maszynie wirtualnej platformy Azure. Ta funkcja nie jest dostępna w usłudze Azure SQL Database.

Na koniec należy zwykle upewnić się, że sieć jest prawidłowo skonfigurowana, uzyskać nazwę serwera i połączyć się za pomocą narzędzia, takiego jak SQL Server Management Studio lub Azure Data Studio. Można uruchomić poniższe zapytania w celu lepszego zrozumienia wdrożonych elementów i sprawdzenia, czy zostały one wdrożone prawidłowo:

SELECT @@VERSION
SELECT * FROM sys.databases
SELECT * FROM sys.objects
SELECT * FROM sys.dm_os_schedulers
SELECT * FROM sys.dm_os_sys_info
SELECT * FROM sys.dm_os_process_memory --Not supported in Azure SQL Database
SELECT * FROM sys.dm_exec_requests
SELECT SERVERPROPERTY('EngineEdition')
SELECT * FROM sys.dm_user_db_resource_governance -- Available only in Azure SQL Database and SQL Managed Instance
SELECT * FROM sys.dm_instance_resource_governance -- Available only in Azure SQL Managed Instance
SELECT * FROM sys.dm_os_job_object -- Available only in Azure SQL Database and SQL Managed Instance

Jedno zapytanie związane z pamięcią procesu systemu operacyjnego nie jest obsługiwane w usłudze Azure SQL Database, mimo że może się wydawać, że działa. To zapytanie nie jest obsługiwane, ponieważ w przypadku usługi Azure SQL Database niektóre elementy związane z systemem operacyjnym są abstrahowane od Ciebie, co pozwala skupić się na bazie danych.

Ostatnie trzy zapytania są dostępne tylko w usługach Azure SQL Database i Azure SQL Managed Instance. Pierwszy element sys.dm_user_db_resource_governancezwraca ustawienia konfiguracji i pojemności używane przez mechanizmy nadzoru zasobów w bieżącej bazie danych lub elastycznej puli. Podobne informacje dotyczące usługi Azure SQL Managed Instance można uzyskać przy użyciu drugiego zapytania, czyli sys.dm_instance_resource_governance. Trzeci, , zwraca jeden wiersz, sys.dm_os_job_objectktóry opisuje konfigurację obiektu zadania, który zarządza procesem programu SQL Server i statystykami zużycia zasobów.

W następnych dwóch ćwiczeniach przedstawiono wszystkie szczegóły związane z wdrażaniem usługi Azure SQL Database lub azure SQL Managed Instance. Użyj subskrypcji platformy Azure, aby wdrożyć usługę Azure SQL Database. Po wdrożeniu użyjesz różnych zapytań weryfikacyjnych i wstępnie uruchomisz notesy SQL w narzędziu Azure Data Studio, aby porównać usługę SQL Database, wystąpienie zarządzane SQL i program SQL Server 2019.

Test wiedzy

1.

Które z następujących opcji mają limity w zależności od opcji wdrożenia i warstwy usługi?

2.

W przypadku sprawdzania wdrożeń istnieją nowe zapytania specyficzne dla usług Azure SQL Database i Azure SQL Managed Instance. Które z poniższych zapytań są dostępne tylko dla platformy Azure SQL jako usługi (PaaS)?