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 值。

当然,如果您需要 CYCLENO CYCLE 等其他选项 - sys.sequences 目录视图中包含的所有内容都可以根据需要编写脚本:-)