Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:Azure SQL Managed Instance
In dit artikel vindt u een overzicht van de aanbevolen procedures bij het gebruik van de koppeling Managed Instance om gegevens te repliceren tussen Azure SQL Managed Instance en uw SQL Server-exemplaren die overal worden gehost, wat bijna realtime gegevensreplicatie tussen de gekoppelde replica's biedt.
Maak regelmatig logboekback-ups
Als SQL Server je eerste primaire server is, is het belangrijk om de eerste logboekback-up op SQL Server uit te voeren nadat de initiële seeding is voltooid, wanneer de database zich niet meer in de herstelfase ... bevindt op Azure SQL Managed Instance. Neem vervolgens regelmatig back-ups van SQL Server-transactielogboeken om een gezonde grootte van het transactielogboekbestand te behouden terwijl SQL Server de primaire verantwoordelijkheid heeft.
De koppelingsfunctie repliceert gegevens met behulp van de gedistribueerde beschikbaarheidsgroepen technologie op basis van AlwaysOn-beschikbaarheidsgroepen. Gegevensreplicatie met gedistribueerde beschikbaarheidsgroepen is gebaseerd op het repliceren van transactielogboekrecords. Er kunnen geen transactielogboekrecords worden afgekapt vanuit de database op het primaire SQL Server-exemplaar totdat ze worden gerepliceerd naar de database op de secundaire replica. Als de replicatie van transactielogboekrecords traag of geblokkeerd is vanwege problemen met de netwerkverbinding, blijft het logboekbestand groeien op het primaire exemplaar. De groeisnelheid is afhankelijk van de intensiteit van de werkbelasting en de netwerksnelheid. Als er sprake is van een langdurige netwerkverbindingsstoring en zware werkbelasting op het primaire exemplaar, kan het logboekbestand alle beschikbare opslagruimte in beslag nemen.
Het maken van regelmatige back-ups van transactielogboeken kapt het transactielogboek af en minimaliseert het risico dat er onvoldoende ruimte beschikbaar is op het primaire SQL Server-exemplaar vanwege de groei van logboekbestanden. Er is geen extra actie nodig wanneer SQL Managed Instance de primaire is, omdat logboekback-ups al automatisch worden uitgevoerd. Door regelmatig logboekback-ups op uw PRIMAIRE SQL Server te maken, maakt u uw database toleranter voor ongeplande logboekgroeigebeurtenissen. Overweeg dagelijkse back-uptaken voor logboeken te plannen met behulp van een SQL Server Agent-taak.
U kunt een Transact-SQL (T-SQL)-script gebruiken om een back-up te maken van het logboekbestand, zoals het voorbeeld in deze sectie. Vervang de tijdelijke aanduidingen in het voorbeeldscript door de naam van uw database, de naam en het pad van het back-upbestand en de beschrijving.
Als u een back-up van uw transactielogboek wilt maken, gebruikt u het volgende voorbeeldscript Transact-SQL (T-SQL) op SQL Server:
-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1
Gebruik de volgende Transact-SQL (T-SQL)-opdracht om de door uw database in SQL Server gebruikte logboekruimte te controleren.
-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE);
De queryuitvoer ziet eruit als in het volgende voorbeeld voor de voorbeelddatabase tpcc:
In dit voorbeeld heeft de database 76% van het beschikbare logboek gebruikt, met een absolute grootte van ongeveer 27 GB (27.971 MB). De drempelwaarden voor actie variëren op basis van uw workload. In het vorige voorbeeld is de grootte van het transactielogboek en het gebruikspercentage van het logboek doorgaans een indicatie dat u een back-up van het transactielogboek moet maken om het logboekbestand af tekappen en wat ruimte vrij te maken, of u moet vaker logboekback-ups maken. Het kan ook een indicatie zijn dat de afkapping van het transactielogboek wordt geblokkeerd door openstaande transacties. Zie Problemen met een volledig transactielogboek (SQL Server-fout 9002) oplossenvoor meer informatie over het oplossen van problemen met een transactielogboek in SQL Server. Zie Problemen met transactielogboeken oplossen met Azure SQL Managed Instancevoor meer informatie over het oplossen van problemen met een transactielogboek in Azure SQL Managed Instance.
Notitie
Wanneer u deelneemt aan een koppeling, worden geautomatiseerde back-ups van volledige en transactielogboeken gemaakt vanuit SQL Managed Instance, ongeacht of dit de primaire replica is. Er worden geen differentiële back-ups gemaakt, wat kan leiden tot langere hersteltijden.
Prestaties van replica's vergelijken
Wanneer u de koppelingsfunctie gebruikt, is het belangrijk om de prestatiecapaciteit tussen SQL Server en SQL Managed Instance te vergelijken om prestatieproblemen te voorkomen als de secundaire replica geen replicatie van de primaire replica of na een failover kan bijhouden. De prestatiecapaciteit omvat CPU-kernen (of vCores in Azure), geheugen en I/O-doorvoer.
U kunt de prestaties van replicatie controleren met de grootte van de redo-wachtrij op de secundaire replica. De grootte van de redo-wachtrij geeft het aantal logboeken aan dat wacht om opnieuw uitgevoerd te worden op de secundaire replica. Een consistent hoge wachtrijgrootte voor opnieuw uitvoeren geeft aan dat de secundaire replica niet kan bijhouden met de primaire replica. U kunt de grootte van de nieuwe wachtrij op de volgende manieren controleren:
- De
redo_queue_sizewaarde in de sys.dm_hadr_database_replica_states dynamische beheerweergave op de primaire replica. - De
InstanceRedoLagReplicationSecondswaarde in Get-AzSqlInstanceLink- op de primaire replica.
Als de grootte van de redo-wachtrij consistent hoog is, overweeg dan extra middelen toe te kennen aan de secundaire replica.
Certificaat draaien
Mogelijk moet u het certificaat dat wordt gebruikt voor het beveiligen van het eindpunt voor databasespiegeling op SQL Server handmatig roteren. Omdat het certificaat dat wordt gebruikt om het eindpunt voor databasespiegeling in SQL Managed Instance te beveiligen, wordt beheerd door de service en automatisch wordt geroteerd, hoeft u het zelf niet handmatig te draaien.
SQL Server
Het is mogelijk dat het certificaat dat u gebruikt om het eindpunt voor databasespiegeling op SQL Server te beveiligen, verloopt, wat kan leiden tot de verslechtering van de koppeling. Om dit probleem te voorkomen, het certificaat roteren voordat het verloopt.
Gebruik de volgende Transact-SQL opdracht (T-SQL) om de vervaldatum van het huidige certificaat te controleren:
-- Run on SQL Server
USE MASTER
GO
SELECT * FROM sys.certificates WHERE pvt_key_encryption_type = 'MK'
Als uw certificaat bijna verloopt of al is verlopen, kunt u
Zodra het eindpunt is geconfigureerd voor het gebruik van het nieuwe certificaat, kunt u verwijderen het verlopen certificaat.
SQL Beheerde Instantie
Het eindpuntcertificaat voor databasespiegeling in SQL Managed Instance wordt automatisch periodiek geroteerd. Het bewaken van de vervaldatum voor het eindpuntcertificaat voor databasespiegeling in SQL Managed Instance is niet nodig, zolang u de certificaatketen op SQL Server kunt valideren .
De certificaatketen valideren in SQL Server
Notitie
De certificaatketen moet periodiek worden gevalideerd voor bestaande koppelingen of om problemen met een gedegradeerde koppeling op te lossen. Sla deze sectie over als u een nieuwe koppeling configureert of onlangs de stappen in de secties Haal de publieke sleutel van het certificaat op uit SQL Managed Instance en importeer deze naar SQL Server en Importeer de intern vertrouwde root-certificeringssleutels van Azure naar SQL Server hebt voltooid.
Problemen met de certificaatketen kunnen de koppeling verminderen. Valideer de certificaatketen op SQL Server regelmatig om dit probleem te voorkomen.
De volgende scenario's kunnen problemen veroorzaken met de certificaatketen op SQL Server:
- Geplande certificaatrotatie op SQL Managed Instance.
- Onbedoelde of toevallige wijzigingen aan de certificaten van SQL Server, zoals het verwijderen of aanpassen van het certificaat dat wordt gebruikt om het endpoint voor database-mirroring te beveiligen.
Bepaal eerst het certificaat van het MI-eindpunt dat is geïmporteerd door de waarde van <ManagedInstanceFQDN> te vervangen en voer vervolgens de volgende query uit op SQL Server:
-- Run on SQL Server
USE master
SELECT name, subject, certificate_id, start_date, expiry_date
FROM sys.certificates
WHERE issuer_name LIKE '%Microsoft Corporation%' AND name = '<ManagedInstanceFQDN>'
GO
Valideer vervolgens het certificaat door de waarde van <certificate_id> te vervangen door het resultaat van de vorige query en voer vervolgens de volgende query uit op SQL Server:
-- Run on SQL Server
USE master
EXEC sp_validate_certificate_ca_chain <certificate_id>
GO
Een antwoord van Commands completed successfully. Completion time: ... geeft aan dat het MI-eindpuntcertificaat is gevalideerd.
Belangrijk
De opgeslagen procedure sp_validate_certificate_ca_chain is afhankelijk van hostbesturingssystemen om certificaatvalidatie uit te voeren. Dit kan een onlinecontrole voor certificaatintrekking omvatten. Als het host-besturingssysteem niet is geconfigureerd voor toegang tot internet, mislukt de uitvoering, zelfs als de certificaatketen geldig is.
Als er een fout optreedt, is de meest betrouwbare mitigatie om de certificaatketen te herstellen door eerst alle certificaten te verwijderen die zijn gemaakt in de secties Haal de openbare sleutel van het certificaat op van SQL Managed Instance en importeer het in SQL Server en Azure-vertrouwde rootcertificeringsautoriteitssleutels importeren naar SQL Server, en ze vervolgens opnieuw te importeren.
Opstarttraceringsvlagmen toevoegen
In SQL Server zijn er twee traceringsvlagken (-T1800 en -T9567) die, wanneer ze als opstartparameters worden toegevoegd, de prestaties van gegevensreplicatie via de koppeling kunnen optimaliseren. Zie opstart-traceringsvlaggen inschakelen voor meer informatie.
Verwante inhoud
De koppeling gebruiken:
- de omgeving voorbereiden voor de Managed Instance koppeling
- Koppeling tussen SQL Server en SQL Managed Instance configureren met SSMS-
- Koppeling tussen SQL Server en SQL Managed Instance configureren met scripts
- Failover over de koppeling
- Migreren met de koppeling
- Problemen met de koppeling oplossen
Voor meer informatie over de koppeling:
- Overzicht van managed instance-koppeling
- herstel na noodgevallen met de koppeling beheerd exemplaar
- aanbevolen procedures voor het onderhouden van de koppeling
Voor andere replicatie- en migratiescenario's kunt u het volgende overwegen: