Udostępnij za pośrednictwem


Tworzenie i konfigurowanie obserwatora bazy danych (wersja zapoznawcza)

Dotyczy: Azure SQL Database Azure SQL Managed Instance

Ten artykuł zawiera szczegółowe kroki tworzenia, konfigurowania i uruchamiania obserwatora bazy danych w witrynie Azure Portal dla usług Azure SQL Database i Azure SQL Managed Instance.

Obserwator bazy danych nie wymaga wdrożenia ani obsługi żadnych agentów monitorowania ani innej infrastruktury monitorowania. Szczegółowe monitorowanie baz danych zasobów usługi Azure SQL można włączyć w ciągu kilku minut.

Aby zapoznać się z przykładem krok po kroku tworzenia i konfigurowania obserwatora bazy danych, zobacz Szybki start: tworzenie obserwatora bazy danych w celu monitorowania usługi Azure SQL.

Aby zobaczyć, jak utworzyć i skonfigurować obserwatora bazy danych za pomocą szablonu Bicep lub arm, zobacz Tworzenie obserwatora bazy danych.

Aby programowo zarządzać obserwatorami baz danych, zobacz dokumentację interfejsu API REST obserwatora bazy danych.

Uwaga

Obserwator bazy danych jest obecnie w wersji zapoznawczej.

Wymagania wstępne

Aby korzystać z obserwatora bazy danych, wymagane są następujące wymagania wstępne.

  • Potrzebna będzie aktywna subskrypcja platformy Azure. Jeśli jej nie masz, utwórz bezpłatne konto. Aby móc tworzyć zasoby, musisz być członkiem roli Współautor lub Właściciel subskrypcji lub grupy zasobów.

  • Aby skonfigurować obserwatora bazy danych, musisz mieć istniejący obiekt docelowy SQL: bazę danych Azure SQL Database, elastyczną pulę lub wystąpienie zarządzane SQL.

  • Dostawcy Microsoft.DatabaseWatcherzasobów , Microsoft.Kustoi Microsoft.Network muszą być zarejestrowani w subskrypcji platformy Azure.

    Rejestracja dostawcy zasobów jest automatyczna, jeśli masz członkostwo w roli Właściciel lub Współautor RBAC na poziomie subskrypcji. W przeciwnym razie użytkownik w jednej z tych ról musi zarejestrować dostawców zasobów przed utworzeniem i skonfigurowaniem obserwatora. Aby uzyskać dodatkowe informacje, zobacz Rejestrowanie dostawcy zasobów.

  • Użytkownik, który tworzy i konfiguruje obserwatora oraz zasoby klastra usługi Azure Data Explorer, musi być członkiem roli Właściciel lub Współautor RBAC dla grupy zasobów lub subskrypcji, w której są tworzone te zasoby.

    Ponadto w przypadku korzystania z uwierzytelniania SQL użytkownik musi być członkiem roli Właściciel grupy zasobów lub członkiem roli Właściciel lub Administrator dostępu użytkowników dla magazynu kluczy, który przechowuje poświadczenia uwierzytelniania SQL.

  • Użytkownik, który konfiguruje obserwatora, musi mieć dostęp administratora do obiektów docelowych usługi Azure SQL. Obserwator ma ograniczony, określony dostęp do obiektów docelowych monitorowania SQL. Aby uzyskać więcej informacji, zobacz Udzielanie dostępu do obiektów docelowych.

  • Aby udzielić obserwatorowi dostępu do obiektu docelowego SQL, należy wykonać skrypty języka T-SQL. Możesz użyć programu SQL Server Management Studio (SSMS), programu Azure Data Studio lub programu Visual Studio Code z rozszerzeniem mssql programu SQL Server.

  • Aby korzystać z usługi Azure Private Link do łączności prywatnej z zasobami platformy Azure, użytkownik zatwierdzający prywatny punkt końcowy musi być członkiem roli RBAC właściciela lub musi mieć wymagane uprawnienia RBAC. Aby uzyskać więcej informacji, zobacz Zatwierdzanie kontroli dostępu opartej na rolach dla prywatnego punktu końcowego.

Tworzenie obserwatora

  1. W witrynie Azure Portal w menu nawigacji wybierz pozycję Wszystkie usługi. Wybierz pozycję Monitoruj jako kategorię, a następnie w obszarze Narzędzia do monitorowania wybierz pozycję Obserwatorzy bazy danych. Alternatywnie możesz wpisać obserwatora bazy danych w polu Wyszukiwania w górnej części strony portalu i wybrać pozycję Obserwatorzy bazy danych.

    Po otworzie widoku Obserwatorzy bazy danych wybierz pozycję Utwórz.

  2. Na karcie Podstawowe wybierz subskrypcję i grupę zasobów obserwatora, wprowadź nazwę obserwatora i wybierz region świadczenia usługi Azure.

    Napiwek

    Jeśli w wersji zapoznawczej obserwator bazy danych nie jest jeszcze dostępny w Twoim regionie, możesz utworzyć go w innym regionie. Aby uzyskać więcej informacji, zobacz Dostępność regionalna.

  3. Na karcie Tożsamość stan tożsamości zarządzanej przypisanej przez system ma wartość Włączone. Obecnie tworzenie obserwatorów bez tożsamości zarządzanej przypisanej przez system nie jest obsługiwane.

  4. Wybierz magazyn danych dla obserwatora.

    Domyślnie tworzenie obserwatora tworzy również klaster usługi Azure Data Explorer i dodaje bazę danych w tym klastrze jako magazyn danych do zbierania danych monitorowania.

    • Domyślnie nowy klaster usługi Azure Data Explorer używa dodatkowej małej, zoptymalizowanej pod kątem obliczeń jednostki SKU. Jest to najbardziej ekonomiczna jednostka SKU, która nadal zapewnia umowę dotyczącą poziomu usług (SLA). Ten klaster można skalować później zgodnie z potrzebami.

    • Możesz też użyć bazy danych w istniejącym klastrze usługi Azure Data Explorer, w bezpłatnym klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego.

      1. Na karcie Magazyn danych wybierz opcję Wybierz magazyn danych, a następnie wybierz pozycję Dodaj.
      2. Wybierz bazę danych analizy w czasie rzeczywistym lub klaster usługi Azure Data Explorer.
      3. W przypadku korzystania z istniejącego klastra usługi Azure Data Explorer należy włączyć pozyskiwanie przesyłania strumieniowego.
      4. Utwórz nową bazę danych lub użyj istniejącej bazy danych.

      Uwaga

      Dowolna wybrana baza danych musi być pusta lub musi być bazą danych, która była wcześniej używana jako magazyn danych obserwatora bazy danych. Wybranie bazy danych zawierającej obiekty, które nie zostały utworzone przez obserwatora bazy danych, nie jest obsługiwane.

  5. Na karcie Obiekty docelowe SQL dodaj co najmniej jeden zasób usługi Azure SQL do monitorowania. Możesz pominąć dodawanie obiektów docelowych SQL podczas tworzenia obserwatora i dodać je później. Przed uruchomieniem obserwatora należy dodać co najmniej jeden element docelowy.

  6. Na karcie Przeglądanie i tworzenie przejrzyj konfigurację obserwatora i wybierz pozycję Utwórz. Jeśli wybierzesz domyślną opcję utworzenia nowego klastra usługi Azure Data Explorer, wdrożenie zwykle trwa od 15 do 20 minut. Jeśli wybierzesz bazę danych w istniejącym klastrze usługi Azure Data Explorer, w bezpłatnym klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego, wdrożenie zwykle trwa do pięciu minut.

  7. Po zakończeniu wdrażania przyznaj obserwatorowi dostęp do obiektów docelowych SQL.

    • Dostęp do bazy danych w nowym lub istniejącym klastrze usługi Azure Data Explorer jest udzielany automatycznie po utworzeniu obserwatora, jeśli użytkownik tworzący obserwator jest członkiem roli RBAC właściciela klastra.
    • Jednak w przypadku wybrania bazy danych należy udzielić dostępu do magazynu danych za pomocą polecenia KQL:
      • Analiza w czasie rzeczywistym w usłudze Microsoft Fabric
      • Bezpłatny klaster usługi Azure Data Explorer
  8. Utwórz zarządzane prywatne punkty końcowe , jeśli chcesz używać łączności prywatnej.

