SQL Server导出/导入序列

时间:2015-09-24 18:05:35

标签: sql-server import export sequence

将SQL Server 2012 Sequence对象从一个实例导出到另一个实例的最佳方法是什么?是否有类似于用于表数据的bcp实用程序?

我们有几百个转移。我需要保持下一个值,因为我们也在移动表格数据。

1 个答案:

答案 0 :(得分:4)

一种可能性是让您的系统创建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目录视图中包含的所有内容都可以根据需要编写脚本: - )