gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server-
Dit onderwerp is alleen relevant voor databases die gemarkeerde transacties bevatten en die gebruikmaken van de volledige of bulksgewijs vastgelegde herstelmodellen.
Zie Een SQL Server-database herstellen naar een bepaald herstelpunt (volledig herstelmodel)voor informatie over de vereisten voor het herstellen naar een specifiek herstelpunt.
SQL Server biedt ondersteuning voor het invoegen van benoemde markeringen in het transactielogboek om herstel naar die specifieke markering mogelijk te maken. Logboekmarkeringen zijn transactiespecifiek en worden alleen ingevoegd wanneer de bijbehorende transactie wordt doorgevoerd. Als gevolg hiervan kunnen merken worden gekoppeld aan specifiek werk en kunt u teruggaan naar een punt dat dit werk bevat of uitsluit.
Voordat u benoemde markeringen in het transactielogboek invoegt, moet u rekening houden met het volgende:
Omdat transactiemarkeringen logboekruimte verbruiken, gebruikt u deze alleen voor transacties die een belangrijke rol spelen in de strategie voor databaseherstel.
Nadat een gemarkeerde transactie is doorgevoerd, wordt er een rij ingevoegd in de logboekmarkeringstabel in msdb.
Als een gemarkeerde transactie meerdere databases op dezelfde databaseserver of op verschillende servers omvat, moeten de markeringen worden vastgelegd in de logboeken van alle betrokken databases. Zie Gemarkeerde transacties gebruiken om gerelateerde databases consistent (volledig herstelmodel) te herstellenvoor meer informatie.
Notitie
Zie Gemarkeerde transacties gebruiken om gerelateerde databases consistent (volledig herstelmodel) te herstellenvoor meer informatie over het markeren van transacties.
Als u markeringen in de transactielogboeken wilt invoegen, gebruikt u de instructie BEGIN TRANSACTION en de WITH MARK [description] clausule. De markering heeft dezelfde naam als de transactie. De optionele beschrijving is een tekstuele beschrijving van de markering, niet de markeringsnaam. De naam van zowel de transactie als de markering die in de volgende BEGIN TRANSACTION
instructie is gemaakt, is bijvoorbeeld Tx1
:
BEGIN TRANSACTION Tx1 WITH MARK 'not the mark name, just a description'
Het transactielogboek registreert de marknaam (transactienaam), beschrijving, database, gebruiker, datum/tijd informatie en het logboekreeksnummer (LSN). De datum/tijd- informatie wordt gebruikt met de markeringsnaam om de markering uniek te identificeren.
Voor informatie over het invoegen van een markering in een transactie die over meerdere databases strekt, zie Gemarkeerde transacties gebruiken om gerelateerde databases consistent te herstellen (Volledig Herstelmodel).
Wanneer u zich op een gemarkeerde transactie richt met behulp van eenRESTORE LOG instructie, kunt u een van de volgende clausules gebruiken om bij of onmiddellijk voor de markering te stoppen:
Gebruik de component WITH STOPATMARK = '<mark_name>' om op te geven dat de gemarkeerde transactie het herstelpunt is.
STOPATMARK rolt vooruit naar het teken en neemt de gemarkeerde transactie op in de roll forward.
Gebruik de clausule WITH STOPBEFOREMARK = '<mark_name>' om aan te geven dat de logboekrecord die direct voor de markering komt het herstelpunt is.
STOPBEFOREMARK rolt vooruit naar de markering en sluit de gemarkeerde transactie uit van de roll forward.
De opties STOPATMARK en STOPBEFOREMARK ondersteunen beide een optionele AFTER datetime clausule. Wanneer datum/tijd- wordt gebruikt, hoeven markeringsnamen niet uniek te zijn.
Als NA de datum/tijd- wordt weggelaten, stopt de vooruitrol bij de eerste markering met de opgegeven naam. Als NA datum/tijd- is opgegeven, stopt het doorgaan bij de eerste markering met de opgegeven naam, exact op of na datum/tijd-.
Notitie
Net als bij alle herstelbewerkingen naar een bepaald tijdstip is herstellen naar een markering niet toegestaan wanneer de database bewerkingen ondergaat die bulksgewijs worden geregistreerd.
Om te herstellen naar een gemarkeerde transactie
een database herstellen naar een gemarkeerde transactie (SQL Server Management Studio)
In dit voorbeeld is een geschikte back-upstrategie voor deze gerelateerde databases het volgende:
Gebruik het volledige herstelmodel voor beide databases.
Maak een volledige back-up van elke database.
Een back-up van de databases kan opeenvolgend of tegelijkertijd worden gemaakt.
Voordat u een back-up maakt van het transactielogboek, markeert u een transactie die in alle databases wordt uitgevoerd. Zie Gemarkeerde transacties gebruiken om gerelateerde databases consistent (volledig herstelmodel) te herstellenvoor meer informatie over het maken van gemarkeerde transacties.
Maak een back-up van het transactielogboek in elke database.
De back-up herstellen
Maak indien mogelijk tail-log-back-ups van de onbeschadigde databases.
Herstel de meest recente volledige databaseback-up van elke database.
Identificeer de meest recente gemarkeerde transactie die beschikbaar is in alle back-ups van het transactielogboek. Deze informatie wordt opgeslagen in de logmarkhistory tabel in de msdb-database op elke server.
Identificeer de logboekback-ups voor alle gerelateerde databases die deze markering bevatten.
Herstel elke logboekback-up en stop bij de gemarkeerde transactie.
Herstel elke database.
TRANSACTIE (Transact-SQL)
RESTORE (Transact-SQL)
Back-ups van transactielogboeken (SQL Server) toepassen
gemarkeerde transacties gebruiken om gerelateerde databases consistent te herstellen (volledig herstelmodel)
Overzicht herstellen en herstel (SQL Server)
een SQL Server-database herstellen naar een bepaald tijdstip (volledig herstelmodel)
herstelreeksen (volledig herstelmodel) plannen en uitvoeren
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Module
Transacties implementeren met Transact-SQL - Training
Transacties implementeren met Transact-SQL
Documentatie
Databases herstellen naar gemarkeerde transactie - SQL Server
Wanneer u gerelateerde updates aanbrengt voor twee of meer gerelateerde databases, gebruikt u transactiemarkeringen in SQL Server om ze te herstellen naar een logisch consistent punt.
Database herstellen naar gemarkeerde transactie (SSMS) - SQL Server
Wanneer een SQL Server-database wordt hersteld, gebruikt u het dialoogvenster Transactielogboek herstellen om de database te herstellen naar een gemarkeerde transactie in beschikbare logboekback-ups.
Een SQL Server-database herstellen naar een bepaald tijdstip (volledig herstelmodel) - SQL Server
Een SQL Server-database herstellen naar een bepaald tijdstip (volledig herstelmodel)