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:SQL Server-
U kunt een beschikbaarheidsdatabase in AlwaysOn-beschikbaarheidsgroepen onderbreken met behulp van SQL Server Management Studio, Transact-SQL of PowerShell in SQL Server. Houd er rekening mee dat er een suspend-opdracht moet worden uitgegeven op het serverexemplaar dat de database host om deze te onderbreken of te hervatten.
Het effect van een opdracht onderbreken is afhankelijk van of u een secundaire database of een primaire database als volgt onderbreekt:
Opgeschorte database | Effect van Onderbreken-opdracht |
---|---|
Secundaire database | Alleen de lokale secundaire database wordt onderbroken en de synchronisatiestatus wordt NIET SYNCHROON. Andere secundaire databases worden niet beïnvloed. De onderbroken database stopt met het ontvangen en toepassen van gegevens (logboekrecords) en begint achter de primaire database te vallen. Bestaande verbindingen op de leesbare secundaire blijven bruikbaar. Nieuwe verbindingen met de gepauzeerde database op de leesbare secundaire zijn pas toegestaan nadat de gegevensverplaatsing is hervat. Dit gedrag is alleen van toepassing wanneer verbindingen worden geopend met een listener en alleen-lezen-routering. De primaire database blijft beschikbaar. Als u elk van de bijbehorende secundaire databases onderbreekt, is de primaire database blootgesteld. ** Belangrijk ** Terwijl een secundaire database wordt onderbroken, verzamelt de verzendwachtrij van de bijbehorende primaire database niet-verzonden transactielogboekrecords. Verbindingen met de secundaire replica geven gegevens terug die beschikbaar waren toen de gegevensoverdracht werd onderbroken. |
Primaire database | De primaire database stopt de gegevensverplaatsing naar elke verbonden secundaire database. De primaire database blijft draaien, in een blootgestelde modus. De primaire database blijft beschikbaar voor clients en bestaande verbindingen op een leesbare secundaire blijven bruikbaar en nieuwe verbindingen kunnen worden gemaakt. |
Notitie
Het onderbreken van een secundaire AlwaysOn-database heeft geen rechtstreeks invloed op de beschikbaarheid van de primaire database. Het onderbreken van een secundaire database kan echter van invloed zijn op redundantie- en failovermogelijkheden voor de primaire database. Dit is in tegenstelling tot databasespiegeling, waarbij de mirroringstatus wordt onderbroken voor zowel de gespiegelde database als de hoofddatabase. Als u een primaire AlwaysOn-database onderbreekt, wordt de gegevensverplaatsing voor alle bijbehorende secundaire databases onderbroken en worden redundantie- en failovermogelijkheden voor die database stopgezet totdat de primaire database wordt hervat.
Voordat u begint:
Een database onderbreken met behulp van:
Voordat u begint
Beperkingen en beperkingen
Een SUSPEND-opdracht wordt geretourneerd zodra deze is geaccepteerd door de replica die als host fungeert voor de doeldatabase, maar de database daadwerkelijk asynchroon onderbreekt.
Voorwaarden
U moet verbonden zijn met de serverinstantie die de database host die u wilt onderbreken. Als u een primaire database en de bijbehorende secundaire databases wilt onderbreken, maakt u verbinding met het serverexemplaren waarop de primaire replica wordt gehost. Als u een secundaire database wilt onderbreken terwijl u de primaire database beschikbaar laat, maakt u verbinding met de secundaire replica.
Aanbevelingen
Tijdens knelpunten kan het kort nuttig zijn om een of meer secundaire databases tijdelijk te onderbreken om de prestaties op de primaire replica tijdelijk te verbeteren. Zolang een secundaire database onderbroken blijft, kan het transactielogboek van de bijbehorende primaire database niet worden afgekapt. Hierdoor worden logboekrecords verzameld op de primaire database. Daarom raden we u aan om snel een onderbroken secundaire database te hervatten of te verwijderen. Zie voor meer informatie verderop in dit onderwerp : Het vermijden van een volledig transactielogboek.
Veiligheid
Machtigingen
Vereist ALTER-machtigingen voor de database.
Hiervoor is de machtiging ALTER AVAILABILITY GROUP vereist voor de beschikbaarheidsgroep, de machtiging BESCHIKBAARHEIDSGROEP BEHEREN, de machtiging BESCHIKBAARHEIDSGROEP WIJZIGEN of de machtiging CONTROL SERVER.
SQL Server Management Studio gebruiken
Een database onderbreken
Maak in Objectverkenner verbinding met het serverexemplaar waar de beschikbaarheidsreplica wordt gehost waarop u een database wilt onderbreken, en vouw vervolgens de serverstructuur uit. Zie Vereisteneerder in dit onderwerp voor meer informatie.
Vouw het knooppunt Always On hoge beschikbaarheid en het Beschikbaarheidsgroepen knooppunt uit.
Vouw de beschikbaarheidsgroep uit.
Vouw het knooppunt databases voor beschikbaarheid uit, klik met de rechtermuisknop op de database en klik op Gegevensverplaatsing onderbreken.
Klik in het dialoogvenster Suspend Data Movement op OK.
Objectverkenner geeft aan dat de database is onderbroken door het databasepictogram te wijzigen om een onderbrekingsindicator weer te geven.
Notitie
Als u extra databases op deze replicalocatie wilt onderbreken, herhaalt u stap 4 en 5 voor elke database.
Transact-SQL gebruiken
Een database onderbreken
Maak verbinding met het serverexemplaar die de replica host waarvan u de database wilt opschorten. Zie Vereisteneerder in dit onderwerp voor meer informatie.
Schort de database op door gebruik te maken van de volgende instructie ALTER DATABASE:
ALTER DATABASE database_name SET HADR SUSPEND;
PowerShell gebruiken
Een database onderbreken
Wijzig de map (cd) naar het serverexemplaar waarop de replica wordt gehost waarvan u de database wilt opschorten. Zie Vereisteneerder in dit onderwerp voor meer informatie.
Gebruik de cmdlet Suspend-SqlAvailabilityDatabase om de beschikbaarheidsgroep op te schorten.
De volgende opdracht onderbreekt bijvoorbeeld de gegevenssynchronisatie voor de beschikbaarheidsdatabase
MyDb3
in de beschikbaarheidsgroepMyAg
op het serverexemplaren met de naamComputer\Instance
.Suspend-SqlAvailabilityDatabase ` -Path SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb3
Notitie
Als u de syntaxis van een cmdlet wilt weergeven, gebruikt u de Get-Help--cmdlet in de SQL Server PowerShell-omgeving. Zie Help sql Server PowerShellvoor meer informatie.
De SQL Server PowerShell-provider instellen en gebruiken
Opvolgen: Een volledig transactielogboek vermijden
Wanneer een automatisch controlepunt wordt uitgevoerd op een database, wordt het transactielogboek normaal gesproken afgekapt tot dat controlepunt na de volgende logboekback-up. Hoewel een secundaire database is onderbroken, blijven alle huidige logboekrecords actief op de primaire database. Als het transactielogboek vol raakt (omdat het de maximale grootte bereikt of het serverexemplaren onvoldoende ruimte heeft), kan de database geen updates meer uitvoeren.
U kunt dit probleem voorkomen door een van de volgende handelingen uit te voeren:
Voeg meer logboekruimte toe voor de primaire database.
Hervat de secundaire database voordat het logboek wordt ingevuld. Voor meer informatie, zie Een beschikbaarheidsdatabase (SQL Server) hervatten.
Verwijder de secundaire database. Zie Een secundaire database verwijderen uit een SQL Server-(Beschikbaarheidsgroep) voor meer informatie.
Problemen met een volledig transactielogboek oplossen
Gerelateerde taken
Zie ook
overzicht van AlwaysOn-beschikbaarheidsgroepen (SQL Server)
een SQL Server- (Availability Database) hervatten