将表从一个数据库复制到另一个数据库
问题描述:
我有一个SQL Server表,其中有大约250条记录,我需要从测试复制到生产数据库。 该表包含必须使用副本保留的“qid”标识列(我无法重新编号行或重新编号)。将表从一个数据库复制到另一个数据库
例如,如果我在测试数据库中添加记录251,252和253,然后将其复制到生产数据库,我希望生产中的下一个记录为254(NOT 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]
答
尝试此(assumiing使用可以访问目标数据库源数据库)
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;
+0
谢谢,看起来就像是这样。我会试一试。 – 2014-09-04 19:49:23
答
select * into targetdb.dbo.question from source.dbo.question
+1
如果目标表未创建,则此查询将创建定义并导入数据。 – HaBo 2014-09-04 19:55:51
使用SET IDENTITY_INSERT dbo.Tool ON;并将数据从源插入目标。假设使用可以从目标数据库访问源数据库。完成导入后,将身份插入设置为关闭 – HaBo 2014-09-04 19:46:02
如果有任何答案有帮助,请通过接受答案来确认。这将鼓励用户回答更多问题 – HaBo 2014-09-05 17:56:50