我有一个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]
答案 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