Att spåra ändringar i databaser är en central funktion för administratörer och utvecklare som arbetar med stora och dynamiska system. Olika applikationer har olika krav på vilken typ av information som behöver samlas in om förändringar i en databas. Vissa applikationer behöver en fullständig historik över alla ändringar, medan andra kanske bara vill veta när en ändring inträffade eller till vilken rad en ändring gjordes. SQL Server erbjuder en rad verktyg för att stödja dessa behov, som Change Data Capture (CDC), SQL Data Sync och Change Tracking.

Change Data Capture (CDC) är en mekanism som registrerar alla ändringar som görs i en specificerad databas eller tabell i en separat ändringstabell. Denna tabell lagras i samma databas och fungerar som en detaljerad historik över alla modifieringar. För att aktivera CDC måste administratören först tillåta det på databasnivå, och sedan kan man aktivera det på specifika tabeller. När CDC är aktiverat skapas systemtabeller som lagrar de registrerade ändringarna. Detta kan göras via T-SQL-kommandon som EXEC sys.sp_cdc_enable_db och EXEC sys.sp_cdc_enable_table, beroende på vilken nivå man vill aktivera funktionaliteten på.

SQL Data Sync, å andra sidan, är en funktion inom Azure SQL som gör det möjligt att synkronisera databaser mellan olika instanser, oavsett om de kör SQL Database, SQL Managed Instance eller en lokal SQL Server. Skillnaden mellan SQL Data Sync och andra verktyg som CDC och Change Tracking är att Data Sync inte bara registrerar ändringar utan även replikerar dessa förändringar till andra databaser. Administratörer kan skapa en synkroniseringsgrupp där en hubbdatabas och flera medlemsdatabaser ingår. En sådan synkronisering kan vara en- eller tvåvägs, vilket ger flexibilitet när man arbetar med distribuerade system.

Change Tracking är en enklare metod för att spåra ändringar i databasen. Det registrerar inte själva ändringarna utan snarare när en rad har ändrats och vilken typ av ändring som har inträffat (insert, update, delete). Här lagras endast värdet på den primära nyckeln för den ändrade raden, vilket fungerar som ett identifieringsvärde för raden. Denna metod är mer resursvänlig än CDC, eftersom de flesta ändringar lagras i minnet och inte kräver ytterligare tabeller. Administratörer kan aktivera Change Tracking både på databasnivå och tabellnivå via kommandon som ALTER DATABASE och ALTER TABLE.

Förutom att spåra ändringar i databasen kan administratörer också använda dynamisk datamaskering för att dölja känslig information från användare som inte har administrativa rättigheter. Dynamisk datamaskering kan till exempel dölja alla siffror i ett kreditkortsnummer utom de sista fyra siffrorna, vilket ger ett extra säkerhetslager. Detta görs genom att skapa maskeringsregler på specifika tabellkolumner som skyddar känslig data utan att påverka användarnas möjlighet att använda databasen. Administratörer kan använda Azure-portalen för att definiera dessa regler, och systemet tillämpar maskeringen när data hämtas via SQL-frågor.

En annan viktig funktion för databasadministration är Azure Purview, en tjänst för datastyrning som gör det möjligt för administratörer att upptäcka, klassificera och kartlägga data från SQL-databaser och andra källor, oavsett om dessa finns i Azure-molnet, i SaaS-applikationer eller på lokala servrar. När Purview har upptäckt data, kan administratörer skapa ett datakatalog där alla datakällor listas. Detta gör det möjligt att få en översikt över dataflöden i organisationen och även att identifiera känslig information för att säkerställa att den hanteras på ett korrekt sätt.

För att ytterligare stärka databassäkerheten erbjuder Azure SQL funktionen "Ledger", som använder kryptografiska mekanismer för att skapa en oföränderlig historik över alla transaktioner i databasen. Detta gör det möjligt att säkerställa dataintegritet och skydda mot manipulation av historiska data.

När det gäller prestanda är det viktigt att förstå hur dessa funktioner kan påverka systemet. Både CDC och SQL Data Sync kan lägga till belastning på databasen genom att skapa nya tabeller för att lagra ändringar eller synkronisera data, medan Change Tracking är mer lättviktigt och lagrar ändringsinformation i minnet, vilket ger mindre påverkan på prestandan. Administratörer bör noga bedöma applikationernas behov och endast aktivera de funktioner som verkligen krävs för att undvika onödiga belastningar på systemet.

Hur man hanterar och konfigurerar virtuella maskiner och SQL Server i Microsoft Azure

