SQL 服务器导出/导入序列
SQL Server Export / Import Sequences
将 SQL Server 2012 Sequence
对象从一个实例导出到另一个实例的最佳方法是什么?是否有类似于用于 table 数据的 bcp 实用程序的东西?
我们有几百个要转账。我需要维护下一个值,因为我们也在移动 table 数据。
一种可能是让您的系统创建 SQL 脚本,然后您可以在其他系统上执行这些脚本 - 类似这样:
SELECT
'CREATE SEQUENCE ' + seq.name + ' AS ' + t.name +
' START WITH ' + CAST(seq.current_value AS VARCHAR(20)) +
' INCREMENT BY ' + CAST(seq.increment AS VARCHAR(10))
FROM
sys.sequences seq
INNER JOIN
sys.types t ON seq.system_type_id = t.system_type_id
运行 给定数据库上的此 SQL 生成包含 CREATE SEQUENCE
语句的输出以重新创建序列,使用 current_value
作为起点,并使用定义的 Increment By
值。
当然,如果您需要 CYCLE
或 NO CYCLE
等其他选项 - sys.sequences
目录视图中包含的所有内容都可以根据需要编写脚本:-)
将 SQL Server 2012 Sequence
对象从一个实例导出到另一个实例的最佳方法是什么?是否有类似于用于 table 数据的 bcp 实用程序的东西?
我们有几百个要转账。我需要维护下一个值,因为我们也在移动 table 数据。
一种可能是让您的系统创建 SQL 脚本,然后您可以在其他系统上执行这些脚本 - 类似这样:
SELECT
'CREATE SEQUENCE ' + seq.name + ' AS ' + t.name +
' START WITH ' + CAST(seq.current_value AS VARCHAR(20)) +
' INCREMENT BY ' + CAST(seq.increment AS VARCHAR(10))
FROM
sys.sequences seq
INNER JOIN
sys.types t ON seq.system_type_id = t.system_type_id
运行 给定数据库上的此 SQL 生成包含 CREATE SEQUENCE
语句的输出以重新创建序列,使用 current_value
作为起点,并使用定义的 Increment By
值。
当然,如果您需要 CYCLE
或 NO CYCLE
等其他选项 - sys.sequences
目录视图中包含的所有内容都可以根据需要编写脚本:-)