SQL-Elemzések engedélyezése (előzetes verzió)

A következőre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány

Ez a cikk azt ismerteti, hogyan engedélyezheti az SQL Elemzések (előzetes verzió) számára az SQL-üzemelő példányok monitorozását. A monitorozás egy Azure-beli virtuális gépről történik, amely kapcsolatot létesít az SQL-üzemelő példányokkal, és dinamikus felügyeleti nézeteket (DMV-ket) használ a figyelési adatok gyűjtéséhez. A monitorozási profillal szabályozhatja, hogy mely adathalmazokat gyűjti össze, és milyen gyakorisággal gyűjtse be azokat.

Megjegyzés:

Az SQL Elemzések (előzetes verzió) engedélyezéséhez a figyelési profil és a virtuális gép resource manager-sablonnal való létrehozásával kapcsolatban tekintse meg az SQL Elemzések Resource Manager-sablonmintáit (előzetes verzió).

Ha szeretné megtudni, hogyan engedélyezheti az SQL Elemzések (előzetes verzió) használatát, tekintse meg ezt az adathozzáadási epizódot is.

Create Log Analytics workspace

Az SQL Elemzések egy vagy több Log Analytics-munkaterületen tárolja az adatait. Az SQL Elemzések engedélyezése előtt létre kell hoznia egy munkaterületet, vagy ki kell választania egy meglévőt. Egyetlen munkaterület több monitorozási profillal is használható, de a munkaterületnek és a profilnak ugyanabban az Azure-régióban kell lennie. Az SQL Elemzések funkcióinak engedélyezéséhez és eléréséhez a Log Analytics közreműködői szerepkörével kell rendelkeznie a munkaterületen.

Figyelési felhasználó létrehozása

Szüksége van egy felhasználóra (bejelentkezésre) a figyelni kívánt SQL-üzemelő példányokon. Kövesse az alábbi eljárásokat az SQL-üzemelő példányok különböző típusaihoz.

Az alábbi utasítások a figyelhető SQL-típusonkénti folyamatot ismertetik. Ha ezt egyszerre több SQL-erőforráson futó szkripttel szeretné elvégezni, tekintse meg a következő README-fájlt és példaszkriptet.

Azure SQL Database

Megjegyzés:

Az SQL Elemzések (előzetes verzió) nem támogatja a következő Azure SQL Database-forgatókönyveket:

Az SQL Elemzések (előzetes verzió) korlátozottan támogatja a következő Azure SQL Database-forgatókönyveket:

  • Kiszolgáló nélküli szint: A metrikák a kiszolgáló nélküli számítási szintet használó adatbázisokhoz gyűjthetők. A metrikák gyűjtésének folyamata azonban alaphelyzetbe állítja az automatikus szüneteltetési késleltetés időzítőt, megakadályozva, hogy az adatbázis automatikusan szüneteltetett állapotba lépjen.

Csatlakozás azure SQL-adatbázishoz a SQL Server Management Studio, Lekérdezésszerkesztő (előzetes verzió) az Azure Portalon vagy bármely más SQL-ügyféleszközön.

A következő szkript futtatásával hozzon létre egy felhasználót a szükséges engedélyekkel. Cserélje le a felhasználót egy felhasználónévre és a mystrongpasswordre egy erős jelszóra.

CREATE USER [user] WITH PASSWORD = N'mystrongpassword'; 
GO 
GRANT VIEW DATABASE STATE TO [user]; 
GO 

Screenshot of the Query Editor with a create telegraf user script.

Ellenőrizze, hogy a felhasználó létrejött-e.

Screenshot of the Query Editor query window verifying the telegraf user script.

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

Azure SQL Managed Instance

Csatlakozás a felügyelt Azure SQL-példányhoz a SQL Server Management Studio vagy hasonló eszköz, és hajtsa végre a következő szkriptet a monitorozási felhasználó létrehozásához a szükséges engedélyekkel. Cserélje le a felhasználót egy felhasználónévre és a mystrongpasswordre egy erős jelszóra.

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

Csatlakozás az SQL Serverre az Azure-beli virtuális gépen, és használja Az SQL Server Management Studio vagy egy hasonló eszköz futtatásához futtassa a következő szkriptet a monitorozási felhasználó létrehozásához a szükséges engedélyekkel. Cserélje le a felhasználót egy felhasználónévre és a mystrongpasswordre egy erős jelszóra.

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

Ellenőrizze, hogy a felhasználó létrejött-e.

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

Azure-beli virtuális gép létrehozása

Létre kell hoznia egy vagy több Azure-beli virtuális gépet, amelyek az SQL monitorozásához szükséges adatok gyűjtésére lesznek felhasználva.

Megjegyzés:

A figyelési profilok határozzák meg, hogy milyen adatokat fog gyűjteni a figyelni kívánt SQL különböző típusaiból. Minden monitorozási virtuális géphez csak egy monitorozási profil társítható. Ha több monitorozási profilra van szüksége, mindegyikhez létre kell hoznia egy virtuális gépet.

Az Azure virtuális gépek követelményei

Az Azure-beli virtuális gépre a következő követelmények vonatkoznak:

  • Operációs rendszer: Ubuntu 18.04 az Azure Marketplace rendszerképével. Az egyéni rendszerképek nem támogatottak. Az Ubuntu ezen verziójához a kiterjesztett biztonsági karbantartás (ESM) beszerzéséhez az Ubuntu Pro 18.04 LTS marketplace-rendszerkép használatát javasoljuk. További információ: Linux és nyílt forráskódú technológia támogatása az Azure-ban.
  • Ajánlott minimális Azure-beli virtuális gépméretek: Standard_B2s (2 processzor, 4 GiB memória)
  • Az Azure Monitor-ügynök által támogatott bármely Azure-régióban üzembe helyezve , és megfelel az Összes Azure Monitor-ügynök előfeltételeinek.

Megjegyzés:

A Standard_B2s (2 PROCESSZOR, 4 GiB memória) virtuális gép mérete legfeljebb 100 kapcsolati sztring támogat. Egyetlen virtuális géphez nem szabad 100-nál több kapcsolatot lefoglalni.

Az SQL-erőforrások hálózati beállításaitól függően előfordulhat, hogy a virtuális gépeket ugyanabba a virtuális hálózatba kell helyezni, mint az SQL-erőforrásokat, hogy hálózati kapcsolatokat létesíthessenek a figyelési adatok gyűjtéséhez.

A hálózati beállítások konfigurálása

Az SQL minden típusa metódusokat kínál a monitorozó virtuális gép számára az SQL biztonságos eléréséhez. Az alábbi szakaszok az SQL üzembe helyezési típusának megfelelő beállításokat ismertetik.

Azure SQL Database

Az SQL Elemzések támogatja az Azure SQL Database nyilvános végponton és annak virtuális hálózatán keresztüli elérését.

A nyilvános végponton keresztüli hozzáféréshez adjon hozzá egy szabályt a Tűzfal beállításai lap és az IP-tűzfal beállításai szakasz alatt. A virtuális hálózatról való hozzáférés megadásához beállíthatja a virtuális hálózati tűzfalszabályokat , és beállíthatja az Azure Monitor-ügynök által megkövetelt szolgáltatáscímkéket. Ez a cikk a tűzfalszabályok e két típusa közötti különbségeket ismerteti.

Screenshot of an Azure SQL Database page in the Azure portal. The Set server firewall button is highlighted.

Screenshot of an Azure SQL Database Firewall settings page in the Azure portal. Firewall settings.

Azure SQL Managed Instance

Ha a monitorozási virtuális gép ugyanabban a virtuális hálózatban lesz, mint az SQL MI-erőforrások, tekintse meg Csatlakozás ugyanazon a virtuális hálózaton belül. Ha a monitorozási virtuális gép más virtuális hálózaton lesz, mint az SQL MI-erőforrások, akkor tekintse meg a Csatlakozás egy másik virtuális hálózaton belül.

SQL Server

Ha a monitorozási virtuális gép ugyanabban a virtuális hálózatban van, mint az SQL virtuálisgép-erőforrásai, tekintse meg a virtuális hálózaton belüli SQL Serverre Csatlakozás. Ha a monitorozási virtuális gép más virtuális hálózaton lesz, mint az SQL virtuálisgép-erőforrásai, tekintse meg az sql serverhez az interneten keresztüli Csatlakozás.

Figyelési jelszó tárolása az Azure Key Vaultban

Ajánlott biztonsági eljárásként javasoljuk, hogy az SQL-felhasználó (bejelentkezési) jelszavait egy Key Vaultban tárolja ahelyett, hogy közvetlenül a figyelési profil kapcsolati sztring adja meg őket.

Amikor beállítja a profilját az SQL monitorozásához, az alábbi engedélyek egyikére lesz szüksége a használni kívánt Key Vault-erőforráshoz:

  • Microsoft.Authorization/roleAssignments/write
  • Microsoft.Authorization/roleAssignments/delete

Ha rendelkezik ezekkel az engedélyekkel, a rendszer automatikusan létrehoz egy új Key Vault-hozzáférési szabályzatot a megadott Key Vaultot használó SQL Monitoring-profil létrehozásakor.

Fontos

Gondoskodnia kell arról, hogy a hálózati és biztonsági konfiguráció lehetővé teszi a figyelési virtuális gép számára a Key Vault elérését. További információt az Azure Key Vault tűzfal mögötti elérése és az Azure Key Vault hálózati beállításainak konfigurálása című témakörben talál.