Uruchamianie i zatrzymywanie obserwatora

Po utworzeniu obserwatora nie jest uruchamiany automatycznie, ponieważ może być wymagana dodatkowa konfiguracja.

Aby uruchomić obserwatora, musi on mieć:

  • Magazyny danych
  • Co najmniej jeden element docelowy
  • Dostęp do magazynu danych i obiektów docelowych
    • Dostęp do magazynu kluczy jest również wymagany, jeśli dla dowolnego elementu docelowego wybrano uwierzytelnianie SQL.
  • Prywatna lub publiczna łączność z obiektami docelowymi, magazynem kluczy (w przypadku korzystania z uwierzytelniania SQL) i magazynem danych

Po pełnym skonfigurowaniu obserwatora na stronie Przegląd użyj przycisku Rozpocznij , aby rozpocząć zbieranie danych. W ciągu kilku minut nowe dane monitorowania są wyświetlane w magazynie danych i na pulpitach nawigacyjnych. Jeśli nie widzisz nowych danych w ciągu pięciu minut, zobacz Rozwiązywanie problemów.

Możesz zatrzymać obserwatora za pomocą przycisku Zatrzymaj , jeśli nie musisz monitorować zasobów usługi Azure SQL przez jakiś czas.

Aby ponownie uruchomić obserwatora, zatrzymaj go, a następnie uruchom go ponownie.

Modyfikowanie obserwatora

W witrynie Azure Portal można dodawać lub usuwać obiekty docelowe, tworzyć lub usuwać prywatne punkty końcowe albo używać innego magazynu danych dla istniejącego obserwatora.

Uwaga

O ile nie określono inaczej, zmiany wprowadzone w konfiguracji obserwatora staną się skuteczne po zatrzymaniu i ponownym uruchomieniu obserwatora.

Dodawanie obiektów docelowych SQL do obserwatora

Aby włączyć monitorowanie obserwatora bazy danych dla bazy danych Azure SQL Database, elastycznej puli lub wystąpienia zarządzanego SQL, należy dodać ten zasób jako element docelowy SQL.

  1. Aby dodać element docelowy, na stronie elementy docelowe SQL wybierz pozycję Dodaj.
  2. Znajdź zasób usługi Azure SQL, który chcesz monitorować. Wybierz typ zasobu i subskrypcję, a następnie wybierz element docelowy SQL z listy zasobów. Obiekt docelowy SQL może znajdować się w dowolnej subskrypcji w ramach tej samej dzierżawy identyfikatora Entra firmy Microsoft co obserwator.
  3. Aby monitorować replikę podstawową i replikę pomocniczą wysokiej dostępności bazy danych, elastycznej puli lub wystąpienia zarządzanego SQL, dodaj dwa oddzielne obiekty docelowe dla tego samego zasobu i zaznacz pole Odczyt intencji dla jednego z nich.
    • Zaznaczenie pola Odczyt intencji konfiguruje obserwatora tak, aby monitorował tylko replikę pomocniczą o wysokiej dostępności.
    • Nie zaznaczaj pola Intencja odczytu, jeśli chcesz monitorować tylko replikę podstawową lub jeśli replika pomocnicza o wysokiej dostępności nie istnieje dla tego zasobu lub jeśli funkcja skalowania odczytu w poziomie jest wyłączona.

Domyślnie obserwator bazy danych używa uwierzytelniania firmy Microsoft Entra podczas nawiązywania połączenia z obiektami docelowymi SQL. Jeśli chcesz, aby obserwator używał uwierzytelniania SQL, zaznacz pole Użyj uwierzytelniania SQL i wprowadź wymagane szczegóły. Aby uzyskać więcej informacji, zobacz Dodatkowa konfiguracja do korzystania z uwierzytelniania SQL.

Usuwanie obiektów docelowych SQL z obserwatora

Aby usunąć co najmniej jeden obiekt docelowy, otwórz stronę obiektów docelowych SQL, wybierz elementy docelowe, które chcesz usunąć na liście, a następnie wybierz pozycję Usuń.

Usunięcie obiektu docelowego zatrzymuje monitorowanie zasobu usługi Azure SQL po ponownym uruchomieniu obserwatora, ale nie usuwa rzeczywistego zasobu.

Jeśli usuniesz zasób usługi Azure SQL monitorowany przez obserwatora bazy danych, należy również usunąć odpowiedni element docelowy. Ponieważ istnieje limit liczby obiektów docelowych SQL, które może mieć obserwator, utrzymanie przestarzałych obiektów docelowych może uniemożliwić dodawanie nowych obiektów docelowych.

Tworzenie zarządzanego prywatnego punktu końcowego

Należy utworzyć zarządzane prywatne punkty końcowe , jeśli chcesz używać łączności prywatnej do zbierania danych z obiektów docelowych SQL, pozyskiwania do magazynu danych i nawiązywania połączenia z magazynem kluczy. Jeśli nie utworzysz prywatnych punktów końcowych, obserwator bazy danych domyślnie używa łączności publicznej.

Aby utworzyć zarządzany prywatny punkt końcowy:

  1. Jeśli istnieje blokada tylko do odczytu dla zasobu, grupy zasobów lub subskrypcji zasobu, dla którego tworzysz zarządzany prywatny punkt końcowy, usuń blokadę. Blokadę można dodać ponownie po pomyślnym utworzeniu prywatnego punktu końcowego.

  2. Przejdź do obserwatora bazy danych w witrynie Azure Portal, otwórz stronę Zarządzane prywatne punkty końcowe i wybierz pozycję Dodaj.

  3. Wprowadź nazwę prywatnego punktu końcowego.

  4. Wybierz subskrypcję zasobu platformy Azure, dla którego chcesz utworzyć prywatny punkt końcowy.

  5. W zależności od zasobu, dla którego chcesz utworzyć prywatny punkt końcowy, wybierz typ zasobu i zasób docelowy w następujący sposób:

    Zasób Typ zasobu Docelowy zasób podrzędny
    Serwer logiczny Microsoft.Sql/servers sqlServer
    Wystąpienie zarządzane SQL Microsoft.Sql/managedInstances managedInstance
    Klaster usługi Azure Data Explorer Microsoft.Kusto/clusters cluster
    Magazyn kluczy Microsoft.KeyVault/vaults vault
  6. Wybierz zasób, dla którego chcesz utworzyć prywatny punkt końcowy. Może to być serwer logiczny usługi Azure SQL lub wystąpienie zarządzane SQL, klaster usługi Azure Data Explorer lub magazyn kluczy.

    • Utworzenie prywatnego punktu końcowego dla serwera logicznego usługi Azure SQL Database umożliwia prywatną łączność obserwatora bazy danych dla wszystkich obiektów docelowych bazy danych i elastycznej puli na tym serwerze.
  7. Opcjonalnie wprowadź opis prywatnego punktu końcowego. Może to pomóc właścicielowi zasobu zatwierdzić żądanie.

  8. Wybierz pozycję Utwórz. Utworzenie prywatnego punktu końcowego może potrwać co najmniej jedną minutę. Prywatny punkt końcowy jest tworzony po zmianie stanu aprowizacji z Zaakceptowane lub Uruchomione na Powodzenie. Odśwież widok, aby wyświetlić bieżący stan aprowizacji.

    Ważne

    Prywatny punkt końcowy jest tworzony w stanie Oczekiwanie. Aby obserwator bazy danych mógł nawiązać połączenie z zasobem, musi go zatwierdzić właściciel zasobu.

    Aby umożliwić właścicielom zasobów kontrolowanie łączności sieciowej, prywatne punkty końcowe obserwatora bazy danych nie są zatwierdzane automatycznie.

  9. Właściciel zasobu musi zatwierdzić żądanie prywatnego punktu końcowego.

Jeśli obserwator jest już uruchomiony po zatwierdzeniu prywatnego punktu końcowego, należy go ponownie uruchomić, aby rozpocząć korzystanie z łączności prywatnej.

Usuwanie zarządzanego prywatnego punktu końcowego

  1. Jeśli istnieje blokada usuwania zasobu, grupy zasobów lub subskrypcji zasobu, dla którego usuwasz zarządzany prywatny punkt końcowy, usuń blokadę. Blokadę można dodać ponownie po pomyślnym usunięciu prywatnego punktu końcowego.
  2. Na stronie azure portal dla obserwatora bazy danych otwórz stronę Zarządzane prywatne punkty końcowe .
  3. Wybierz prywatne punkty końcowe, które chcesz usunąć.
  4. Wybierz Usuń.

Usunięcie zarządzanego prywatnego punktu końcowego uniemożliwia zbieranie danych z obiektów docelowych SQL korzystających z tego prywatnego punktu końcowego. Usunięcie zarządzanego prywatnego punktu końcowego dla klastra usługi Azure Data Explorer uniemożliwia zbieranie danych dla wszystkich obiektów docelowych. Aby wznowić zbieranie danych, utwórz ponownie prywatny punkt końcowy lub włącz łączność publiczną i uruchom ponownie obserwatora.

Zmienianie magazynu danych dla obserwatora

Obserwator może mieć tylko jeden magazyn danych.

Aby zmienić bieżący magazyn danych, usuń istniejący magazyn danych, a następnie dodaj nowy magazyn danych.

  • Aby usunąć bieżący magazyn danych, otwórz stronę Magazyn danych, wybierz magazyn danych w siatce i wybierz pozycję Usuń.

    • Usunięcie magazynu danych nie powoduje usunięcia rzeczywistej bazy danych magazynu danych w klastrze usługi Azure Data Explorer ani w usłudze Analizy w czasie rzeczywistym w usłudze Microsoft Fabric.
    • Aby zatrzymać zbieranie danych do usuniętego magazynu danych, zatrzymaj obserwatora.
    • Jeśli usuniesz magazyn danych, musisz dodać nowy magazyn danych, zanim będzie można ponownie uruchomić obserwatora.
  • Aby dodać magazyn danych, wybierz pozycję Dodaj na stronie Magazyn danych, a następnie wybierz lub utwórz bazę danych w klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego.

    • Wybrana baza danych musi być pusta lub musi być bazą danych, która była wcześniej używana jako magazyn danych obserwatora bazy danych. Wybranie bazy danych zawierającej obiekty, które nie zostały utworzone przez obserwatora bazy danych, nie jest obsługiwane.
    • Po dodaniu magazynu danych musisz przyznać obserwatorowi dostęp do niego. Aby uzyskać więcej informacji, zobacz Udzielanie dostępu do magazynu danych.
    • Nowy magazyn danych jest używany po ponownym uruchomieniu obserwatora.

Usuwanie obserwatora

Jeśli na obserwatorze znajduje się blokada usuwania, jej grupa zasobów lub subskrypcja, usuń blokadę. Blokadę można dodać ponownie po pomyślnym usunięciu obserwatora.

Usunięcie obserwatora powoduje również usunięcie przypisanej przez system tożsamości zarządzanej. Spowoduje to usunięcie wszelkich udzielonych dostępu do tej tożsamości. Jeśli utworzysz ponownie obserwatora później, musisz udzielić dostępu do tożsamości zarządzanej przypisanej przez system nowego obserwatora w celu uwierzytelnienia w każdym zasobie. Obejmuje to:

Musisz udzielić dostępu do ponownie utworzonego obserwatora, nawet jeśli używasz tej samej nazwy obserwatora.

Po usunięciu obserwatora zasoby platformy Azure, do których odwołuje się jej obiekty docelowe i magazyn danych, nie zostaną usunięte. Zebrane dane monitorowania SQL są przechowywane w magazynie danych i można użyć tej samej bazy danych usługi Azure Data Explorer lub analizy w czasie rzeczywistym co magazyn danych, jeśli utworzysz nowy obserwator później.

Udzielanie dostępu do obiektów docelowych SQL

Aby umożliwić obserwatorowi zbieranie danych monitorowania SQL, należy wykonać skrypt języka T-SQL, który przyznaje obserwatorowi określone, ograniczone uprawnienia SQL.

  • Aby wykonać skrypt w usłudze Azure SQL Database, musisz mieć dostęp administratora serwera do serwera logicznego zawierającego bazy danych i elastyczne pule, które chcesz monitorować.

    • W usłudze Azure SQL Database musisz wykonać skrypt tylko raz na serwer logiczny dla każdego tworzonego obserwatora. Dzięki temu obserwator ma dostęp do wszystkich istniejących i nowych baz danych i elastycznych pul na tym serwerze.
  • Aby wykonać skrypt w usłudze Azure SQL Managed Instance, musisz być członkiem sysadmin roli serwera lub securityadmin mieć CONTROL uprawnienie serwera w wystąpieniu zarządzanym SQL.

    • W usłudze Azure SQL Managed Instance należy wykonać skrypt w każdym wystąpieniu, które chcesz monitorować.
  1. Przejdź do obserwatora w witrynie Azure Portal, wybierz pozycję Obiekty docelowe SQL, wybierz jeden z linków Udzielanie dostępu , aby otworzyć skrypt języka T-SQL i skopiować skrypt. Upewnij się, że wybrano prawidłowy link dla typu docelowego i typu uwierzytelniania, którego chcesz użyć.

    Ważne

    Skrypt uwierzytelniania Entra firmy Microsoft w witrynie Azure Portal jest specyficzny dla obserwatora, ponieważ zawiera nazwę obserwatora. Aby uzyskać ogólną wersję tego skryptu, którą można dostosować dla każdego obserwatora, zobacz Udzielanie dostępu do obiektów docelowych SQL za pomocą skryptów języka T-SQL.

  2. W programie SQL Server Management Studio, Azure Data Studio lub innym narzędziu klienckim SQL otwórz nowe okno zapytania i połącz je master z bazą danych na serwerze logicznym Usługi Azure SQL zawierającym element docelowy lub master z bazą danych w docelowym wystąpieniu zarządzanym SQL.

  3. Wklej i wykonaj skrypt języka T-SQL, aby udzielić dostępu do obserwatora. Skrypt tworzy identyfikator logowania, którego obserwator użyje do nawiązania połączenia i przyzna określone, ograniczone uprawnienia do zbierania danych monitorowania.

    1. Jeśli używasz skryptu uwierzytelniania entra firmy Microsoft, obserwator musi być już utworzony podczas wykonywania skryptu. Ponadto należy nawiązać połączenie z uwierzytelnianiem firmy Microsoft Entra.

Jeśli później dodasz nowe obiekty docelowe do obserwatora, musisz udzielić dostępu do tych obiektów docelowych w podobny sposób, chyba że te obiekty docelowe znajdują się na serwerze logicznym, na którym już udzielono dostępu.

Udzielanie dostępu do obiektów docelowych SQL za pomocą skryptów języka T-SQL

Istnieją różne skrypty dotyczące uwierzytelniania i uwierzytelniania SQL firmy Microsoft oraz obiektów docelowych usługi Azure SQL Database i usługi Azure SQL Managed Instance.

Ważne

Zawsze używaj udostępnionych skryptów, aby udzielić dostępu do obserwatora bazy danych. Udzielanie dostępu w inny sposób może blokować zbieranie danych. Aby uzyskać więcej informacji, zobacz Autoryzacja obserwatora.

Przed wykonaniem skryptu zastąp wszystkie wystąpienia symboli zastępczych, które mogą być obecne w skrypcie, na przykład login-name-placeholder, user-name-placeholderi password-placeholder rzeczywistymi wartościami.

Udzielanie dostępu do uwierzytelnionych obserwatorów firmy Microsoft Entra

Ten skrypt tworzy identyfikator logowania uwierzytelniania firmy Microsoft Entra (wcześniej znany jako Azure Active Directory) na serwerze logicznym w usłudze Azure SQL Database. Identyfikator logowania jest tworzony dla tożsamości zarządzanej obserwatora. Skrypt udziela obserwatorowi niezbędnych i wystarczających uprawnień do zbierania danych monitorowania ze wszystkich baz danych i pul elastycznych na serwerze logicznym.

Musisz użyć nazwy obserwatora jako nazwy logowania. Skrypt należy wykonać w master bazie danych na serwerze logicznym. Musisz zalogować się przy użyciu logowania do uwierzytelniania entra firmy Microsoft, który jest administratorem serwera.

CREATE LOGIN [watcher-name-placeholder] FROM EXTERNAL PROVIDER;

ALTER SERVER ROLE ##MS_ServerPerformanceStateReader## ADD MEMBER [watcher-name-placeholder];
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [watcher-name-placeholder];
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [watcher-name-placeholder];

