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 2022 (16.x)
Azure SQL Database
Azure SQL Managed Instance
In dit artikel controleert u de integriteit van de gegevens in uw grootboektabellen. Als u de Automatische digest-opslag hebt geconfigureerd in uw database, volgt u de T-SQL met behulp van automatische digest-opslag sectie. Volg anders de T-SQL met behulp van een handmatig gegenereerde samenvattingssectie.
Benodigdheden
- Een actief Azure-abonnement hebben als u Azure SQL Database of Azure SQL Managed Instance gebruikt. Maak een gratis account aan als u er nog geen hebt, .
- Groteboektabellen maken en gebruiken of alleen toevoegbare grootboektabellen maken en gebruiken.
- SQL Server Management Studio.
- De databaseoptie ALLOW_SNAPSHOT_ISOLATION moet op de database ingeschakeld zijn voordat u de opgeslagen verificatieprocedures kunt uitvoeren.
Grootboekverificatie uitvoeren voor de database
- T-SQL met behulp van automatische digest-opslag
- T-SQL met behulp van een handmatig gegenereerde samenvatting
Maak verbinding met uw database met behulp van SQL Server Management Studio.
Maak een nieuwe query met de volgende T-SQL-instructie:
DECLARE @digest_locations NVARCHAR(MAX) = (SELECT * FROM sys.database_ledger_digest_locations FOR JSON AUTO, INCLUDE_NULL_VALUES);SELECT @digest_locations as digest_locations; BEGIN TRY EXEC sys.sp_verify_database_ledger_from_digest_storage @digest_locations; SELECT 'Ledger verification succeeded.' AS Result; END TRY BEGIN CATCH THROW; END CATCHNotitie
Het verificatiescript is ook te vinden in Azure Portal. Open de Azure Portal en zoek de database die u wilt verifiëren. Selecteer de optie Grootboek in Security. Selecteer in het deelvenster Grootboek</> Database controleren.
Voer de query uit. U ziet dat digest_locations de huidige locatie retourneert waar uw databasesamenvatten worden opgeslagen en eventuele eerdere locaties. Resultaat geeft als resultaat het slagen of mislukken van grootboekverificatie.
Open de digest_locations resultatenset om de locaties van uw digests weer te geven. In het volgende voorbeeld ziet u twee opslaglocaties voor digest voor deze database:
pad geeft de locatie van de samenvattingen aan.
last_digest_block_id geeft de blok-ID aan van de laatste samenvatting die is opgeslagen in de padlocatie .
is_current geeft aan of de locatie in pad de huidige (waar) of vorige (onwaar) is.
[ { "path": "https:\/\/digest1.blob.core.windows.net\/sqldbledgerdigests\/janderstestportal2server\/jandersnewdb\/2021-05-20T04:39:47.6570000", "last_digest_block_id": 10016, "is_current": true }, { "path": "https:\/\/jandersneweracl.confidential-ledger.azure.com\/sqldbledgerdigests\/janderstestportal2server\/jandersnewdb\/2021-05-20T04:39:47.6570000", "last_digest_block_id": 1704, "is_current": false } ]
Belangrijk
Wanneer u grootboekverificatie uitvoert, controleert u de locatie van digest_locations om ervoor te zorgen dat samenvattingen die worden gebruikt bij verificatie worden opgehaald van de locaties die u verwacht. U wilt ervoor zorgen dat een bevoegde gebruiker de locaties van de digest-opslag niet heeft gewijzigd in een niet-beveiligde opslaglocatie, zoals Azure Storage, zonder geconfigureerd en vergrendeld onveranderbaarheidsbeleid.
Verificatie retourneert het volgende bericht in het venster Resultaten.
Als er geen manipulatie in uw database is, is het bericht:
Ledger verification successfulAls er sprake is van manipulatie in uw database, wordt de volgende fout weergegeven in het venster Berichten:
Failed to execute query. Error: The hash of block xxxx in the database ledger doesn't match the hash provided in the digest for this block.