DNS-alias för Azure SQL Database
Gäller för:Azure SQL DatabaseAzure Synapse Analytics
Azure SQL Database har en DNS-server (Domain Name System). PowerShell- och REST-API:er accepterar anrop för att skapa och hantera DNS-alias för ditt logiska SQL-servernamn .
Ett DNS-alias kan användas i stället för servernamnet. Klientprogram kan använda aliaset i sina anslutningssträng. DNS-aliaset tillhandahåller ett översättningslager som kan omdirigera klientprogrammen till olika servrar. Det här lagret besparar dig svårigheterna att behöva hitta och redigera alla klienter och deras anslutningssträng.
Kommentar
I Azure Synapse Analytics stöds DNS-aliaset för den logiska Azure SQL-servern endast för dedikerad SQL-pool (tidigare DW). För dedikerade SQL-pooler i Azure Synapse-arbetsytor stöds för närvarande inte DNS-aliaset. Vad är skillnaden?
Vanliga användningsområden för ett DNS-alias är följande:
- Skapa ett namn som är enkelt att komma ihåg för en server.
- Under den inledande utvecklingen kan ditt alias referera till en testserver. När programmet går live kan du ändra aliaset så att det refererar till produktionsservern. Övergången från test till produktion kräver ingen ändring av konfigurationerna för flera klienter som ansluter till servern.
- Anta att den enda databasen i ditt program flyttas till en annan server. Du kan ändra aliaset utan att behöva ändra konfigurationerna för flera klienter.
- Under ett regionalt avbrott använder du geo-återställning för att återställa databasen i en annan server och region. Du kan ändra ditt befintliga alias så att det pekar på den nya servern så att det befintliga klientprogrammet kan ansluta till den igen.
Domain Name System (DNS) för Internet
Internet förlitar sig på DNS. DNS översätter dina egna namn till namnet på servern.
Scenarier med ett DNS-alias
Anta att du behöver byta system till en ny server. Tidigare behövde du hitta och uppdatera varje anslutningssträng i varje klientprogram. Men nu, om anslutningssträng använder ett DNS-alias, måste endast en aliasegenskap uppdateras.
DNS-aliasfunktionen i Azure SQL Database kan vara till hjälp i följande scenarier:
Testa till produktion
När du börjar utveckla klientprogrammen måste de använda ett DNS-alias i sina anslutningssträng. Du gör så att aliasets egenskaper pekar på en testversion av servern.
Senare när det nya systemet används i produktion kan du uppdatera aliasets egenskaper så att de pekar på produktionsservern. Ingen ändring av klientprogrammen krävs.
Stöd för flera regioner
En haveriberedskap kan flytta servern till en annan geografisk region. För ett system som använde ett DNS-alias kan du undvika behovet av att hitta och uppdatera alla anslutningssträng för alla klienter. I stället kan du uppdatera ett alias för att referera till den nya servern som nu är värd för din Azure SQL Database.
Egenskaper för ett DNS-alias
Följande egenskaper gäller för varje DNS-alias för servern:
- Unikt namn: Varje aliasnamn som du skapar är unikt för alla servrar, precis som servernamnen är.
- Servern krävs: Det går inte att skapa ett DNS-alias om det inte refererar till exakt en server, och servern måste redan finnas. Ett uppdaterat alias måste alltid referera till exakt en befintlig server.
- När du släpper en server släpper Azure-systemet även alla DNS-alias som refererar till servern.
- Inte bunden till någon region: DNS-alias är inte bundna till en region. Dns-alias kan uppdateras för att referera till en server som finns i valfri geografisk region.
- Men när du uppdaterar ett alias för att referera till en annan server måste båda servrarna finnas i samma Azure-prenumeration.
- Behörigheter: Om du vill hantera ett DNS-alias måste användaren ha behörigheter för serverdeltagare eller senare. Mer information finns i Komma igång med rollbaserad åtkomstkontroll i Azure-portalen.
Hantera DNS-alias
Både REST-API:er och PowerShell-cmdletar är tillgängliga så att du kan hantera DNS-alias programmatiskt.
REST-API:er för hantering av DNS-alias
Dokumentationen för REST-API:erna är tillgänglig nära följande webbplats:
Rest-API:erna kan också visas i GitHub på:
PowerShell för att hantera DNS-alias
Kommentar
Den här artikeln använder Azure Az PowerShell-modulen, som är den rekommenderade PowerShell-modulen för interaktion med Azure. För att komma igång med Az PowerShell kan du läsa artikeln om att installera Azure PowerShell. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.
Viktigt!
PowerShell Azure Resource Manager-modulen stöds fortfarande, men all framtida utveckling gäller för Az.Sql-modulen. Dessa cmdletar finns i AzureRM.Sql. Argumenten för kommandona i Az-modulen och i AzureRm-modulerna är väsentligen identiska.
PowerShell-cmdletar är tillgängliga som anropar REST-API:er.
Ett kodexempel på PowerShell-cmdletar som används för att hantera DNS-alias dokumenteras på:
De cmdletar som används i kodexemplet är följande:
- New-AzSqlServerDnsAlias: Skapar ett nytt DNS-alias i Azure SQL Database-tjänstsystemet. Aliaset refererar till server 1.
- Get-AzSqlServerDnsAlias: Hämta och lista alla DNS-alias som har tilldelats till server 1.
- Set-AzSqlServerDnsAlias: Ändrar servernamnet som aliaset är konfigurerat att referera till, från server 1 till server 2.
- Remove-AzSqlServerDnsAlias: Ta bort DNS-aliaset från server 2 med hjälp av namnet på aliaset.
Begränsningar
För närvarande har ett DNS-alias följande begränsningar:
- Fördröjning på upp till 2 minuter: Det tar upp till 2 minuter innan ett DNS-alias uppdateras eller tas bort.
- Oavsett en kort fördröjning slutar aliaset omedelbart referera klientanslutningar till den äldre servern.
- DNS-sökning: För tillfället är det enda auktoritativa sättet att kontrollera vilken server ett visst DNS-alias refererar till genom att utföra en DNS-sökning.
- DNS-alias omfattas av namngivningsbegränsningar.
Relaterade resurser
- Översikt över affärskontinuitet med Azure SQL Database, inklusive haveriberedskap.
- Azure REST API-referens
- API för server-DNS-alias