När abonnenten klickar på knappen "Starta med en förinställd konfiguration" i Azure, visas vanligtvis rekommendationer för virtuell maskinens hårdvarukonfiguration baserat på den arbetsbelastning som maskinen är avsedd för. Den här processen förenklar inte bara inställningarna utan ger också användaren möjlighet att justera konfigurationen när som helst. Azure Marketplace-mallar hjälper till att förenkla detta ytterligare genom att föreslå standardinställningar för virtuella maskiner.

Efter att den virtuella maskinens hårdvara har valts, visas en flikdialog där abonnenten ska ange grundläggande inställningar för den virtuella maskinen, såsom namn på maskinen, resursgrupp, virtuellt nätverk och administratörskontots inloggningsuppgifter. I dessa flikar finns även en mängd andra inställningar för både den virtuella maskinen och SQL Server-konfigurationen. Många av dessa inställningar har förinställda värden som matchar den valda mallen.

En särskild flik för SQL Server-inställningar ger abonnenterna möjlighet att ställa in grundläggande parametrar för SQL Server 2019 innan produkten ens har installerats. Den här fliken erbjuder en rad funktioner som är tillgängliga via IaaS Agent-tillägget, vilket ger ett förenklat sätt att hantera SQL Server-konfigurationen direkt från Azure-portalen.

På SQL Server-inställningarna kan abonnenterna konfigurera saker som SQL Server-anslutning (lokal, privat eller offentlig), portnummer (standard 1433), autentisering, säkerhetsintegration med Azure Key Vault, samt lagringsinställningar för SQL Server. Detta inkluderar storlek och prestandainställningar för Data, Log och TempDb-lagring, vilket är avgörande för att säkerställa en effektiv drift av SQL Server. Ytterligare inställningar som kan konfigureras är automatiska säkerhetskopior, automatiska uppdateringar och tillgång till avancerad analys genom SQL Server Machine Learning Services.

När alla inställningar är konfigurerade, kan abonnenten gå vidare till fliken "Granska + skapa", där alla inställningar sammanfattas och valideras. Detta steg ger en sista möjlighet att identifiera potentiella problem innan den virtuella maskinen skapas. Till exempel, om porten för Remote Desktop Protocol (RDP) lämnas öppen för Internet, visas en varning, vilket gör det möjligt för abonnenten att justera inställningarna innan maskinen skapas.

För att ytterligare underlätta hanteringen av SQL Server på en virtuell maskin, erbjuder Azure ett IaaS Agent Extension för SQL Server. Detta tillägg integrerar SQL Server-hantering i Azure-portalen och ger användaren möjlighet att hantera sina SQL Server-instanser centralt. Vid installation av agenten får abonnenten möjlighet att aktivera olika funktioner som automatiska säkerhetskopior, patchhantering, och integration med Azure Key Vault för lagring av krypteringsnycklar.

Förutom dessa funktioner erbjuder agenttillägget en möjlighet till flexibel licenshantering, så att abonnenten kan växla mellan "Bring Your Own License" och "Pay-as-you-go" modeller. Andra funktioner inkluderar automatiska uppdateringar via Azure Update Manager och den möjlighet att konfigurera SQL Server lagringsinställningar, såsom tillfällig lagring (tempdb), vilket kan vara avgörande för att förbättra prestanda.

Genom att använda SQL Server IaaS Agent Extension kan abonnenter också följa bästa praxis för SQL Server genom att använda den inbyggda SQL Best Practices Assessment-funktionen, som ger rekommendationer om bland annat index, borttagna funktioner och statistik. Detta gör det möjligt för användaren att optimera sin databasdrift för bästa möjliga prestanda och säkerhet.

Utöver det erbjuder Azure flera alternativ för att distribuera SQL-databaser, vilket gör det möjligt för abonnenter att skapa och hantera SQL-databaser i molnet på olika sätt. Från att skapa en SQL-databas till att hantera flera instanser av SQL Server via Azure-portalen, ger dessa alternativ användaren en hög grad av flexibilitet och kontroll över sina databassystem.

När man överväger användning av virtuella maskiner och SQL Server i Microsoft Azure är det viktigt att förstå den komplexitet som kan uppstå med nätverkskonfigurationer och säkerhetsinställningar. I vissa fall kan säkerhetsåtgärder, såsom att öppna specifika portar för fjärråtkomst, medföra potentiella risker som måste hanteras noggrant. För att undvika dessa risker bör abonnenter vara noga med att hålla sig uppdaterade om säkerhetsrekommendationer och följa best practices för Azure-miljöer.