如何在 SQL Server 2016 中的系统版本时间 Table 上停止系统版本控制?
How to Stopping System-Versioning on a System-Versioned Temporal Table in SQL Server 2016?
我有一个 table 具有系统版本控制(临时 table),但我无法直观地看到设计环境。我这样做是因为我可以看到 SYSTEM_VERSIONING
子句已被使用。我想暂时停止然后启用它。
谁能告诉我?
ALTER TABLE dbo.MyTable SET (SYSTEM_VERSIONING = OFF);
** Do what ever you want to **
ALTER TABLE dbo.MyTable SET (SYSTEM_VERSIONING = ON);
查看此Microsoft article了解更多信息
当我使用以下查询时,我的问题已解决:
-- SET SYSTEM_VERSIONING TO OFF
ALTER TABLE [dbo].[MyTable]
SET (SYSTEM_VERSIONING = OFF)
GO
** Do what ever you want to **
-- SET SYSTEM_VERSIONING TO ON
ALTER TABLE [dbo].[MyTable]
SET
(SYSTEM_VERSIONING = ON (HISTORY_TABLE = [dbo].[MyTable_Archive] , DATA_CONSISTENCY_CHECK = ON ))
GO
好像做了SET( SYSTEM_VERSIONING = OFF )
之后,table上的PERIOD FOR
选项也重置了。
所以这对我有用:
ALTER TABLE dbo.MyTable
SET (
SYSTEM_VERSIONING = OFF
)
GO
/* Do stuff here. */
ALTER TABLE dbo.MyTable
ADD PERIOD FOR SYSTEM_TIME ( ValidFrom, ValidTo );
ALTER TABLE dbo.MyTable
SET (
SYSTEM_VERSIONING = ON (
HISTORY_TABLE = dbo.MyTable_History,
DATA_CONSISTENCY_CHECK = ON
);
我认为可以将最后两个命令组合成一个 ALTER TABLE
语句,但我还没有找到神奇的咒语。
我有一个 table 具有系统版本控制(临时 table),但我无法直观地看到设计环境。我这样做是因为我可以看到 SYSTEM_VERSIONING
子句已被使用。我想暂时停止然后启用它。
谁能告诉我?
ALTER TABLE dbo.MyTable SET (SYSTEM_VERSIONING = OFF);
** Do what ever you want to **
ALTER TABLE dbo.MyTable SET (SYSTEM_VERSIONING = ON);
查看此Microsoft article了解更多信息
当我使用以下查询时,我的问题已解决:
-- SET SYSTEM_VERSIONING TO OFF
ALTER TABLE [dbo].[MyTable]
SET (SYSTEM_VERSIONING = OFF)
GO
** Do what ever you want to **
-- SET SYSTEM_VERSIONING TO ON
ALTER TABLE [dbo].[MyTable]
SET
(SYSTEM_VERSIONING = ON (HISTORY_TABLE = [dbo].[MyTable_Archive] , DATA_CONSISTENCY_CHECK = ON ))
GO
好像做了SET( SYSTEM_VERSIONING = OFF )
之后,table上的PERIOD FOR
选项也重置了。
所以这对我有用:
ALTER TABLE dbo.MyTable
SET (
SYSTEM_VERSIONING = OFF
)
GO
/* Do stuff here. */
ALTER TABLE dbo.MyTable
ADD PERIOD FOR SYSTEM_TIME ( ValidFrom, ValidTo );
ALTER TABLE dbo.MyTable
SET (
SYSTEM_VERSIONING = ON (
HISTORY_TABLE = dbo.MyTable_History,
DATA_CONSISTENCY_CHECK = ON
);
我认为可以将最后两个命令组合成一个 ALTER TABLE
语句,但我还没有找到神奇的咒语。