SQL monitorozási profil létrehozása

Nyissa meg az SQL Elemzések (előzetes verzió) lehetőséget az Azure Portal Azure Monitor menüjének Elemzések szakaszában az SQL (előzetes verzió) kiválasztásával. Válassza az Új profil létrehozása lehetőséget.

Screenshot of the Azure Monitor page in Azure portal. The create new profile button is highlighted.

A profil tárolja az SQL-rendszerekből gyűjteni kívánt információkat. A következő beállításokat használja:

  • Azure SQL Database
  • Azure SQL Managed Instance
  • Virtuális gépeken futó SQL Server

Létrehozhat például egy SQL Production nevű profilt, egy másik sql-előkészítést az adatgyűjtés gyakoriságának különböző beállításaival, az összegyűjtendő adatokkal és az adatok küldendő munkaterületével.

A profilt a rendszer adatgyűjtési szabályerőforrásként tárolja a kiválasztott előfizetésben és erőforráscsoportban. Minden profilnak a következőkre van szüksége:

  • Név. A létrehozás után nem szerkeszthető.
  • Tartózkodási hely beállításnál. Ez egy Azure-régió.
  • Log Analytics-munkaterület a figyelési adatok tárolásához.
  • Gyűjtési beállítások az összegyűjtendő SQL monitorozási adatok gyakoriságához és típusához.

Megjegyzés:

A profil helyének ugyanabban a helyen kell lennie, ahová a figyelési adatokat el szeretné küldeni a Log Analytics-munkaterületen.

A screenshot of the Create new profile details page in the Azure portal.

A monitorozási profil adatainak megadása után válassza a Figyelési profil létrehozása lehetőséget. A profil üzembe helyezése akár egy percet is igénybe vehet. Ha nem látja az új profilt a Figyelési profil kombinált listában, jelölje ki a frissítés gombot, és az az üzembe helyezés befejezése után jelenik meg. Miután kiválasztotta az új profilt, a Profil kezelése fülre kattintva hozzáadhat egy monitorozási gépet, amely a profilhoz lesz társítva.

Monitorozási gép hozzáadása

Válassza a Monitorozási gép hozzáadása lehetőséget egy Add monitoring virtual machine környezeti panel megnyitásához, és válassza ki azt a virtuális gépet, amelyből figyelni szeretné az SQL-példányokat, és adja meg a kapcsolati sztring.

Válassza ki a monitorozási virtuális gép előfizetését és nevét. Ha a Key Vaultot használja a figyelési bejelentkezések jelszavainak tárolására (erősen ajánlott), válassza ki az adott Key Vault előfizetését Key vault subscriptions, majd válassza ki a titkos kulcsokat tároló Key Vaultot KeyVault. A mezőben adja meg a Connection strings tároló URI-címét és a kapcsolati sztring használandó jelszavak titkos nevét.

Ha például a Key Vault URI-ja https://mykeyvault.vault.azure.net/, és a titkos kódok neve sqlPassword1 és sqlPassword2, akkor a mezőben szereplő JSON a Connection strings következőket tartalmazza:

{
   "secrets": {
      "telegrafPassword1": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword1"
      },
      "telegrafPassword2": {
         "keyvault": "https://mykeyvault.vault.azure.net/",
         "name": "sqlPassword2"
      }
   }
}

Most már hivatkozhat ezekre a titkos kulcsokra a Connection strings mezőben. A következő példában a két kapcsolati sztring hivatkoznak a telegrafPassword1telegrafPassword2 korábban definiált titkos kódokra:

{
   "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;"
   ]
}

A screenshot of the Azure portal Add monitoring virtual machine page. Choose the VM, specify the KV url (if used) and the secret name. Enter connection strings for each system to monitor. Choose the KV where you created the secret used in the connection strings.

A különböző SQL-üzemelő példányok kapcsolati sztring azonosításával kapcsolatos részletekért tekintse meg a következő szakaszt.

Kapcsolati sztring hozzáadása

A kapcsolati sztring megadja, hogy az SQL Elemzések (előzetes verzió) milyen bejelentkezési nevet használjon a monitorozási adatok gyűjtéséhez az SQL-be való bejelentkezéskor. Ha Key Vaultot használ a figyelési felhasználó jelszavának tárolásához, adja meg a Key Vault URI-ját és a jelszót tartalmazó titkos kód nevét.

A kapcsolati sztring az SQL-erőforrások minden típusához eltérő lesz:

Azure SQL Database

A monitorozó gép és az adatbázis által használt IP-cím és port TCP-kapcsolatait a hálózati útvonalon esetleg létező tűzfalaknak vagy hálózati biztonsági csoportoknak (NSG-knek) kell engedélyeznie. Az IP-címekkel és portokkal kapcsolatos részletekért tekintse meg az Azure SQL Database kapcsolati architektúrát.

