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 leest u hoe u een grootboektabel met alleen toevoeggegevens maakt. Vervolgens voegt u waarden toe aan uw alleen-toevoegbare grootboektabel en probeert u daarna de gegevens bij te werken. Ten slotte bekijkt u de resultaten met behulp van de grootboekweergave. We gebruiken een voorbeeld van een kaarttoegangssysteem voor een faciliteit, wat een append-only systeempatroon is. In ons voorbeeld krijgt u een praktische kijk op de relatie tussen de append-only-ledgertabel en de bijbehorende grootboekweergave.
Zie Alleen-toevoegen grootboektabellen voor meer informatie.
Vereiste voorwaarden
Een alleen toevoegbare grootboektabel maken
We maken een KeyCardEvents tabel met het volgende schema.
| Kolomnaam | Gegevenstype | Description | 
|---|---|---|
| Medewerker-ID | int | De unieke id van de werknemer die toegang heeft tot het gebouw | 
| Beschrijving van Toegangsoperatie | nvarchar (MAX) | De toegangsactie van de werknemer | 
| Tijdstempel | datetime2 | De datum en tijd waarop de werknemer toegang heeft tot het gebouw | 
- Gebruik SQL Server Management Studio om een nieuw schema en een nieuwe tabel met de naam - [AccessControl].[KeyCardEvents]te maken.- CREATE SCHEMA [AccessControl]; GO CREATE TABLE [AccessControl].[KeyCardEvents] ( [EmployeeID] INT NOT NULL, [AccessOperationDescription] NVARCHAR (1024) NOT NULL, [Timestamp] Datetime2 NOT NULL ) WITH (LEDGER = ON (APPEND_ONLY = ON));
- Voeg een nieuwe gebeurtenis voor gebouwtoegang toe aan de - [AccessControl].[KeyCardEvents]tabel met de volgende waarden.- INSERT INTO [AccessControl].[KeyCardEvents] VALUES ('43869', 'Building42', '2020-05-02T19:58:47.1234567');
- Bekijk de inhoud van de tabel KeyCardEvents en geef de ALTIJD GEGENEREERDE kolommen op die worden toegevoegd aan de toevoeg-alleen grootboektabel. - SELECT * ,[ledger_start_transaction_id] ,[ledger_start_sequence_number] FROM [AccessControl].[KeyCardEvents];
- Bekijk de inhoud van de grootboekweergave van KeyCardEvents, samen met de systeemweergave grootboektransacties om te bepalen wie records heeft toegevoegd aan de tabel. - SELECT t.[commit_time] AS [CommitTime] , t.[principal_name] AS [UserName] , l.[EmployeeID] , l.[AccessOperationDescription] , l.[Timestamp] , l.[ledger_operation_type_desc] AS Operation FROM [AccessControl].[KeyCardEvents_Ledger] l JOIN sys.database_ledger_transactions t ON t.transaction_id = l.ledger_transaction_id ORDER BY t.commit_time DESC;
- Probeer de - KeyCardEventstabel bij te werken door- EmployeeIDte wijzigen van- 43869naar- 34184.- UPDATE [AccessControl].[KeyCardEvents] SET [EmployeeID] = 34184;- Er wordt een foutbericht weergegeven waarin wordt aangegeven dat de updates niet zijn toegestaan voor de tabel met alleen toevoeggegevens.   
Permissions
Om grootboektabellen met alleen-toevoegen te maken is de ENABLE LEDGER machtiging vereist. Zie Machtigingen voor meer informatie over machtigingen met betrekking tot grootboektabellen.