Aktivera SQL Insights (förhandsversion)
Gäller för:Azure SQL DatabaseAzure SQL Managed Instance
Den här artikeln beskriver hur du aktiverar SQL Insights (förhandsversion) för att övervaka dina SQL-distributioner. Övervakning utförs från en virtuell Azure-dator som upprättar en anslutning till dina SQL-distributioner och använder dynamiska hanteringsvyer (DMV:er) för att samla in övervakningsdata. Du kan styra vilka datauppsättningar som samlas in och insamlingsfrekvensen med hjälp av en övervakningsprofil.
Kommentar
Information om hur du aktiverar SQL Insights (förhandsversion) genom att skapa övervakningsprofilen och den virtuella datorn med hjälp av en resource manager-mall finns i Resource Manager-mallexempel för SQL Insights (förhandsversion).
Om du vill lära dig hur du aktiverar SQL Insights (förhandsversion) kan du även läsa avsnittet Exponerade data.
Skapa Log Analytics-arbetsyta
SQL Insights lagrar sina data på en eller flera Log Analytics-arbetsytor. Innan du kan aktivera SQL Insights måste du antingen skapa en arbetsyta eller välja en befintlig. En enda arbetsyta kan användas med flera övervakningsprofiler, men arbetsytan och profilerna måste finnas i samma Azure-region. Om du vill aktivera och komma åt funktionerna i SQL Insights måste du ha rollen Log Analytics-deltagare på arbetsytan.
Skapa övervakningsanvändare
Du behöver en användare (inloggning) för de SQL-distributioner som du vill övervaka. Följ procedurerna nedan för olika typer av SQL-distributioner.
Anvisningarna nedan beskriver processen per typ av SQL som du kan övervaka. Om du vill göra detta med ett skript på flera SQL-resurser samtidigt läser du följande README-fil och exempelskript.
Azure SQL Database
Kommentar
SQL Insights (förhandsversion) stöder inte följande Azure SQL Database-scenarier:
- Elastiska pooler: Mått kan inte samlas in för elastiska pooler. Mått kan inte samlas in för databaser i elastiska pooler.
- Låga tjänstnivåer: Mått kan inte samlas in för databaser med tjänstmålen Basic, S0 och S1
SQL Insights (förhandsversion) har begränsat stöd för följande Azure SQL Database-scenarier:
- Serverlös nivå: Mått kan samlas in för databaser med hjälp av den serverlösa beräkningsnivån. Processen för att samla in mått återställer dock fördröjningstimern för automatisk paus, vilket hindrar databasen från att ange ett automatiskt pausat tillstånd.
Anslut till en Azure SQL-databas med SQL Server Management Studio, Power Query-redigeraren (förhandsversion) i Azure-portalen eller något annat SQL-klientverktyg.
Kör följande skript för att skapa en användare med nödvändiga behörigheter. Ersätt användaren med ett användarnamn och mystrongpassword med ett starkt lösenord.
CREATE USER [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW DATABASE STATE TO [user];
GO
Kontrollera att användaren har skapats.
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
Anslut till din Azure SQL Managed Instance med hjälp av SQL Server Management Studio eller ett liknande verktyg och kör följande skript för att skapa övervakningsanvändaren med de behörigheter som krävs. Ersätt användaren med ett användarnamn och mystrongpassword med ett starkt lösenord.
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
Anslut till SQL Server på din virtuella Azure-dator och använda SQL Server Management Studio eller ett liknande verktyg för att köra följande skript för att skapa övervakningsanvändaren med de behörigheter som krävs. Ersätt användaren med ett användarnamn och mystrongpassword med ett starkt lösenord.
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
Kontrollera att användaren har skapats.
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
Skapa en virtuell Azure-dator
Du måste skapa en eller flera virtuella Azure-datorer som ska användas för att samla in data för att övervaka SQL.
Kommentar
Övervakningsprofilerna anger vilka data du ska samla in från de olika typer av SQL som du vill övervaka. Varje virtuell övervakningsdator kan bara ha en övervakningsprofil associerad med den. Om du behöver flera övervakningsprofiler måste du skapa en virtuell dator för var och en.
Krav för virtuell Azure-dator
Den virtuella Azure-datorn har följande krav:
- Operativsystem: Ubuntu 18.04 med hjälp av Azure Marketplace-avbildningen. Anpassade avbildningar stöds inte. För att få utökat säkerhetsunderhåll (ESM) för den här versionen av Ubuntu rekommenderar vi att du använder Ubuntu Pro 18.04 LTS Marketplace-avbildningen. Mer information finns i Stöd för Linux och teknik med öppen källkod i Azure.
- Rekommenderade minsta storlekar för virtuella Azure-datorer: Standard_B2s (2 processorer, 4-GiB-minne)
- Distribueras i valfri Azure-region som stöds av Azure Monitor-agenten och uppfyller alla krav för Azure Monitor-agenten.
Kommentar
Storleken på den virtuella datorn Standard_B2s (2 processorer, 4 GiB-minne) stöder upp till 100 anslutningssträng. Du bör inte allokera fler än 100 anslutningar till en enda virtuell dator.
Beroende på nätverksinställningarna för dina SQL-resurser kan de virtuella datorerna behöva placeras i samma virtuella nätverk som dina SQL-resurser så att de kan upprätta nätverksanslutningar för att samla in övervakningsdata.
Konfigurera nätverksinställningar
Varje typ av SQL erbjuder metoder för att övervaka den virtuella datorn för säker åtkomst till SQL. Avsnitten nedan beskriver alternativen baserat på SQL-distributionstypen.
Azure SQL Database
SQL Insights stöder åtkomst till din Azure SQL Database via dess offentliga slutpunkt samt från det virtuella nätverket.
För åtkomst via den offentliga slutpunkten lägger du till en regel under sidan Brandväggsinställningar och avsnittet IP-brandväggsinställningar. Om du vill ange åtkomst från ett virtuellt nätverk kan du ange brandväggsregler för virtuella nätverk och ange de tjänsttaggar som krävs av Azure Monitor-agenten. I den här artikeln beskrivs skillnaderna mellan dessa två typer av brandväggsregler.
Azure SQL Managed Instance
Om den virtuella övervakningsdatorn finns i samma virtuella nätverk som dina SQL MI-resurser kan du se Anslut i samma virtuella nätverk. Om den virtuella övervakningsdatorn finns i ett annat virtuellt nätverk än dina SQL MI-resurser kan du se Anslut i ett annat virtuellt nätverk.
SQL Server
Om den virtuella övervakningsdatorn finns i samma virtuella nätverk som dina resurser för virtuella SQL-datorer kan du se Anslut till SQL Server i ett virtuellt nätverk. Om den virtuella övervakningsdatorn finns i ett annat virtuellt nätverk än dina resurser för virtuella SQL-datorer kan du se Anslut till SQL Server via Internet.
Lagra övervakningslösenord i Azure Key Vault
Vi rekommenderar starkt att du lagrar dina SQL-användarlösenord (inloggning) i ett Key Vault i stället för att ange dem direkt i din övervakningsprofil anslutningssträng.
När du konfigurerar din profil för SQL-övervakning behöver du någon av följande behörigheter för den Key Vault-resurs som du tänker använda:
- Microsoft.Authorization/roleAssignments/write
- Microsoft.Authorization/roleAssignments/delete
Om du har dessa behörigheter skapas en ny Key Vault-åtkomstprincip automatiskt som en del av skapandet av din SQL-övervakningsprofil som använder det Key Vault som du angav.
Viktigt!
Du måste se till att nätverks- och säkerhetskonfigurationen tillåter att den virtuella övervakningsdatorn får åtkomst till Key Vault. Mer information finns i Åtkomst till Azure Key Vault bakom en brandvägg och Konfigurera Nätverksinställningar för Azure Key Vault.
Skapa SQL-övervakningsprofil
Öppna SQL Insights (förhandsversion) genom att välja SQL (förhandsversion) i avsnittet Insikter på Azure Monitor-menyn i Azure-portalen. Välj Skapa ny profil.
Profilen lagrar den information som du vill samla in från dina SQL-system. Den har specifika inställningar för:
- Azure SQL Database
- Hanterad Azure SQL-instans
- SQL Server körs på virtuella datorer
Du kan till exempel skapa en profil med namnet SQL Production och en annan med namnet SQL Staging med olika inställningar för datainsamlingsfrekvens, vilka data som ska samlas in och vilken arbetsyta som data ska skickas till.
Profilen lagras som en regelresurs för datainsamling i den prenumeration och resursgrupp som du väljer. Varje profil behöver följande:
- Namn. Det går inte att redigera när den har skapats.
- Plats. Det här är en Azure-region.
- Log Analytics-arbetsyta för att lagra övervakningsdata.
- Samlingsinställningar för frekvens och typ av sql-övervakningsdata som ska samlas in.
Kommentar
Profilens plats ska finnas på samma plats som den Log Analytics-arbetsyta som du planerar att skicka övervakningsdata till.
Välj Skapa övervakningsprofil när du har angett information för din övervakningsprofil. Det kan ta upp till en minut innan profilen distribueras. Om du inte ser den nya profilen i kombinationsrutan Övervakningsprofil väljer du knappen Uppdatera och bör visas när distributionen är klar. När du har valt den nya profilen väljer du fliken Hantera profil för att lägga till en övervakningsdator som ska associeras med profilen.
Lägg till övervakningsdator
Välj Lägg till övervakningsdator för att öppna en Add monitoring virtual machine
kontextpanel för att välja från vilken virtuell dator du vill övervaka dina SQL-instanser och ange anslutningssträng.
Välj prenumerationen och namnet på den virtuella övervakningsdatorn. Om du använder Key Vault för att lagra lösenord för övervakningsinloggningar (rekommenderas starkt) väljer du prenumerationen på nyckelvalvet under Key vault subscriptions
och väljer sedan det Nyckelvalv som lagrar hemligheter under KeyVault
. I fältet Connection strings
anger du valv-URI:n och det hemliga namnet för varje lösenord som ska användas i anslutningssträng.
Om key vault-URI:n till exempel är https://mykeyvault.vault.azure.net/
, och de hemliga namnen är sqlPassword1
och sqlPassword2
, innehåller JSON i Connection strings
fältet följande:
{
"secrets": {
"telegrafPassword1": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword1"
},
"telegrafPassword2": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword2"
}
}
}
Du kan nu referera till dessa hemligheter ytterligare i fältet Connection strings
. I följande exempel refererar de två anslutningssträng till hemligheterna telegrafPassword1
och telegrafPassword2
som definierades tidigare:
{
"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;"
]
}
Mer information om hur du identifierar anslutningssträng för olika SQL-distributioner finns i nästa avsnitt.
Lägg till anslutningssträng
Anslutningssträng anger inloggningsnamnet som SQL Insights (förhandsversion) ska använda när du loggar in på SQL för att samla in övervakningsdata. Om du använder ett Key Vault för att lagra lösenordet för övervakningsanvändaren anger du Key Vault-URI:n och namnet på hemligheten som innehåller lösenordet.
Anslutningssträngen varierar för varje typ av SQL-resurs:
Azure SQL Database
TCP-anslutningar från övervakningsdatorn till DEN IP-adress och port som används av databasen måste tillåtas av brandväggar eller nätverkssäkerhetsgrupper (NSG:er) som kan finnas på nätverkssökvägen. Mer information om IP-adresser och portar finns i Azure SQL Database-anslutningsarkitektur.
Ange anslutningssträng i formuläret:
"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;"
]
Hämta information från sidan Anslut ionssträngar och lämplig ADO.NET slutpunkt för databasen.
Om du vill övervaka en läsbar sekundär fil lägger du ;ApplicationIntent=ReadOnly
till i anslutningssträng. SQL Insights stöder övervakning av en enskild sekundär. Insamlade data taggas för att återspegla primära eller sekundära.
Azure SQL Managed Instance
TCP-anslutningar från övervakningsdatorn till IP-adressen och porten som används av den hanterade instansen måste tillåtas av brandväggar eller nätverkssäkerhetsgrupper (NSG:er) som kan finnas på nätverkssökvägen. Mer information om IP-adresser och portar finns i Anslutningstyper för Azure SQL Managed Instance.
Ange anslutningssträng i formuläret:
"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;"
]
Hämta information från sidan Anslut ionssträngar och lämplig ADO.NET slutpunkt för den hanterade instansen. Om du använder den offentliga slutpunkten för hanterad instans ersätter du port 1433 med 3342.
Om du vill övervaka en läsbar sekundär fil lägger du ;ApplicationIntent=ReadOnly
till i anslutningssträng. SQL Insights stöder övervakning av en sekundär replik med hög tillgänglighet (HA) för en viss primär databas. Insamlade data taggas för att återspegla primär eller sekundär.
SQL Server
TCP/IP-protokollet måste vara aktiverat för den SQL Server-instans som du vill övervaka. TCP-anslutningar från övervakningsdatorn till IP-adressen och porten som används av SQL Server-instansen måste tillåtas av brandväggar eller nätverkssäkerhetsgrupper (NSG:er) som kan finnas på nätverkssökvägen.
Om du vill övervaka SQL Server som konfigurerats för hög tillgänglighet (antingen med hjälp av tillgänglighetsgrupper eller redundansklusterinstanser) rekommenderar vi att du övervakar varje SQL Server-instans i klustret individuellt i stället för att ansluta via en tillgänglighetsgruppslyssnare eller ett redundansklusternamn. Detta säkerställer att övervakningsdata samlas in oavsett den aktuella instansrollen (primär eller sekundär).
Ange anslutningssträng i formuläret:
"sqlVmConnections": [
"Server=SQLServerInstanceIPAddress1;Port=1433;User Id=$username;Password=$password;",
"Server=SQLServerInstanceIPAddress2;Port=1433;User Id=$username;Password=$password;"
]
Använd DEN IP-adress som SQL Server-instansen lyssnar på.
Om SQL Server-instansen är konfigurerad för att lyssna på en port som inte är standard ersätter du 1433 med det portnumret i anslutningssträng. Om du använder SQL Server på en virtuell Azure-dator kan du se vilken port som ska användas på sidan Säkerhet för resursen.
För alla SQL Server-instanser kan du fastställa alla IP-adresser och portar som den lyssnar på genom att ansluta till instansen och köra följande T-SQL-fråga, så länge det finns minst en TCP-anslutning till instansen:
SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP'
AND
protocol_type = 'TSQL';
Övervakningsprofilen har skapats
Välj Lägg till virtuell övervakningsdator för att konfigurera den virtuella datorn för att samla in data från dina SQL-resurser. Gå inte tillbaka till fliken Översikt . Om några minuter bör kolumnen Status ändras så att den läser "Samla in", du bör se data för de SQL-resurser som du har valt att övervaka.
Om du inte ser data kan du läsa Felsöka SQL Insights (förhandsversion) för att identifiera problemet.
Kommentar
Om du behöver uppdatera din övervakningsprofil eller anslutningssträng på dina virtuella övervakningsdatorer kan du göra det via fliken HANTERA profil i SQL Insights (förhandsversion). När dina uppdateringar har sparats tillämpas ändringarna om cirka 5 minuter.
Nästa steg
- Se Felsöka SQL Insights (förhandsversion) om SQL Insights inte fungerar korrekt efter att ha aktiverats.