Distribuera en hanterad databastjänst med Azure Arc-aktiverad SQL Managed Instance

Slutförd

Azure Arc-aktiverad SQL Managed Instance är en Azure SQL-tjänst som drivs av SQL Server-motorn som kan distribueras på valfri infrastruktur.

Jämförelse med Azure SQL

Azure SQL är en familj av databastjänster som distribueras i Azure-infrastrukturen:

SQL Server på en virtuell Azure-dator

Med det här distributionsalternativet för Azure SQL kan en fullständigt licensierad SQL Server-produkt köras på valfri version i Windows eller Linux. Användaren hanterar allt i den virtuella gästdatorn medan Microsoft hanterar infrastrukturen. Det här alternativet kallas infrastruktur som en tjänst (IaaS).

Azure SQL Managed Instance

Det här distributionsalternativet för Azure SQL tillhandahåller en förinstallerad, versionslös SQL Server-instans som en fullständigt hanterad tjänst. Användaren har åtkomst till nästan 100 % funktioner i en SQL Server-motorinstans. Microsoft hanterar alla aspekter av den plattform och infrastruktur som krävs för att vara värd för instansen. Det här alternativet är ett exempel på en PaaS (Platform as a Service).

Azure SQL Database

Det här Distributionsalternativet för Azure SQL innehåller en innesluten SQL Server-databas som drivs av en förinstallerad, versionslös SQL Server som en fullständigt hanterad tjänst. Användaren hanterar databasen medan Microsoft hanterar den underliggande SQL-instansen, plattformen och infrastrukturen. Det här alternativet är också ett exempel på en PaaS (Plattform som en tjänst).

Azure Arc-aktiverad SQL Managed Instance

Azure Arc-aktiverad SQL Managed Instance liknar Azure SQL Managed Instance. Den har liknande funktioner och hanteringsfunktioner. Avsikten med Azure Arc-aktiverad SQL Managed Instance är att tillhandahålla samma PaaS-funktioner (Platform as a Service) och erfarenhet av Azure, medan kunden väljer och hanterar infrastrukturen med kubernetes-plattformen.

Jämförelse av funktioner

För att förstå funktionerna i Azure Arc-aktiverad SQL Managed Instance är det viktigt att titta på dess kärnfunktioner, distributionsalternativ och integrering med Azure.

Kärnfunktioner

Eftersom Azure Arc-aktiverad SQL Managed Instance baseras på SQL Server-motorn tillhandahåller den grundläggande instansfunktioner som är nästan 100 % kompatibla med SQL Server och Azure SQL Managed Instance. Instansen innehåller ett kompatibelt T-SQL-språkgränssnitt och alla funktioner för säkerhet, prestanda och tillgänglighet. Du kan läsa mer om funktioner för Azure Arc-aktiverad SQL Managed-instans i Microsoft-dokumentationen.

Precis som i Azure SQL Managed Instance får du en förinstallerad, versionslös SQL Server när du distribuerar Azure Arc-aktiverad SQL Managed-instans. Azure Arc-aktiverad SQL Managed-instans använder containeravbildningar från Microsoft Container Registry (MCR).

Azure SQL Managed Instance använder gatewayservrar för att abstrahera programmet från underliggande anslutningsinformation. Azure Arc-aktiverad SQL Managed Instance tillhandahåller även anslutningsabstraktion med Kubernetes LoadBalancer eller NodePort-tjänster.

Tjänstnivåer

Precis som Azure SQL Managed Instance kan du distribuera Azure Arc-aktiverad SQL Managed-instans med två distributionsalternativ som kallas tjänstnivåer:

  • Generell användning – som namnet antyder är den här tjänstnivån för de flesta arbetsbelastningar. Den här tjänstnivån har en gräns för resurser som kärna och minne, men har inbyggd grundläggande hög tillgänglighet via Kubernetes och delad lagring. Instanser på nivån generell användning mappar till funktioner som stöds i SQL Server Standard Edition.

  • Affärskritisk – Den här tjänstnivån är utformad för arbetsbelastningar som kräver bästa prestanda och högsta tillgänglighetsnivå. Den här tjänstnivån har inga gränser för minne eller kärnor och använder tillgänglighetsgrupper för att ge hög tillgänglighet med lässkalning. Instanser på Affärskritisk-nivåkartan till funktioner som stöds i SQL Server Enterprise Edition.

Båda tjänstnivåerna faktureras per kärna, men inkluderar även möjligheten att använda Azure Hybrid-förmån licensiering och ett utvecklaralternativ utan kostnad. Affärskritisk tjänstnivån är för närvarande under förhandsversion, så det medför inga avgifter för användning. Du kan läsa mer om tjänstnivåer i Microsoft-dokumentationen.

Azure-integrering

När du distribuerar en Hanterad Azure SQL-instans kan fakturering, användning, mått och loggar integreras med Azure. Dessutom kan du använda Azure-gränssnitt som portalen för att distribuera och konfigurera en Hanterad Azure SQL-instans.

Integrering med Azure för Azure Arc-aktiverad SQL Managed-instans beror på vilket anslutet läge du använder.

