Azure SQL Database en Azure SQL Managed Instance configureren

Voltooid

U hebt gecontroleerd of uw implementatie is geslaagd en u weet welke resources beschikbaar zijn. U kunt nu uw beheerd SQL-exemplaar, SQL-database of databases in een beheerd exemplaar configureren. Deze databases worden beheerde databases genoemd.

Azure SQL Managed Instance configureren

Azure SQL Managed Instance is in feite een beheerd SQL Server-exemplaar. Veel configuraties die in SQL Server beschikbaar zijn, zijn hier van toepassing. U kunt bijvoorbeeld configureren met behulp van sp_configure en bepaalde globale traceringsvlagmen. U hebt ook opties beschikbaar rond tempdb, modelen master. U hebt controle over uw netwerkconnectiviteit en -configuratie.

Databaseconfiguratie

Voor beheerde databases in Azure SQL Managed Instance en Azure SQL-databases hebt u opties beschikbaar met de opdracht ALTER DATABASE. Er zijn SET-opties en u kunt de gewenste dbcompat-waarde selecteren. Deze waarde kan helpen bij migraties. U kunt ook de opdracht ALTER DATABASE gebruiken om de editie of servicelaag te wijzigen.

In Azure SQL Database hebt u geen toegang tot de onderliggende bestandsconfiguratie. In Azure SQL Managed Instance kunt u bestandsonderhoud uitvoeren. Net als bij SQL Managed Instance zijn er opties beschikbaar voor netwerkconnectiviteit, netwerkconfiguratie en ruimtebeheer.

In Azure SQL Database wordt verouderde paginadetectie ingeschakeld en wordt de standaardsortering SQL_Latin1_General_CP1_CI_AS van de server altijd gebruikt. Daarnaast zijn de volgende standaardopties ingesteld op AAN:

  • SNAPSHOT_ISOLATION_STATE
  • READ_COMMITTED_SNAPSHOT
  • FULL RECOVERY
  • CHECKSUM
  • QUERY_STORE
  • TDE
  • ACCELERATED_DATABASE_RECOVERY

Taakbeheer

SQL Server Agent biedt een configuratie- en planningssysteem voor SQL Server-gebruikers. U kunt equivalente functionaliteit in Azure SQL bereiken met behulp van de volgende opties:

SQL-Agent in SQL Managed Instance

SQL-Agent is een volledig ondersteunde service met Azure SQL Managed Instance. SQL-Agent-taken worden alleen ondersteund voor T-SQL- en SQL Server Integration Services-taakstappen. Opdrachtshell-stappen worden niet ondersteund. Hoewel waarschuwingen niet worden ondersteund, worden e-mailmeldingen ondersteund via database-e-mail.

Elastische taken voor SQL Database

Azure SQL Database biedt geen ondersteuning voor SQL Server Agent. U kunt echter de Azure-service voor de Elastische taak-agentservice in Azure gebruiken om taken te maken en te plannen. Taken zijn T-SQL-scripts die u kunt uitvoeren voor een groot aantal databases, inclusief parallelle uitvoering.

Azure Automation

U kunt de Azure Automation-service gebruiken om processen te organiseren via een concept dat een runbook wordt genoemd. Een runbook kan bestaan uit code, zoals PowerShell of Python, en kan worden omgeleid naar elke Azure-resource.

Beperkte configuratiekeuzes

De Azure SQL Managed Instance- en Azure SQL Database-services beperken de volgende configuraties. Deze beperkingen kunnen van invloed zijn op hoe u sommige taken uitvoert.

  • U kunt servers niet stoppen of opnieuw starten.
  • U kunt het volgende niet gebruiken:
    • Directe bestandsinitialisatie.
    • In het geheugen vergrendelde pagina's.
    • FILESTREAM en beschikbaarheidsgroepen.
    • Sortering van de server. In SQL Managed Instance kunt u serversortering selecteren tijdens de implementatie, maar niet wijzigen.
    • Opstartparameters.
    • Foutrapportage en klantenfeedback.
    • ALTER SERVER CONFIGURATION.
    • ERRORLOG-configuratie.
  • Mixed Mode-beveiliging wordt geforceerd.
  • De aanmeldingscontrole wordt uitgevoerd via de SQL-controle.
  • Serverproxyaccount is niet van toepassing.

Azure SQL Managed Instance en SQL Database zijn PaaS-aanbiedingen (Platform as a Service). Als u deze keuzes beperkt, moet u uw vermogen om een beheerde SQL Server-service volledig te gebruiken niet remmen.

Opslagbeheer

