Włączanie Szczegółowe informacje SQL (wersja zapoznawcza)
Dotyczy: Azure SQL DatabaseAzure SQL Managed Instance
W tym artykule opisano sposób włączania Szczegółowe informacje SQL (wersja zapoznawcza) w celu monitorowania wdrożeń SQL. Monitorowanie jest wykonywane z maszyny wirtualnej platformy Azure, która nawiązuje połączenie z wdrożeniami SQL i używa dynamicznych widoków zarządzania (DMV) do zbierania danych monitorowania. Możesz kontrolować, jakie zestawy danych są zbierane, oraz częstotliwość zbierania przy użyciu profilu monitorowania.
Uwaga
Aby włączyć Szczegółowe informacje SQL (wersja zapoznawcza), tworząc profil monitorowania i maszynę wirtualną przy użyciu szablonu usługi Resource Manager, zobacz Przykłady szablonów usługi Resource Manager dla Szczegółowe informacje SQL (wersja zapoznawcza).
Aby dowiedzieć się, jak włączyć Szczegółowe informacje SQL (wersja zapoznawcza), możesz również zapoznać się z tym odcinek uwidoczniony w danych.
Tworzenie obszaru roboczego usługi Log Analytics
Usługa SQL Szczegółowe informacje przechowuje swoje dane w co najmniej jednym obszarze roboczym usługi Log Analytics. Aby włączyć Szczegółowe informacje SQL, musisz utworzyć obszar roboczy lub wybrać istniejący. Pojedynczy obszar roboczy może być używany z wieloma profilami monitorowania, ale obszar roboczy i profile muszą znajdować się w tym samym regionie świadczenia usługi Azure. Aby włączyć funkcje w usłudze SQL Szczegółowe informacje i uzyskiwać do tych funkcji, musisz mieć rolę współautora usługi Log Analytics w obszarze roboczym.
Tworzenie użytkownika monitorowania
Potrzebujesz użytkownika (identyfikatora logowania) we wdrożeniach SQL, które chcesz monitorować. Postępuj zgodnie z poniższymi procedurami dla różnych typów wdrożeń SQL.
Poniższe instrukcje obejmują proces dla każdego typu bazy danych SQL, którą można monitorować. Aby to osiągnąć za pomocą skryptu na kilku zasobach SQL jednocześnie, zapoznaj się z następującym plikiem README i przykładowym skryptem.
Azure SQL Database
Uwaga
Program SQL Szczegółowe informacje (wersja zapoznawcza) nie obsługuje następujących scenariuszy usługi Azure SQL Database:
- Pule elastyczne: nie można zbierać metryk dla pul elastycznych. Nie można zbierać metryk dla baz danych w pulach elastycznych.
- Warstwy usług niskich: nie można zbierać metryk dla baz danych w celach usługi Podstawowa, S0 i S1
Usługa SQL Szczegółowe informacje (wersja zapoznawcza) ma ograniczoną obsługę następujących scenariuszy usługi Azure SQL Database:
- Warstwa bezserwerowa: Metryki można zbierać dla baz danych przy użyciu bezserwerowej warstwy obliczeniowej. Jednak proces zbierania metryk spowoduje zresetowanie czasomierza opóźnienia automatycznego wstrzymania, co uniemożliwia bazie danych wprowadzanie stanu automatycznego wstrzymania.
Połączenie do bazy danych Azure SQL Database za pomocą polecenia PROGRAM SQL Server Management Studio, Edytor Power Query (wersja zapoznawcza) w witrynie Azure Portal lub inne narzędzie klienckie SQL.
Uruchom następujący skrypt, aby utworzyć użytkownika z wymaganymi uprawnieniami. Zastąp użytkownika nazwą użytkownika i nazwą mystrongpassword silnym hasłem.
CREATE USER [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW DATABASE STATE TO [user];
GO
Sprawdź, czy użytkownik został utworzony.
select name as username,
create_date,
modify_date,
type_desc as type,
authentication_type_desc as authentication_type
from sys.database_principals
where type not in ('A', 'G', 'R', 'X')
and sid is not null
order by username
Wystąpienie zarządzane Azure SQL
Połączenie do usługi Azure SQL Managed Instance przy użyciu polecenia Program SQL Server Management Studio lub podobne narzędzie i wykonaj następujący skrypt, aby utworzyć użytkownika monitorowania z wymaganymi uprawnieniami. Zastąp użytkownika nazwą użytkownika i nazwą mystrongpassword silnym hasłem.
USE master;
GO
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [user];
GO
GRANT VIEW ANY DEFINITION TO [user];
GO
SQL Server
Połączenie do programu SQL Server na maszynie wirtualnej platformy Azure i użyj polecenia PROGRAM SQL Server Management Studio lub podobne narzędzie do uruchamiania następującego skryptu w celu utworzenia użytkownika monitorowania z wymaganymi uprawnieniami. Zastąp użytkownika nazwą użytkownika i nazwą mystrongpassword silnym hasłem.
USE master;
GO
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [user];
GO
GRANT VIEW ANY DEFINITION TO [user];
GO
Sprawdź, czy użytkownik został utworzony.
select name as username,
create_date,
modify_date,
type_desc as type
from sys.server_principals
where type not in ('A', 'G', 'R', 'X')
and sid is not null
order by username
Tworzenie maszyny wirtualnej platformy Azure
Należy utworzyć co najmniej jedną maszynę wirtualną platformy Azure, która będzie używana do zbierania danych w celu monitorowania bazy danych SQL.
Uwaga
Profile monitorowania określają, jakie dane będą zbierane z różnych typów usługi SQL, które chcesz monitorować. Każda maszyna wirtualna monitorowania może mieć skojarzony tylko jeden profil monitorowania. Jeśli potrzebujesz wielu profilów monitorowania, musisz utworzyć maszynę wirtualną dla każdego z nich.
Wymagania maszyny wirtualnej platformy Azure
Maszyna wirtualna platformy Azure ma następujące wymagania:
- System operacyjny: Ubuntu 18.04 przy użyciu obrazu witryny Azure Marketplace. Obrazy niestandardowe nie są obsługiwane. Aby uzyskać rozszerzoną konserwację zabezpieczeń dla tej wersji systemu Ubuntu, zalecamy użycie obrazu platformy handlowej Ubuntu Pro 18.04 LTS. Aby uzyskać więcej informacji, zobacz Obsługa systemów Linux i technologii open source na platformie Azure.
- Zalecane minimalne rozmiary maszyn wirtualnych platformy Azure: Standard_B2s (2 procesory CPU, pamięć 4 GiB)
- Wdrożono w dowolnym regionie świadczenia usługi Azure Obsługiwanym przez agenta usługi Azure Monitor i spełniono wszystkie wymagania wstępne agenta usługi Azure Monitor.
Uwaga
Rozmiar maszyny wirtualnej Standard_B2s (2 procesory CPU, 4 GiB) będzie obsługiwać maksymalnie 100 parametry połączenia. Nie należy przydzielać więcej niż 100 połączeń do jednej maszyny wirtualnej.
W zależności od ustawień sieci zasobów SQL może być konieczne umieszczenie maszyn wirtualnych w tej samej sieci wirtualnej co zasoby SQL, aby umożliwić nawiązywanie połączeń sieciowych w celu zbierania danych monitorowania.
Konfigurowanie ustawień sieciowych
Każdy typ bazy danych SQL oferuje metody dla maszyny wirtualnej monitorowania w celu bezpiecznego uzyskiwania dostępu do bazy danych SQL. W poniższych sekcjach opisano opcje oparte na typie wdrożenia SQL.
Azure SQL Database
Usługa SQL Szczegółowe informacje obsługuje uzyskiwanie dostępu do usługi Azure SQL Database za pośrednictwem publicznego punktu końcowego, a także z sieci wirtualnej.
Aby uzyskać dostęp za pośrednictwem publicznego punktu końcowego, należy dodać regułę na stronie Ustawienia zapory i w sekcji Ustawienia zapory adresów IP w witrynie Azure Portal. Aby określić dostęp z sieci wirtualnej, można ustawić reguły zapory sieci wirtualnej i ustawić tagi usług wymagane przez agenta usługi Azure Monitor.
Wystąpienie zarządzane Azure SQL
Jeśli maszyna wirtualna monitorowania będzie znajdować się w tej samej sieci wirtualnej co zasoby wystąpienia zarządzanego SQL, zobacz Połączenie wewnątrz tej samej sieci wirtualnej. Jeśli maszyna wirtualna monitorowania będzie znajdować się w innej sieci wirtualnej niż zasoby wystąpienia zarządzanego SQL, zobacz Połączenie wewnątrz innej sieci wirtualnej.
SQL Server
Jeśli maszyna wirtualna monitorowania znajduje się w tej samej sieci wirtualnej co zasoby maszyny wirtualnej SQL, zobacz Połączenie do programu SQL Server w sieci wirtualnej. Jeśli maszyna wirtualna monitorowania będzie znajdować się w innej sieci wirtualnej niż zasoby maszyny wirtualnej SQL, zobacz Połączenie do programu SQL Server przez Internet.
Przechowywanie hasła monitorowania w usłudze Azure Key Vault
Najlepszym rozwiązaniem w zakresie zabezpieczeń jest zdecydowanie zalecane przechowywanie haseł użytkownika SQL (identyfikatora logowania) w usłudze Key Vault zamiast wprowadzania ich bezpośrednio do parametry połączenia profilu monitorowania.
Podczas konfigurowania profilu na potrzeby monitorowania SQL potrzebne będą jedno z następujących uprawnień do zasobu usługi Key Vault, którego zamierzasz użyć:
- Microsoft.Authorization/roleAssignments/write
- Microsoft.Authorization/roleAssignments/delete
Jeśli masz te uprawnienia, nowe zasady dostępu usługi Key Vault zostaną automatycznie utworzone w ramach tworzenia profilu monitorowania SQL, który używa określonego magazynu kluczy.
Ważne
Należy upewnić się, że konfiguracja sieci i zabezpieczeń umożliwia maszynie wirtualnej monitorowania dostęp do usługi Key Vault. Aby uzyskać więcej informacji, zobacz Access Azure Key Vault behind a firewall (Uzyskiwanie dostępu do usługi Azure Key Vault za zaporą ) i Configure Azure Key Vault networking settings (Konfigurowanie ustawień sieci usługi Azure Key Vault).
Tworzenie profilu monitorowania SQL
Otwórz Szczegółowe informacje SQL (wersja zapoznawcza), wybierając pozycję SQL (wersja zapoznawcza) w sekcji Szczegółowe informacje menu usługi Azure Monitor w witrynie Azure Portal. Wybierz pozycję Utwórz nowy profil.
Profil będzie przechowywać informacje, które mają być zbierane z systemów SQL. Ma określone ustawienia dla:
- Azure SQL Database
- Wystąpienie zarządzane Azure SQL
- Program SQL Server uruchomiony na maszynach wirtualnych
Możesz na przykład utworzyć jeden profil o nazwie SQL Production i inny o nazwie SQL Staging z różnymi ustawieniami częstotliwości zbierania danych, zbierania danych i obszaru roboczego do wysłania danych.
Profil jest przechowywany jako zasób reguły zbierania danych w wybranej subskrypcji i grupie zasobów. Każdy profil wymaga następujących elementów:
- Name. Nie można edytować po utworzeniu.
- Lokalizacja. Jest to region świadczenia usługi Azure.
- Obszar roboczy usługi Log Analytics do przechowywania danych monitorowania.
- Ustawienia kolekcji dotyczące częstotliwości i typu danych monitorowania sql do zebrania.
Uwaga
Lokalizacja profilu powinna znajdować się w tej samej lokalizacji co obszar roboczy usługi Log Analytics, do którego planujesz wysłać dane monitorowania.
Po wprowadzeniu szczegółów profilu monitorowania wybierz pozycję Utwórz profil monitorowania . Wdrożenie profilu może potrwać do minuty. Jeśli nie widzisz nowego profilu na liście w polu kombi Monitorowanie profilu , wybierz przycisk odświeżania i powinien pojawić się po zakończeniu wdrażania. Po wybraniu nowego profilu wybierz kartę Zarządzanie profilem , aby dodać maszynę monitorowania, która zostanie skojarzona z profilem.
Dodawanie maszyny monitorowania
Wybierz pozycję Dodaj maszynę monitorowania, aby otworzyć panel kontekstowy, aby wybrać maszynę wirtualnąAdd monitoring virtual machine
, z której mają być monitorowane wystąpienia SQL, i udostępnić parametry połączenia.
Wybierz subskrypcję i nazwę maszyny wirtualnej monitorowania. Jeśli używasz usługi Key Vault do przechowywania haseł dla identyfikatorów logowania monitorowania (zdecydowanie zalecane), wybierz subskrypcję tej usługi Key Vault w obszarze Key vault subscriptions
, a następnie wybierz usługę Key Vault, która przechowuje wpisy tajne w obszarze KeyVault
. Connection strings
W polu wprowadź identyfikator URI magazynu i nazwę wpisu tajnego dla każdego hasła, które ma być używane w parametry połączenia.
Jeśli na przykład identyfikator URI usługi Key Vault to https://mykeyvault.vault.azure.net/
, a nazwy wpisów tajnych to sqlPassword1
, sqlPassword2
kod JSON w Connection strings
polu będzie zawierać następujące elementy:
{
"secrets": {
"telegrafPassword1": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword1"
},
"telegrafPassword2": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword2"
}
}
}
Teraz możesz odwoływać się do tych wpisów tajnych dalej w Connection strings
polu. W poniższym przykładzie dwa parametry połączenia odwołują się do telegrafPassword1
zdefiniowanych wcześniej wpisów tajnych i telegrafPassword2
:
{
"sqlAzureConnections": [
"Server=mysqlserver.database.windows.net;Port=1433;Database=mydatabase;User Id=telegraf;Password=$telegrafPassword1;"
],
"sqlVmConnections": [
"Server=mysqlserver1;Port=1433;Database=master;User Id=telegraf;Password=$telegrafPassword2;"
]
}
Aby uzyskać szczegółowe informacje na temat identyfikowania parametry połączenia dla różnych wdrożeń SQL, zobacz następną sekcję.
Dodawanie parametry połączenia
Parametry połączenia określa nazwę logowania, która Szczegółowe informacje SQL (wersja zapoznawcza) powinna być używana podczas logowania się do programu SQL w celu zbierania danych monitorowania. Jeśli używasz usługi Key Vault do przechowywania hasła użytkownika monitorowania, podaj identyfikator URI usługi Key Vault i nazwę wpisu tajnego zawierającego hasło.
Parametry połączeń różnią się w zależności od typu zasobu SQL:
Azure SQL Database
Połączenia TCP z maszyny monitorowania z adresem IP i portem używanym przez bazę danych muszą być dozwolone przez zapory lub sieciowe grupy zabezpieczeń, które mogą istnieć na ścieżce sieciowej. Aby uzyskać szczegółowe informacje na temat adresów IP i portów, zobacz Architektura łączności usługi Azure SQL Database.
Wprowadź parametry połączenia w formularzu:
"sqlAzureConnections": [
"Server=mysqlserver1.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;",
"Server=mysqlserver2.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;"
]
Pobierz szczegóły ze strony ciągów Połączenie ion i odpowiedniego punktu końcowego ADO.NET dla bazy danych.
Aby monitorować pomocniczą możliwość odczytu, dołącz ;ApplicationIntent=ReadOnly
do parametry połączenia. Szczegółowe informacje SQL obsługuje monitorowanie pojedynczej pomocniczej wersji. Zebrane dane zostaną otagowane w celu odzwierciedlenia podstawowego lub pomocniczego.
Wystąpienie zarządzane Azure SQL
Połączenia TCP z maszyny monitorowania z adresem IP i portem używanym przez wystąpienie zarządzane muszą być dozwolone przez zapory lub sieciowe grupy zabezpieczeń, które mogą istnieć na ścieżce sieciowej. Aby uzyskać szczegółowe informacje na temat adresów IP i portów, zobacz Typy połączeń usługi Azure SQL Managed Instance.
Wprowadź parametry połączenia w formularzu:
"sqlManagedInstanceConnections": [
"Server= mysqlserver1.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;",
"Server= mysqlserver2.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;"
]
Pobierz szczegóły ze strony ciągów Połączenie ion i odpowiedniego punktu końcowego ADO.NET dla wystąpienia zarządzanego. W przypadku korzystania z publicznego punktu końcowego wystąpienia zarządzanego zastąp port 1433 numerem 3342.
Aby monitorować pomocniczą możliwość odczytu, dołącz ;ApplicationIntent=ReadOnly
do parametry połączenia. Usługa SQL Szczegółowe informacje obsługuje monitorowanie pojedynczej repliki pomocniczej wysokiej dostępności dla danej podstawowej bazy danych. Zebrane dane zostaną otagowane w celu odzwierciedlenia podstawowego lub pomocniczego.
SQL Server
Protokół TCP/IP musi być włączony dla wystąpienia programu SQL Server, które chcesz monitorować. Połączenia TCP z maszyny monitorowania z adresem IP i portem używanym przez wystąpienie programu SQL Server muszą być dozwolone przez zapory lub sieciowe grupy zabezpieczeń, które mogą istnieć na ścieżce sieciowej.
Jeśli chcesz monitorować program SQL Server skonfigurowany pod kątem wysokiej dostępności (przy użyciu grup dostępności lub wystąpień klastra trybu failover), zalecamy monitorowanie każdego wystąpienia programu SQL Server w klastrze indywidualnie, a nie nawiązywanie połączenia za pośrednictwem odbiornika grupy dostępności lub nazwy klastra trybu failover. Dzięki temu dane monitorowania są zbierane niezależnie od bieżącej roli wystąpienia (podstawowej lub pomocniczej).
Wprowadź parametry połączenia w formularzu:
"sqlVmConnections": [
"Server=SQLServerInstanceIPAddress1;Port=1433;User Id=$username;Password=$password;",
"Server=SQLServerInstanceIPAddress2;Port=1433;User Id=$username;Password=$password;"
]
Użyj adresu IP, na który nasłuchuje wystąpienie programu SQL Server.
Jeśli wystąpienie programu SQL Server jest skonfigurowane do nasłuchiwania na porcie inny niż domyślny, zastąp wartość 1433 tym numerem portu w parametry połączenia. Jeśli używasz programu SQL Server na maszynie wirtualnej platformy Azure, możesz zobaczyć, który port ma być używany na stronie Zabezpieczenia zasobu.
W przypadku dowolnego wystąpienia programu SQL Server można określić wszystkie adresy IP i porty, na których nasłuchuje, łącząc się z wystąpieniem i wykonując następujące zapytanie T-SQL, o ile istnieje co najmniej jedno połączenie TCP z wystąpieniem:
SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP'
AND
protocol_type = 'TSQL';
Utworzony profil monitorowania
Wybierz pozycję Dodaj maszynę wirtualną monitorowania, aby skonfigurować maszynę wirtualną w celu zbierania danych z zasobów SQL. Nie wracaj do karty Przegląd . W ciągu kilku minut kolumna Stan powinna zostać zmieniona, aby odczytać tekst "Zbieranie", powinny zostać wyświetlone dane dla zasobów SQL wybranych do monitorowania.
Jeśli nie widzisz danych, zobacz Rozwiązywanie problemów z Szczegółowe informacje SQL (wersja zapoznawcza), aby zidentyfikować problem.
Uwaga
Jeśli musisz zaktualizować profil monitorowania lub parametry połączenia na maszynach wirtualnych monitorowania, możesz to zrobić za pomocą karty Zarządzanie profilem programu SQL Szczegółowe informacje (wersja zapoznawcza). Po zapisaniu aktualizacji zmiany zostaną zastosowane w około 5 minutach.
Następne kroki
- Zobacz Rozwiązywanie problemów z Szczegółowe informacje SQL (wersja zapoznawcza), jeśli Szczegółowe informacje SQL nie działa prawidłowo po włączeniu.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla