Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Sql Server 2016 (13.x) és újabb verziók
felügyelt Azure SQL-példány
Ez a cikk bemutatja, miben különbözik a memóriaoptimalizált rendszerverziójú időtáblával való munka a lemezalapú rendszerverziójú időtáblától.
Megjegyzés:
A memóriaoptimalizált időtáblák csak az SQL Serverben és az Azure SQL Managed Instance-ben érhetők el. A memóriaoptimalizált táblák és az időtáblák egymástól függetlenül érhetők el az Azure SQL Database-ben.
Metaadatok felderítése
Egy memóriaoptimalizált rendszerverziós időbeli tábla metaadatainak felfedezéséhez kombináljuk a sys.tables és sys.internal_tables adatait. A rendszerverziózott időbeli tábla a belső, memóriában tárolt előzménytábla parent_object_id oszlopaként jelenik meg.
Ez a példa bemutatja, hogyan kérdezheti le és illesztheti be ezeket a táblákat.
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;
Adatok módosítása
Az memóriaoptimalizált temporális táblákat natívan fordított tárolt eljárásokkal módosíthatja. Ezek az eljárások lehetővé teszik a nem időbeli memóriaoptimalizált táblák konvertálását és a meglévő natívan tárolt eljárások megtartását.
Ez a példa bemutatja, hogyan módosíthatunk egy meglévő táblát egy natívan fordított modulban.
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;
Kapcsolódó tartalom
- rendszerverziójú időtáblák memóriaoptimalizált táblákkal
- Memóriaoptimalizált rendszerverziójú temporális táblázat létrehozása
- Memóriaoptimalizált rendszerverziójú időtáblák monitorozása
- Memóriaoptimalizált rendszerverziójú temporális táblázat teljesítménye
- Historikus táblák
- Temporális táblarendszer konzisztenciájának ellenőrzése
- Az előzményadatok megőrzésének kezelése rendszerverziójú időbeli táblákban
- Időbeli tábla metaadatnézetei és függvényei