Integrering med Azure hanteras automatiskt med direktanslutet läge via Azure Arc-agenter och Azure Arc-datakontrollanten. Azure-gränssnitt som Azure-portalen kan användas för distribution och konfiguration.

Om du använder indirekt anslutet läge måste en minimal mängd data skickas till Azure i faktureringssyfte. Du kan också exportera data som mått och loggar. Distribution och konfiguration via Azure-portalen stöds inte med indirekt anslutet läge. Gränssnitt som Azure CLI och kubectl kan dock användas för distribution och konfiguration.

Jämförelse av hanteringsfunktioner

Eftersom Azure Arc-aktiverad SQL Managed Instance är en hanterad tjänst är det användbart att jämföra hanteringsfunktioner med Azure SQL Managed Instance. I följande avsnitt jämförs den versionslösa motorn, distributionen och konfigurationen, övervakning, hög tillgänglighet, haveriberedskap och migreringsfunktioner.

Versionslös

En av fördelarna med att använda Azure SQL Managed Instance är att behovet av att korrigera och uppdatera SQL Server, operativsystemet och valfri plattformsprogramvara elimineras. Motorn för Azure SQL Managed Instance kallas ofta för versionslös eftersom det inte finns begreppet huvudversion som med SQL Server. Instansen uppdateras ständigt efter behov för programkorrigeringar eller nya funktioner.

Azure Arc-aktiverad SQL Managed-instans använder också en versionslös motor så att uppdateringar kan tillämpas automatiskt efter behov via uppdaterade containeravbildningar. Tillgängligheten upprätthålls med hjälp av kraften i Kubernetes för att stoppa och starta nya containrar.

Distribution och konfiguration

Distribution av Azure Arc-aktiverad SQL Managed Instance är en enkel, deklarativ process som liknar Azure SQL Managed Instance. När du distribuerar en Azure Arc-aktiverad SQL Managed Instance kan du ange: en tjänstnivå, kärn- och minnesgränser, lagringsklassspecifikationer och SQL-konfigurationsalternativ som SQL Server Agent, sortering och spårningsflaggor.

I direktanslutet läge kan Azure Arc-aktiverad SQL Managed Instance distribueras med Azure-portalen. I indirekt anslutet läge kan Azure Arc-aktiverad SQL Managed Instance distribueras med Hjälp av Azure CLI (med arcdata-tillägget), kubectl eller Azure Data Studio.

Utanför SQL-instansen kan Azure Arc-aktiverad SQL Managed Instance också konfigureras i direktanslutet läge med hjälp av Azure-portalen. I antingen anslutet läge kan alternativ konfigureras utanför SQL-instansen med Azure CLI eller kubectl.

I SQL-instansen kan sql Server-standardgränssnitt som sp_configure, ALTER SERVER CONFIGURATION och ALTER DATABASE användas för att konfigurera instans- och databasalternativen.

Övervakning

Precis som Azure SQL Managed Instance kan du övervaka Azure Arc-aktiverad SQL Managed Instance med hjälp av Azure Monitor för nyckelmått. Lokalt i klustret kan du också använda inbyggd övervakning med Grafana-instrumentpaneler för noder eller SQL-instansen.

Loggar för Azure Arc-aktiverad SQL Managed Instance är tillgängliga för visning i Azure-portalen via log analytics. Lokalt i klustret kan du också använda inbyggda loggar med Kibana.

Eftersom Azure Arc-aktiverad SQL Managed Instance baseras på SQL Server är standard-ERRORLOG-filerna tillgängliga för att visa SQL-fel och instansinformation. Azure Arc-aktiverad SQL Managed Instance stöder även alla tillgängliga DMV-vyer (Dynamic Management Views) och Extended Events.

Hög tillgänglighet

En av fördelarna med att använda en hanterad tjänst som Azure Arc-aktiverad SQL Managed Instance är inbyggd i hög tillgänglighet. Precis som Azure SQL Managed Instance beror den metod som används för att uppnå hög tillgänglighet på tjänstnivån.

För tjänstnivån Generell användning används den inbyggda höga tillgängligheten för Kubernetes StatefulSets med delad lagring.

För Affärskritisk tjänstnivå tillhandahålls inbyggd hög tillgänglighet med hjälp av en kombination av Kubernetes StatefulSets och SQL Server AlwaysOn-tillgänglighetsgrupprepliker. Tillgänglighetsgrupprepliker distribueras och konfigureras automatiskt för användaren. Precis som i Azure SQL Managed Instance är en skrivskyddad replik tillgänglig för avlastning av läsarbetsbelastningar. Systemdatabaser som huvuddatabaser och modeller ingår i tillgänglighetsgruppen. Objekt på systemnivå, till exempel SQL Agent-jobb, blir automatiskt tillgängliga efter en redundanshändelse.

Kubernetes LoadBalancers och NodePorts tillhandahåller anslutningsabstraktion för programmet om instansen flyttas inom klustret. Dessutom tillhandahålls en skrivskyddad anslutningsabstraktionsplats för Affärskritisk tjänstnivåer.