Voor Azure SQL Managed Instance is er een mogelijke maximale opslaggrootte toegestaan voor het exemplaar op basis van de gekozen SLO. U kiest een maximale opslag voor het exemplaar tot deze mogelijke maximale grootte. Als u de maximale opslag bereikt, krijgt u mogelijk Bericht 1105 voor een beheerde database of Bericht 1133 voor het exemplaar.

Net als BIJ SQL Server is de grootte van elke nieuwe database gebaseerd op de model databasegrootte. De model database is een gegevensbestand van 100 MB en een logboekbestand van 8 MB. Net als SQL Server kan de model grootte worden geconfigureerd. U kunt de grootte en het aantal bestanden wijzigen, maar u hebt geen controle over hun fysieke locatie. Microsoft heeft verplichtingen voor I/O-prestaties op basis van uw implementatiekeuze. Daarnaast kunnen de prestaties worden beïnvloed door de grootte van het gegevensbestand en logboekbestand, omdat externe opslag wordt gebruikt in de servicelaag Algemeen gebruik.

Voor Azure SQL Database is er een mogelijke maximale grootte van databasebestanden op basis van de gekozen SLO. U kiest een maximale grootte voor gegevens tot deze mogelijke maximale grootte. Maxsize voor databasebestanden, zoals gedefinieerd door de sys.database_files.max_size kolom, kan worden vergroot tot de maximale grootte van gegevens.

Als u dit idee van maximale grootte van gegevens versus Maxsize wilt begrijpen, kunt u een voorbeeld bekijken waarin een database met 1 TB (maximale grootte van gegevens) Algemeen gebruik wordt geïmplementeerd. Wanneer u deze implementatie uitvoert, vereist uw database slechts ~500 GB, niet 1 TB. Naarmate uw database groeit en de maximale grootte van gegevens nadert, groeit Maxsize voor databasebestanden ook tot het niveau van 1 TB.

Het transactielogboek is naast de gegevensgrootte en is opgenomen in wat u betaalt voor opslag. Het wordt regelmatig afgekapt vanwege automatische back-ups en versneld databaseherstel is standaard ingeschakeld. De maximale grootte van het logboek is altijd 30 procent van de maximale grootte van de gegevens. Als de maximale grootte van de gegevens bijvoorbeeld 1 TB is, is de maximale grootte van het transactielogboek 0,3 TB en is de totale maximale grootte van gegevens en de grootte van het logboek 1,3 TB.

De Azure SQL Database Hyperscale-laag verschilt van de andere servicelagen. Er wordt een database gemaakt die in eerste instantie 40 GB is en automatisch groter wordt tot de limiet van 100 TB. Het transactielogboek is beperkt tot een vaste grootte van 1 TB.

Connectiviteitsarchitectuur en -beleid

Als onderdeel van het configureren van uw logische Azure SQL Database-server of van Azure SQL Managed Instance moet u de route van de verbinding met uw database(s) bepalen.

Voor Azure SQL Managed Instance kunt u het verbindingstype of -beleid kiezen tijdens de implementatie. In Azure SQL Database kunt u na de implementatie het verbindingstype kiezen.

U kunt de standaardwaarde van Proxy voor externe verbindingen en Omleiden naar verbindingen binnen Azure blijven gebruiken of iets anders configureren. In het volgende diagram ziet u hoe gateways worden gebruikt voor het proxy- of omleidingsbeleid.

Diagram van het verbindingsbeleid in Azure SQL.

Op het hoogste niveau, in de proxymodus, worden alle verbindingen via de proxy door de gateway verzonden. Nadat de verbinding tot stand is gebracht en de gateway wordt gebruikt, kan de verbinding rechtstreeks verbinding maken met de database of het beheerde exemplaar in de omleidingsmodus. De gateway bevindt zich redirect-find-db in de vorige afbeelding.

De directe verbinding (omleiding) staat een gereduceerde latentie toe en verbetert de doorvoer. Er moeten ook meer poorten worden geopend om binnenkomende en uitgaande communicatie in het bereik van 11000 tot 11999 toe te staan.

In de volgende oefening ziet u enkele opdrachten voor het configureren van Azure SQL met de Azure CLI. Vervolgens gaat u dieper in op het evalueren van de proxy en het omleiden van verbindingsbeleid.

Kenniscontrole

1.

Als de maximale grootte van gegevens in Azure SQL Database 10 GB is, wat is dan de maximale grootte voor het transactielogboek?

2.

Wat is het standaard verbindingsbeleid voor Azure SQL Database en Azure SQL Managed Instance?