Udzielanie dostępu do uwierzytelnionych obserwatorów SQL

Dodatkowe kroki są wymagane w przypadku korzystania z uwierzytelniania SQL, zobacz Dodatkowa konfiguracja do korzystania z uwierzytelniania SQL.

Ten skrypt tworzy identyfikator logowania uwierzytelniania SQL na serwerze logicznym w usłudze Azure SQL Database. Przyznaje on identyfikatorowi logowania niezbędne i wystarczające uprawnienia do zbierania danych monitorowania ze wszystkich baz danych i pul elastycznych na tym serwerze logicznym.

Skrypt należy wykonać w master bazie danych na serwerze logicznym przy użyciu identyfikatora logowania, który jest administratorem serwera logicznego.

CREATE LOGIN [login-name-placeholder] WITH PASSWORD = 'password-placeholder';

ALTER SERVER ROLE ##MS_ServerPerformanceStateReader## ADD MEMBER [login-name-placeholder];
ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [login-name-placeholder];
ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [login-name-placeholder];

Dodatkowa konfiguracja do korzystania z uwierzytelniania SQL

Aby bezpiecznie przechowywać poświadczenia uwierzytelniania, korzystanie z uwierzytelniania SQL w obserwatorze bazy danych wymaga dodatkowej konfiguracji.

Napiwek

Aby uzyskać bardziej bezpieczną, prostszą i mniej podatną na błędy konfigurację, zalecamy włączenie uwierzytelniania entra firmy Microsoft dla zasobów usługi Azure SQL i użycie go zamiast uwierzytelniania SQL.

Aby skonfigurować obserwatora bazy danych w celu nawiązania połączenia z obiektem docelowym przy użyciu uwierzytelniania SQL, wykonaj następujące kroki:

  1. Utwórz magazyn w usłudze Azure Key Vault lub zidentyfikuj istniejący magazyn, którego możesz użyć. Magazyn musi używać modelu uprawnień RBAC. Model uprawnień RBAC jest domyślny dla nowych magazynów. Jeśli chcesz użyć istniejącego magazynu, upewnij się, że nie skonfigurowano go do korzystania ze starszego modelu zasad dostępu.

    Jeśli chcesz użyć prywatnej łączności z magazynem, utwórz prywatny punkt końcowy na stronie Zarządzane prywatne punkty końcowe . Wybierz Microsoft.KeyVault/vaults jako Typ zasobu i vault jako docelowy zasób podrzędny. Przed uruchomieniem obserwatora upewnij się, że prywatny punkt końcowy jest zatwierdzony.

    Jeśli chcesz korzystać z łączności publicznej, magazyn musi mieć dostęp publiczny ze wszystkich sieci. Ograniczanie łączności magazynu publicznego z określonymi sieciami nie jest obsługiwane w obserwatorze bazy danych.

  2. Utwórz identyfikator logowania uwierzytelniania SQL na każdym serwerze logicznym usługi Azure SQL lub wystąpieniu zarządzanym, które chcesz monitorować, i przyznaj określone, ograniczone uprawnienia. Użyj udostępnionych skryptów dostępu na potrzeby uwierzytelniania SQL i zastąp wartościami rzeczywistymi nazwy logowania, nazwy użytkownika i hasła. Użyj silnego hasła.

  3. W magazynie utwórz dwa wpisy tajne: wpis tajny dla nazwy logowania i oddzielny wpis tajny dla hasła. Użyj dowolnej prawidłowej nazwy jako nazwy wpisu tajnego i wprowadź nazwę logowania lub hasło użyte w skrypcie języka T-SQL jako wartość wpisu tajnego.

    Na przykład nazwy dwóch wpisów tajnych mogą mieć wartość database-watcher-login-name i database-watcher-password. Wartości wpisu tajnego to nazwa logowania i silne hasło.

    Aby utworzyć wpisy tajne, musisz być członkiem roli RBAC oficera wpisów tajnych usługi Key Vault.

  4. Na stronie Kontrola dostępu (IAM) każdego wpisu tajnego dodaj przypisanie roli dla tożsamości zarządzanej obserwatora w roli RBAC użytkownika wpisów tajnych usługi Key Vault. Aby postępować zgodnie z zasadą najniższych uprawnień, dodaj to przypisanie roli dla każdego wpisu tajnego, a nie dla całego magazynu. Strona Kontrola dostępu (IAM) jest wyświetlana tylko wtedy, gdy magazyn jest skonfigurowany do korzystania z modelu uprawnień RBAC .

  5. Dodaj element docelowy SQL do obserwatora. Podczas dodawania obiektu docelowego zaznacz pole Użyj uwierzytelniania SQL i wybierz magazyn, w którym są przechowywane nazwy logowania i wpisy tajne haseł. Wprowadź nazwy wpisów tajnych dla nazwy logowania i hasła w odpowiednich polach.

    Podczas dodawania obiektu docelowego SQL nie należy wprowadzać rzeczywistej nazwy logowania i hasła. Korzystając z wcześniejszego przykładu, należy wprowadzić nazwy wpisów tajnych database-watcher-login-name i database-watcher-password .

Jeśli chcesz użyć różnych poświadczeń uwierzytelniania SQL w różnych miejscach docelowych SQL, możesz użyć tego samego magazynu do przechowywania wszystkich wpisów tajnych.

Uwaga

Jeśli zaktualizujesz wartość wpisu tajnego dla nazwy logowania lub hasła w magazynie kluczy podczas działania obserwatora, obserwator ponownie łączy się z obiektami docelowymi przy użyciu nowych poświadczeń uwierzytelniania SQL w ciągu 15 minut. Jeśli chcesz od razu zacząć korzystać z nowych poświadczeń, zatrzymaj i uruchom ponownie obserwatora.

Udzielanie dostępu do magazynu danych

Aby utworzyć schemat bazy danych i zarządzać nim w czasie oraz pozyskiwać dane monitorowania, obserwator bazy danych wymaga członkostwa w roli RBAC administratorów w bazie danych magazynu danych w klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego. Obserwator bazy danych nie wymaga dostępu na poziomie klastra do klastra usługi Azure Data Explorer ani dostępu do innych baz danych, które mogą istnieć w tym samym klastrze.

