将SQL Server 2012 Sequence
对象从一个实例导出到另一个实例的最佳方法是什么?是否有类似于用于表数据的bcp实用程序?
我们有几百个转移。我需要保持下一个值,因为我们也在移动表格数据。
答案 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
值
当然,如果您需要其他选项,例如CYCLE
或NO CYCLE
等,那么sys.sequences
目录视图中包含的所有内容都可以根据需要编写脚本: - )