Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Managed Instance
Denna artikel beskriver hur arbete med en minnesoptimerad systemversionerad temporal tabell skiljer sig från att arbeta med en diskbaserad systemversionerad temporal tabell.
Anmärkning
Minnesoptimerade temporala tabeller är endast tillgängliga i SQL Server och Azure SQL Managed Instance. Minnesoptimerade tabeller och temporala tabeller är oberoende tillgängliga i Azure SQL Database.
Upptäck metadata
För att upptäcka metadata om en minnesoptimerad systemversionerad temporal tabell, kombinera information från sys.tables och sys.internal_tables. En systemversionerad tidstabell visas som kolumnen parent_object_id i den interna historiktabellen i minnet.
Det här exemplet visar hur du frågar efter och ansluter till dessa tabeller.
SELECT SCHEMA_NAME(T1.schema_id) AS TemporalTableSchema,
OBJECT_NAME(IT.parent_object_id) AS TemporalTableName,
T1.object_id AS TemporalTableObjectId,
IT.Name AS InternalHistoryStagingName,
SCHEMA_NAME(T2.schema_id) AS HistoryTableSchema,
OBJECT_NAME(T1.history_table_id) AS HistoryTableName
FROM sys.internal_tables AS IT
INNER JOIN sys.tables AS T1
ON IT.parent_object_id = T1.object_id
INNER JOIN sys.tables AS T2
ON T1.history_table_id = T2.object_id
WHERE T1.is_memory_optimized = 1
AND T1.temporal_type = 2;
Ändra data
Du kan modifiera minnesoptimerade temporala tabeller genom nativt kompilerade lagrade procedurer. Dessa procedurer låter dig konvertera icke-temporala minnesoptimerade tabeller och behålla befintliga nativt lagrade procedurer.
Detta exempel visar hur man modifierar en befintlig tabell i en nativt kompilerad modul.
CREATE PROCEDURE dbo.UpdateFXCurrencyPair (
@ProviderID INT,
@CurrencyID1 INT,
@CurrencyID2 INT,
@BidRate DECIMAL (8, 4),
@AskRate DECIMAL (8, 4)
)
WITH NATIVE_COMPILATION,
SCHEMABINDING,
EXECUTE AS OWNER
AS
BEGIN ATOMIC
WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'English')
UPDATE dbo.FXCurrencyPairs
SET AskRate = @AskRate,
BidRate = @BidRate
WHERE ProviderID = @ProviderID
AND CurrencyID1 = @CurrencyID1
AND CurrencyID2 = @CurrencyID2;
END;
Relaterat innehåll
- systemversionsbaserade tidstabeller med minnesoptimerade tabeller
- Skapa en minnesoptimerad systemversionsbaserad tidstabell
- Övervaka minnesoptimerade systemversionsbaserade tidstabeller
- Minnesoptimerad systemversionsbaserad temporal tabellprestanda
- Temporala tabeller
- Systemkonsekvenskontroller för tidstabeller
- Hantera kvarhållning av historiska data i systemversionsbaserade tidstabeller
- vyer och funktioner för temporala tabellmetadata