Jeśli tworzysz nowy klaster i bazę danych usługi Azure Data Explorer lub wybierasz bazę danych w istniejącym klastrze podczas tworzenia obserwatora, ten dostęp jest udzielany automatycznie, jeśli użytkownik tworzący obserwator jest członkiem roli Właściciel RBAC dla klastra.

Jeśli zmienisz magazyn danych dla istniejącego obserwatora lub jeśli używasz bazy danych w analizie w czasie rzeczywistym lub w bezpłatnym klastrze usługi Azure Data Explorer, musisz udzielić dostępu zgodnie z opisem w tej sekcji.

Udzielanie dostępu do bazy danych usługi Azure Data Explorer przy użyciu witryny Azure Portal

Za pomocą witryny Azure Portal możesz udzielić dostępu do bazy danych w klastrze usługi Azure Data Explorer:

  1. W przypadku bazy danych w klastrze usługi Azure Data Explorer w menu zasobów w obszarze Zabezpieczenia i sieć wybierz pozycję Uprawnienia. Nie używaj strony Uprawnienia klastra.
  2. Wybierz pozycję Dodaj, a następnie wybierz pozycję Administrator.
  3. Na stronie Nowe podmioty zabezpieczeń wybierz pozycję Aplikacje dla przedsiębiorstw i wpisz nazwę obserwatora w polu Wyszukaj.
  4. Wybierz aplikację dla przedsiębiorstw o takiej samej nazwie jak obserwator.

Udzielanie dostępu do bazy danych usługi Azure Data Explorer przy użyciu języka KQL

Zamiast korzystać z witryny Azure Portal, możesz również udzielić dostępu do bazy danych przy użyciu polecenia KQL. Użyj tej metody, aby udzielić dostępu do bazy danych w analizie czasu rzeczywistego lub w bezpłatnym klastrze usługi Azure Data Explorer.

  1. Nawiąż połączenie z bazą danych w klastrze usługi Azure Data Explorer przy użyciu narzędzia Kusto Explorer lub internetowego interfejsu użytkownika usługi Azure Data Explorer.

  2. W poniższym przykładowym poleceniu KQL zastąp trzy symbole zastępcze, jak wspomniano w tabeli:

    .add database [adx-database-name-placeholder] admins ('aadapp=watcher-object-id-placeholder;tenant-primary-domain-placeholder');
    
    Symbol zastępczy Zastąpienie
    adx-database-name-placeholder Nazwa bazy danych w klastrze usługi Azure Data Explorer lub w analizie w czasie rzeczywistym.
    watcher-object-id-placeholder Wartość identyfikatora obiektu (podmiotu zabezpieczeń) (identyfikator GUID) znaleziony na stronie Tożsamość obserwatora.
    tenant-primary-domain-placeholder Nazwa domeny dzierżawy microsoft Entra ID obserwatora. Znajdź to na stronie Przegląd identyfikatora entra firmy Microsoft w witrynie Azure Portal. Zamiast domeny podstawowej dzierżawy można również użyć wartości identyfikatora GUID identyfikatora dzierżawy.

    Możesz pominąć tę część polecenia (i poprzedni średnik), jeśli obserwator i klaster usługi Azure Data Explorer znajdują się w tej samej dzierżawie identyfikatora Entra firmy Microsoft.

    Na przykład:

    .add database [watcher_data_store] admins ('aadapp=9da7bf9d-3098-46b4-bd9d-3b772c274931;contoso.com');
    

Aby uzyskać więcej informacji, zobacz Kusto role-based access control (Kontrola dostępu oparta na rolach w usłudze Kusto).

Udzielanie użytkownikom i grupom dostępu do magazynu danych

Możesz użyć witryny Azure Portal lub polecenia KQL, aby udzielić użytkownikom i grupom dostępu do bazy danych w klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego. Aby udzielić dostępu, musisz być członkiem roli RBAC administratora w bazie danych.

Użyj polecenia KQL, aby udzielić dostępu do bazy danych w bezpłatnym klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego. Aby postępować zgodnie z zasadą najniższych uprawnień, zalecamy, aby domyślnie nie dodawać użytkowników i grup do żadnej roli RBAC innej niż Osoba przeglądająca .

Ważne

Podczas udzielania dostępu do wyświetlania danych zbieranych przez obserwatora bazy danych należy uważnie rozważyć wymagania dotyczące prywatności i zabezpieczeń danych.

Mimo że obserwator bazy danych nie ma możliwości zbierania żadnych danych przechowywanych w tabelach użytkowników w bazach danych SQL, niektóre zestawy danych, takie jak aktywne sesje, metadane indeksu, brakujące indeksy, statystyki środowiska uruchomieniowego zapytań, statystyki oczekiwania zapytań, statystyki sesji i metadane tabeli mogą zawierać potencjalnie poufne dane, takie jak nazwy tabel i indeksów, tekst zapytania, wartości parametrów zapytania, nazwy logowania itp.

Udzielając dostępu do widoku do magazynu danych użytkownikowi, który nie ma dostępu do wyświetlania tych danych w bazie danych SQL, możesz zezwolić im na wyświetlanie poufnych danych, których nie będą mogli zobaczyć w inny sposób.

Udzielanie dostępu do magazynu danych przy użyciu witryny Azure Portal

Za pomocą witryny Azure Portal można udzielić użytkownikom i grupom dostępu do bazy danych w klastrze usługi Azure Data Explorer:

  1. W przypadku bazy danych w klastrze usługi Azure Data Explorer w menu zasobów w obszarze Zabezpieczenia i sieć wybierz pozycję Uprawnienia. Nie używaj strony Uprawnienia klastra.
  2. Wybierz pozycję Dodaj, a następnie wybierz pozycję Osoby przeglądające.
  3. Na stronie Nowe podmioty zabezpieczeń wpisz nazwę użytkownika lub grupy w polu Wyszukaj.
  4. Wybierz użytkownika lub grupę.

Udzielanie dostępu do magazynu danych przy użyciu języka KQL

Zamiast korzystać z witryny Azure Portal, można również udzielić użytkownikom i grupom dostępu do bazy danych przy użyciu polecenia KQL. Następujące przykładowe polecenia KQL udzielają użytkownikowi dostępu do mary@contoso.com odczytu danych i SQLMonitoringUsers@contoso.com do grupy w dzierżawie microsoft Entra ID z określoną wartością identyfikatora dzierżawy:

.add database [watcher_data_store] viewers ('aaduser=mary@contoso.com');

.add database [watcher_data_store] viewers ('aadgroup=SQLMonitoringUsers@contoso.com;8537e70e-7fb8-43d3-aac5-8b30fb3dcc4c');

Aby uzyskać więcej informacji, zobacz Kusto role-based access control (Kontrola dostępu oparta na rolach w usłudze Kusto).

Aby udzielić dostępu do magazynu danych użytkownikom i grupom z innej dzierżawy, należy włączyć uwierzytelnianie między dzierżawami w klastrze usługi Azure Data Explorer. Aby uzyskać więcej informacji, zobacz Zezwalanie na zapytania i polecenia między dzierżawami.

Napiwek

Uwierzytelnianie między dzierżawami jest włączone w analizie w czasie rzeczywistym i w bezpłatnych klastrach usługi Azure Data Explorer. Dzięki temu można udzielić dostępu do użytkowników i grup w dzierżawie identyfikatora Entra firmy Microsoft w celu wyświetlania danych w tych bazach danych.

Zarządzanie magazynem danych

W tej sekcji opisano sposób zarządzania magazynem danych monitorowania, w tym skalowaniem, przechowywaniem danych i inną konfiguracją. Zagadnienia dotyczące skalowania klastra w tej sekcji są istotne, jeśli używasz bazy danych w klastrze usługi Azure Data Explorer. Jeśli używasz bazy danych w analizie czasu rzeczywistego w sieci szkieletowej, skalowanie jest zarządzane automatycznie.

Skalowanie klastra usługi Azure Data Explorer

Klaster usługi Azure Data Explorer można skalować zgodnie z potrzebami. Na przykład możesz skalować klaster w dół do dodatkowej małej, jednostki SKU tworzenia i testowania , jeśli umowa dotycząca poziomu usług (SLA) nie jest wymagana, a wydajność zapytań i pozyskiwania danych pozostanie akceptowalna.

W przypadku wielu wdrożeń obserwatora bazy danych domyślna dodatkowa mała, zoptymalizowana pod kątem obliczeń jednostka SKU klastra 2 wystąpień będzie wystarczająca na czas nieokreślony. W niektórych przypadkach w zależności od konfiguracji i zmian obciążenia w czasie może być konieczne skalowanie klastra w celu zapewnienia odpowiedniej wydajności zapytań i utrzymania małego opóźnienia pozyskiwania danych.

Usługa Azure Data Explorer obsługuje skalowanie w pionie i w poziomie klastra. Skalowanie w pionie powoduje zmianę jednostki SKU klastra, która zmienia liczbę procesorów wirtualnych, pamięci i pamięci podręcznej na wystąpienie (węzeł). W przypadku skalowania w poziomie jednostka SKU pozostaje taka sama, ale liczba wystąpień w klastrze jest zwiększana lub zmniejszana.

Jeśli zauważysz co najmniej jeden z następujących objawów, musisz skalować klaster w poziomie lub w górę (w pionie):

  • Wydajność zapytań pulpitu nawigacyjnego lub ad hoc staje się zbyt niska.
  • Uruchamiasz wiele współbieżnych zapytań w klastrze i obserwujesz błędy ograniczania przepustowości.
  • Opóźnienie pozyskiwania danych staje się stale wyższe niż dopuszczalne.

Ogólnie rzecz biorąc, nie trzeba skalować klastra, ponieważ ilość danych w magazynie danych zwiększa się wraz z upływem czasu. Dzieje się tak, ponieważ zapytania pulpitu nawigacyjnego i najczęściej używane zapytania analityczne używają tylko najnowszych danych, które są buforowane w lokalnym magazynie SSD w węzłach klastra.

Jednak w przypadku uruchamiania zapytań analitycznych obejmujących dłuższe zakresy czasu mogą one stać się wolniejsze w miarę wzrostu całkowitej ilości zebranych danych i nie mieszczą się już w lokalnym magazynie SSD. Skalowanie klastra może być konieczne w celu zachowania odpowiedniej wydajności zapytań w tym przypadku.

  • Jeśli musisz skalować klaster, zalecamy skalowanie go w poziomie w celu zwiększenia liczby wystąpień. Dzięki temu klaster jest dostępny na potrzeby zapytań i pozyskiwania podczas procesu skalowania.

    • Możesz włączyć zoptymalizowane autoskalowanie , aby automatycznie zmniejszyć lub zwiększyć liczbę wystąpień w odpowiedzi na zmiany obciążenia lub trendy sezonowe.
  • Może się okazać, że nawet po skalowaniu klastra w poziomie niektóre zapytania nadal nie działają zgodnie z oczekiwaniami. Może się tak zdarzyć, jeśli wydajność zapytań jest powiązana z zasobami dostępnymi w wystąpieniu (węźle) klastra. W takim przypadku skaluj klaster w górę w pionie.

    • Skalowanie klastra w pionie trwa kilka minut. W trakcie tego procesu występuje okres przestoju, który może przerwać zbieranie danych przez obserwatora. Jeśli tak się stanie, zatrzymaj i uruchom ponownie obserwatora po zakończeniu operacji skalowania.

Nie można skalować bezpłatnego klastra usługi Azure Data Explorer. Jeśli okaże się, że specyfikacje bezpłatnego klastra nie są wystarczające dla Twoich wymagań, przeprowadź uaktualnienie do pełnego klastra usługi Azure Data Explorer. Proces uaktualniania zachowuje wszystkie zebrane dane. Ponieważ podczas uaktualniania może wystąpić przestój, może być konieczne zatrzymanie i ponowne uruchomienie obserwatora w celu wznowienia zbierania danych po zakończeniu uaktualniania.

Zarządzanie przechowywaniem danych

Jeśli nie potrzebujesz starszych danych, możesz skonfigurować zasady przechowywania danych tak, aby przeprowadzać automatyczne czyszczenie. Domyślnie przechowywanie danych jest ustawione na 365 dni w nowej bazie danych w klastrze usługi Azure Data Explorer lub w przypadku analiz w czasie rzeczywistym.

  • Okres przechowywania danych można zmniejszyć na poziomie bazy danych lub dla poszczególnych tabel w bazie danych.
  • Możesz również wydłużyć okres przechowywania, jeśli musisz przechowywać dane monitorowania dłużej niż przez jeden rok. Nie ma górnego limitu okresu przechowywania danych.
  • Jeśli skonfigurujesz różne okresy przechowywania danych dla różnych tabel, pulpity nawigacyjne mogą nie działać zgodnie z oczekiwaniami dla starszych zakresów czasu. Może się tak zdarzyć, jeśli dane są nadal obecne w niektórych tabelach, ale są już czyszczone w innych tabelach dla tego samego interwału czasu.