Eftersom Microsoft hanterar hela plattformen och infrastrukturen för Azure SQL Managed Instance får användarna förmånen av ett serviceavtal (SLA). Eftersom kunderna måste hantera infrastrukturen för Azure Arc-aktiverad SQL Managed Instance äger och hanterar kunden alla serviceavtal.

Haveriberedskap

Precis som Azure SQL Managed Instance tillhandahåller Azure Arc-aktiverad SQL Managed Instance ett automatiskt säkerhetskopieringssystem för databaser, inklusive återställning till tidpunkt. Användare kan köra COPY_ONLY säkerhetskopior manuellt och återställa dem när som helst.

Användare konfigurerar ett önskat mål för återställningspunkt (RPO) och kvarhållningsperiod. De här inställningarna avgör hur ofta säkerhetskopieringar av transaktionsloggar tas och hur länge säkerhetskopior sparas.

Azure SQL Managed Instance tillhandahåller inbyggd redundans för säkerhetskopieringar med Hjälp av Azure Storage. Användare för Azure Arc-aktiverad SQL Managed Instance kan konfigurera en specifik Kubernetes-lagringsklass som ska användas för SQL-säkerhetskopior men ansvarar för eventuella redundansbehov.

Migrering

Eftersom Azure Arc-aktiverade SQL Managed Instances använder en SQL Server-motor kan befintliga SQL Server-versioner migreras med hjälp av säkerhetskopiering och återställning av databaser. Databaser kan återställas direkt från Azure Storage eller genom att kopiera en lokal säkerhetskopia till containern för SQL Managed Instance.

Gränssnitt för Azure Arc-aktiverad SQL Managed Instance

Följande gränssnitt kan användas med Azure Arc-aktiverad SQL Managed Instance för att hantera instansen och skapa program:

SQL Server Management Studio (SSMS)

SQL Server Management Studio (SSMS) är helt kompatibelt för att köra frågor mot och hantera en Azure Arc-aktiverad SQL Managed Instance.

Azure Data Studio (ADS)

Azure Data Studio (ADS) är ett verktyg för flera plattformar som kan köra frågor mot och hantera en Azure Arc-aktiverad SQL Managed Instance. ADS stöder frågor med T-SQL tillsammans med T-SQL-notebook-filer. Du kan också använda ADS Azure Arc-tillägget för att skapa och hantera Azure Arc-aktiverade datatjänstresurser som datakontrollanten, SQL Managed Instance och PostgreSQL-servern (förhandsversion).

SQL-kommandoradsverktyg

SQL-kommandoradsverktyg som sqlcmd och bcp stöds med Azure Arc-aktiverad SQL Managed Instance.

Azure Portal

Om du använder direktanslutet läge kan du skapa, visa och hantera Azure Arc-aktiverade datatjänster från Azure-portalen. Om du laddar upp data med hjälp av indirekt anslutet läge kan du också visa information om Azure Arc-aktiverad SQL Managed Instance i Azure-portalen.

Azure CLI

Du kan använda arcdata-tillägget med azure-kommandoradsgränssnittet (CLI) för att skapa, visa och hantera Azure Arc-aktiverade datatjänster som SQL Managed Instance. Azure CLI kan bara användas i indirekt anslutet läge för att distribuera en Azure Arc-aktiverad SQL Managed Instance. Azure CLI är det primära gränssnittet för att ladda upp fakturering, mått och loggar när du använder indirekt anslutet läge.

kubectl

Du kan använda kubectl-kommandoradsgränssnittet för flera plattformar (CLI) för att skapa, visa och hantera Azure Arc-aktiverade datatjänster, inklusive SQL Managed Instance. Azure CLI är det föredragna kommandoradsgränssnittet som ska användas med Azure Arc-aktiverad SQL Managed Instance, men du kan använda yaml-filer med kubectl för att skapa och hantera resurser. Kubectl kan bara användas i indirekt anslutet läge för att distribuera en Azure Arc-aktiverad SQL Managed Instance. Det finns vissa scenarier, till exempel redigering av standardkonfigurationen för återställning till tidpunkt, vilket kräver användning av kubectl.

SQL-drivrutiner

Du kan använda valfri SQL Server-drivrutin som stöds för ditt program för att ansluta och köra frågor mot en Azure Arc-aktiverad SQL Managed Instance. Drivrutinsstöd ingår för populära programmeringsspråk som C#, Java, Node.js, PHP, Python och Ruby.

Testa dina kunskaper

1.

Vilken tjänstnivå ger hög tillgänglighet med repliker som använder AlwaysOn-tillgänglighetsgrupper?

2.

Du kan visa fakturering, mått och loggar för Azure Arc-aktiverad SQL Managed Instance i Azure-portalen med hjälp av indirekt anslutet läge.

3.

Vilka alternativ konfigurerar användarna för automatisk säkerhetskopiering för Azure Arc-aktiverad SQL Managed Instance?

4.

Vilket verktyg kan användas för att hantera en Azure Arc-aktiverad SQL Managed Instance?