Verbinding maken met Azure SQL Database: Een uitgebreide handleiding

Azure SQL Database is een beheerde SQL-databaseservice die is ontworpen zodat ontwikkelaars en beheerders niet de vervelende taken hoeven uit te voeren van het installeren van SQL Server of het opzetten van failover-clusters.

Microsoft Azure heeft het zware werk uit het opzetten van de database-laag gehaald, dus het enige wat u hoeft te doen is er verbinding mee maken. Dat is wat dit artikel gaat behandelen. Hier zijn verschillende manieren om verbinding te maken met een Azure SQL-database.

Vereisten

Als u verbinding wilt maken met Azure SQL Database, moet u van tevoren aan een paar vereisten voldoen.

  1. Een Azure-account of toegang daartoe
  2. Een Azure SQL Database (u kunt uw eigen database gebruiken als u dat wilt, maar ik zal de voorbeeld gebruiken.
  3. A Windows 10, Mac OS, or Linux laptop or desktop with PowerShell, Visual Studio Code and SQL Server Management Studio installed. The screenshots are all from Windows 10.

Er zijn tientallen verschillende manieren om verbinding te maken met Azure SQL, en helaas kan ik ze niet allemaal behandelen. Maar de manieren die ik in deze post zal behandelen zijn:

  • De Azure-portal
  • SQL Server Management Studio
  • Visual Studio Code
  • PowerShell

Het configureren van de Azure SQL Database

Voordat je begint, moet je ervoor zorgen dat je een database beschikbaar hebt en er verbinding mee kunt maken. Met behulp van de instructies uit het quickstart-document heb ik een voorbeelddatabase genaamd ata-demo opgezet. Deze database heeft een SQL-beheerder (sa) gebruiker genaamd AtaAdmin en het wachtwoord is Admin123.

Het wachtwoord dat ik gebruik is niet het meest veilige, maar het voldoet voor demodoeleinden. Alsjeblieft, gebruik best practices voor wachtwoorden wanneer je zoiets opzet in QA of Productie, voor het welzijn van Equifax!

Vervolgens moet je inloggen op het Azure Portal om ervoor te zorgen dat je apparaat verbinding kan maken met de database. Je kunt dit verbinden met een bestaand Azure virtueel netwerk, of een IP-bereik definiëren dat toegang heeft tot de database, wat in de onderstaande demo’s wordt gedaan. Ga naar de bronpagina van de SQL Database waarmee je verbinding wilt maken en zoek naar een optie genaamd Serverfirewall instellen.

Setting an Azure SQL Server firewall rule

Eenmaal hier, heb je de mogelijkheid om een IP-bereik te kiezen. Deze pagina toont ook het IP-adres van je apparaat, dat ik zal gebruiken voor de demo. Maar in de praktijk zal dit het subnetbereik of virtuele netwerk van je toepassingstier zijn. Als dat is gedaan, ben je klaar om verder te gaan met de eerste demo!

Verbinden met een Azure SQL Database met behulp van het Azure Portal

Aangezien je al op het Azure Portal bent, kun je hier blijven voor de eerste demo.

Ga terug naar de Overzicht-pagina via het navigatiemenu aan de linkerkant en zoek naar Query-editor. Zodra je daar bent, word je gevraagd om in te loggen met een Microsoft-account of SQL-inloggegevens. Gebruik het SA-account dat je eerder hebt ingesteld om in te loggen (AtaAdmin:Admin123).

Zodra je bent ingelogd, zie je een paneel met de Tabellen, Weergaven en Opgeslagen procedures aan de linkerkant van de Query-editor. Op het moment van schrijven is er geen functionaliteit voor rechtsklikken in deze interface, dus je enige optie om met de database te communiceren is via de Query-editor. Als je de voorbeelddatabase gebruikt, kun je de onderstaande voorbeeldquery gebruiken.

SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;
Querying the Azure SQL server database

Nu je weet dat de firewallregels zijn ingesteld, kunnen we proberen verbinding te maken vanaf andere platforms.

Verbinding maken met een Azure SQL-database met SQL Server Management Studio (SSMS)

Verreweg de meest robuuste tool voor het beheren van een SQL Database-server is SSMS. Getest in de loop der tijd en door de strijd gehard, is dit al meer dan een decennium de tool bij uitstek voor databasebeheerders van SQL-servers.

SSMS is ook volledig compatibel met Azure SQL-databases. Als je het nog niet hebt geïnstalleerd, kun je de nieuwste versie downloaden van Microsoft of het installeren via een pakketbeheerder.

Ga terug naar je bronpagina voor de SQL-database en kopieer de Servernaam. De servernaam zal zijn <Je databasenaam>.database.windows.net.

Open SQL Server Management Studio om verbinding te maken met de databasenaam met behulp van SQL Server-verificatie en de SA-gebruiker die je eerder hebt ingesteld. Als je de firewallregel nog niet hebt ingesteld, wordt je door SSMS gevraagd om te authenticeren met je Azure-account.

Nu je bent geauthenticeerd voor de database en de firewall is ingesteld, kun je beginnen met het uitvoeren van je queries door naar <ServerName> te gaan -> Databases, met de rechtermuisknop te klikken op je database en Nieuwe query te selecteren. Voer nu de query uit die je eerder hebt gebruikt en bekijk wat er gebeurt.

Connecting to an Azure SQL Database with SSMS

Verbinding maken met een Azure SQL-database met Visual Studio Code (Code)

Om verbinding te maken met een Azure SQL-database met Visual Studio Code, moet je de mssql-extensie voor Visual Studio Code installeren. Als deze is geïnstalleerd, druk je op Ctrl + Shift + P om het dialoogvenster te openen en zoek je naar MS SQL: Verbinden.

Using the MSSql extension in Visual Studio Code

Zodra je dat selecteert, zal Visual Studio Code je door een wizard leiden waarin je de informatie moet invoeren van de database waarmee je verbinding wilt maken. Je wordt gevraagd naar de servernaam, databasenaam, gebruikersnaam en wachtwoord. Zodra je dit allemaal hebt ingevoerd, wordt het opgeslagen in een verbindingsprofiel dat kan worden gebruikt om queries uit te voeren tegen die database.

Voer een SQL-query in om uit te voeren tegen uw database in het bewerkingsvenster. Met de query geopend, drukt u op Ctrl + Shift + E. U wordt gevraagd met welke verbinding u die query wilt uitvoeren. Kies degene die u heeft gemaakt en Code opent een ander paneel met de resultaten zonder het scherm te verlaten!

Connecting to mySql in Visual Studio Code

Het verbinden met een Azure SQL-database met PowerShell

Om verbinding te maken met een Azure SQL-database met PowerShell, moet u de Az PowerShell-module installeren. U kunt deze module vinden op de PowerShell Gallery. Download en installeer de module door het commando Install-Module Az uit te voeren. Op het moment van schrijven bevindt de module zich in versie 2.5

De module hoeft slechts één keer te worden geïnstalleerd op de machine van waaruit u uw script wilt uitvoeren. Authenticeer vervolgens bij Azure door Connect-AzAccount uit te voeren. Lees meer over hoe u het Connect-AzAccount-cmdlet gebruikt als u meer wilt weten.

Om te controleren of alles werkt, kunt u de database vinden door Get-AzSqlServer -ResourceGroupName <Uw Resource Groep> uit te voeren. Als dat de database retourneert waarmee u verbinding wilde maken, bent u klaar om het script uit te voeren.

Nu u geauthenticeerd bent en de database kunt zien, kunt u deze bevragen door het onderstaande script uit te voeren. Deze code importeert de Azure SQL-module, stelt de parameters in (database, gebruikersnaam, referenties en query) en voert Invoke-SqlCmd uit om de transact-SQL-query te starten.

# Importeer de module
Import-Module Az.Sql -Force
 
# Configureer uw parameters
$Params = @{
   'ServerInstance' = 'atademo.database.windows.net';
   'Database' = 'ata-demo';
   'Username' = 'ataadmin';
   'Password' = 'Admin123';
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;'
}
 
# Splat
Invoke-Sqlcmd @Params

Je kunt ook PowerShell gebruiken om de Azure SQL-server en database te lezen en die informatie te gebruiken om door te geven aan de query zoals hieronder te zien is. Als je ervan uitgaat dat je $rgName gedefinieerd hebt en het wachtwoord doorgeeft als een veilig wachtwoord, is er geen functioneel verschil tussen het eerste script en het tweede.

Import-Module Az.Sql -Force
 
$rgName = '<Resource Group Name>'
$sqlServer = Get-AzSqlServer -ResourceGroupName $rgName
$sqlDatabase = Get-AzSqlDatabase -ServerName $sqlServer.ServerName -ResourceGroupName $rgName
 
$Params = @{
   'ServerInstance' = $sqlServer.FullyQualifiedDomainName;
   'Database' = $sqlDatabase.DatabaseName[0];
   'Username' = $sqlServer.SqlAdministratorLogin;
   'Password' = ‘<Password>’;
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
       FROM [SalesLT].[ProductCategory] pc
       JOIN [SalesLT].[Product] p
       ON pc.productcategoryid = p.productcategoryid;'
}
 
Invoke-Sqlcmd @Params

Samenvatting

Nu je op verschillende manieren verbinding hebt gemaakt met een Azure SQL Database, zou je comfortabel moeten zijn om het te gebruiken, hetzij met of in plaats van een traditionele SQL Server-installatie!

Verder lezen

Source:
https://adamtheautomator.com/connect-to-azure-sql-database/