Schemat i dostęp do zmian w magazynie danych obserwatora bazy danych

Z czasem firma Microsoft może wprowadzać nowe zestawy danych obserwatora bazy danych lub rozszerzać istniejące zestawy danych. Oznacza to, że nowe tabele w magazynie danych lub nowe kolumny w istniejących tabelach mogą zostać dodane automatycznie.

Aby to zrobić, tożsamość zarządzana obserwatora bazy danych musi być członkiem roli RBAC administratorów w magazynie danych. Odwołanie tego członkostwa w roli lub zastąpienie go członkostwem w dowolnej innej roli RBAC może mieć wpływ na zbieranie danych obserwatora bazy danych i zarządzanie schematem i nie jest obsługiwane.

Podobnie tworzenie nowych obiektów, takich jak tabele, tabele zewnętrzne, zmaterializowane widoki, funkcje itp. w magazynie danych obserwatora bazy danych nie jest obsługiwane. Zapytania między klastrami i między bazami danych umożliwiają wykonywanie zapytań dotyczących danych w magazynie danych z innych klastrów usługi Azure Data Explorer lub z innych baz danych w tym samym klastrze.

Ważne

Jeśli zmienisz dostęp obserwatora bazy danych do jego magazynu danych lub wprowadzisz zmiany schematu lub konfiguracji bazy danych, które mają wpływ na pozyskiwanie danych, może być konieczne zmianę magazynu danych dla tego obserwatora na nową pustą bazę danych i przyznanie obserwatorowi dostępu do tej nowej bazy danych w celu wznowienia zbierania danych i przywrócenie obsługiwanej konfiguracji.

Zatrzymano klastry usługi Azure Data Explorer

Klaster usługi Azure Data Explorer można zatrzymać, na przykład w celu zaoszczędzenia kosztów. Domyślnie klaster usługi Azure Data Explorer utworzony w witrynie Azure Portal jest automatycznie zatrzymywany po kilku dniach braku aktywności. Na przykład może się to zdarzyć, jeśli zatrzymasz obserwatora, który pozysuje dane do jedynej bazy danych w klastrze, i nie uruchamia żadnych zapytań w tej bazie danych.

Jeśli używasz opcji domyślnej, aby utworzyć nowy klaster usługi Azure Data Explorer podczas tworzenia nowego obserwatora, zachowanie automatycznego zatrzymywania jest wyłączone, aby umożliwić nieprzerwane zbieranie danych.

Jeśli klaster zostanie zatrzymany, zbieranie danych obserwatora bazy danych również zostanie zatrzymane, a dane monitorowania nie będą wyświetlane na pulpitach nawigacyjnych. Aby wznowić zbieranie danych i udostępnić je za pośrednictwem pulpitów nawigacyjnych, należy ręcznie wznowić klaster. Po uruchomieniu klastra uruchom ponownie obserwatora.

Możesz wyłączyć zachowanie automatycznego zatrzymywania, jeśli klaster ma pozostać dostępny nawet wtedy, gdy jest nieaktywny. Może to zwiększyć koszt klastra.

Pozyskiwanie danych za pośrednictwem przesyłania strumieniowego

Obserwator bazy danych wymaga włączenia klastra usługi Azure Data Explorer zawierającego bazę danych magazynu danych. Pozyskiwanie przesyłania strumieniowego jest automatycznie włączone dla nowego klastra usługi Azure Data Explorer utworzonego podczas tworzenia nowego obserwatora. Jest ona również włączona w analizie w czasie rzeczywistym i w bezpłatnym klastrze usługi Azure Data Explorer.

Jeśli chcesz użyć istniejącego klastra usługi Azure Data Explorer, najpierw włącz pozyskiwanie przesyłania strumieniowego. Trwa to kilka minut i uruchamia ponownie klaster.

Monitorowanie dużych posiadłości

Aby monitorować dużą pulę danych Azure SQL, może być konieczne utworzenie wielu obserwatorów.

Każdy obserwator wymaga bazy danych w klastrze usługi Azure Data Explorer lub w analizie czasu rzeczywistego jako magazynu danych. Utworzone obserwatorzy mogą używać pojedynczej bazy danych jako wspólnego magazynu danych lub oddzielnych baz danych jako oddzielnych magazynów danych. Poniższe zagadnienia mogą pomóc w wyborze optymalnego projektu dla scenariuszy monitorowania i wymagań.

Zagadnienia dotyczące wspólnego magazynu danych:

  • Istnieje widok z jednym okienkiem szkła dla całej akcji Usługi Azure SQL.
  • Jednak użytkownicy z dostępem do magazynu danych mają dostęp do wszystkich danych monitorowania.

Zagadnienia dotyczące oddzielnych magazynów danych:

  • Podzestawy majątku usługi Azure SQL są monitorowane niezależnie. Pulpity nawigacyjne nieruchomości w witrynie Azure Portal pokazują dane z jednego magazynu danych. Użytkownicy z dostępem do wielu magazynów danych mogą używać zapytań KQL między klastrami lub między bazami danych w celu uzyskania dostępu do danych monitorowania w wielu magazynach danych przy użyciu jednego zapytania.
  • Ponieważ dostęp do danych w usłudze Azure Data Explorer i w analizie w czasie rzeczywistym jest zarządzany na bazę danych, możesz zarządzać dostępem do danych monitorowania dla podzbiorów majątku w szczegółowy sposób.
  • Możesz umieścić wiele baz danych w tym samym klastrze usługi Azure Data Explorer, aby udostępniać zasoby klastra i oszczędzać koszty, jednocześnie zachowując izolację danych w każdej bazie danych.
  • Jeśli potrzebujesz całkowitego rozdzielenia środowisk, w tym dostępu sieciowego do klastrów usługi Azure Data Explorer, możesz umieścić różne bazy danych w różnych klastrach.