Adja meg a kapcsolati sztring az űrlapon:

"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;"
]

A részleteket a Csatlakozás ion sztringek oldaláról és az adatbázis megfelelő ADO.NET végpontjáról szerezheti be.

Olvasható másodlagos figyeléséhez fűzze hozzá ;ApplicationIntent=ReadOnly a kapcsolati sztring. Az SQL Elemzések egyetlen másodlagos monitorozását támogatja. Az összegyűjtött adatok címkéje elsődleges vagy másodlagos.

Azure SQL Managed Instance

A figyelési gépről a felügyelt példány által használt IP-címhez és porthoz való TCP-kapcsolatokat a hálózati útvonalon esetleg létező tűzfalaknak vagy hálózati biztonsági csoportoknak (NSG-knek) kell engedélyeznie. Az IP-címekkel és portokkal kapcsolatos részletekért tekintse meg az Azure SQL Managed Instance kapcsolattípusokat.

Adja meg a kapcsolati sztring az űrlapon:

"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;" 
] 

A részleteket a Csatlakozás ion-sztringek oldaláról és a felügyelt példány megfelelő ADO.NET végpontjáról szerezheti be. Felügyelt példány nyilvános végpontja esetén cserélje le az 1433-at a 3342-re.

Olvasható másodlagos figyeléséhez fűzze hozzá ;ApplicationIntent=ReadOnly a kapcsolati sztring. Az SQL Elemzések támogatja egyetlen magas rendelkezésre állású (HA) másodlagos replika monitorozását egy adott elsődleges adatbázishoz. Az összegyűjtött adatok címkéje elsődleges vagy másodlagos.

SQL Server

A TCP/IP protokollt engedélyezni kell a figyelni kívánt SQL Server-példányhoz. A monitorozási gépről az SQL Server-példány által használt IP-címhez és porthoz való TCP-kapcsolatokat a hálózati útvonalon esetleg létező tűzfalaknak vagy hálózati biztonsági csoportoknak (NSG-knek) kell engedélyeznie.

Ha magas rendelkezésre állásra konfigurált SQL Servert szeretne monitorozni (rendelkezésre állási csoportok vagy feladatátvevő fürtpéldányok használatával), javasoljuk, hogy a rendelkezésre állási csoport figyelője vagy a feladatátvevő fürt neve helyett külön-külön figyelje a fürt egyes SQL Server-példányait. Ez biztosítja, hogy a monitorozási adatok gyűjtése az aktuális példányszerepkörtől függetlenül (elsődleges vagy másodlagos) legyen.

Adja meg a kapcsolati sztring az űrlapon:

"sqlVmConnections": [
   "Server=SQLServerInstanceIPAddress1;Port=1433;User Id=$username;Password=$password;",
   "Server=SQLServerInstanceIPAddress2;Port=1433;User Id=$username;Password=$password;"
] 

Használja az SQL Server-példány által figyelt IP-címet.

Ha az SQL Server-példány úgy van konfigurálva, hogy egy nem alapértelmezett porton hallgasson, cserélje le az 1433-at erre a portszámra a kapcsolati sztring. Ha SQL Servert használ az Azure-beli virtuális gépen, láthatja, hogy melyik portot használja az erőforrás Biztonsági lapján.

A screenshot of the SQL virtual machine Security page in the Azure portal. The SQL virtual machine security page has a Security & networking section with a Port field.

Bármely SQL Server-példány esetében meghatározhatja az összes IP-címet és portot, amelyet figyel, ha csatlakozik a példányhoz, és végrehajtja a következő T-SQL-lekérdezést, feltéve, hogy legalább egy TCP-kapcsolat van a példányhoz:

SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP'
      AND
      protocol_type = 'TSQL';

Létrehozott monitorozási profil

A Monitorozási virtuális gép hozzáadása lehetőséget választva konfigurálhatja a virtuális gépet, hogy adatokat gyűjtsön az SQL-erőforrásokból. Ne térjen vissza az Áttekintés lapra. Néhány perc múlva az Állapot oszlopnak át kell változnia a "Gyűjtés" szövegre, és látnia kell a monitorozáshoz kiválasztott SQL-erőforrások adatait.

Ha nem látja az adatokat, a probléma azonosításához tekintse meg az SQL Elemzések (előzetes verzió) hibaelhárítását.

A screenshot of the Azure portal page for Azure Monitor for SQL. In the Insights menu, SQL is selected. A profile is shown to have been created.

Megjegyzés:

Ha frissítenie kell a figyelési profilt vagy a monitorozási virtuális gépek kapcsolati sztring, ezt az SQL Elemzések (előzetes verzió) Profil kezelése lapján teheti meg. A frissítések mentése után a módosítások körülbelül 5 percen belül érvénybe lépnek.

További lépések