将表从一个DB复制到另一个DB

时间:2014-09-04 19:44:19

标签: sql-server

我有一个SQL Server表,其中包含大约250条记录,我需要将它们从测试复制到生产数据库。 该表包含一个“qid”标识列,必须与副本一起保留(我不能重新编号行,或重新开始编号)。

例如,如果我在测试数据库中添加记录251,252和253,然后将其复制到生产数据库,我希望生产中的下一条记录为254(非251)。

如何自动化这个想法?

CREATE TABLE [dbo].[question](
    [id] [uniqueidentifier] NOT NULL CONSTRAINT [DF_question_id]  DEFAULT (newid()),
    [name] [varchar](500) NULL,
    [created] [datetime] NULL CONSTRAINT [DF_question_created]  DEFAULT (getdate()),
    [qid] [int] IDENTITY(1,1) NOT NULL,
 CONSTRAINT [PK_question] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

2 个答案:

答案 0 :(得分:2)

试试这个(假设使用可以从目标数据库访问源数据库)

SET IDENTITY_INSERT TargetDB.[dbo].[question] ON;

Insert into TargetDB.[dbo].[question](column1, column2, column3)
select column1, column2, column3 from SourceDB.[dbo].[question]

SET IDENTITY_INSERT TargetDB.[dbo].[question] Off;

答案 1 :(得分:0)

 select * into targetdb.dbo.question from source.dbo.question