2014-09-04 3 views
0

테스트에서 프로덕션 데이터베이스로 복사해야하는 약 250 개의 레코드가있는 SQL Server 테이블이 있습니다. 테이블에 복사본으로 보존해야하는 "qid"ID 열이 있습니다 (행 번호를 다시 매길 수 없거나 번호 매기기를 다시 시작할 수 없음).한 데이터베이스에서 다른 데이터베이스로 테이블 복사

예를 들어 레코드 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] 
+0

사용 SET IDENTITY_INSERT dbo.Tool ON (대상 데이터베이스에서 소스 데이터베이스에 액세스 할 수 있습니다 assumiing 사용)이 시도; 원본에서 대상으로 데이터를 삽입합니다. 소스 데이터베이스를 대상 데이터베이스에서 액세스 할 수 있습니다. 가져 오기가 끝나면 신원 삽입을 끄기로 설정하십시오 – HaBo

+0

답변이 도움이 되었다면 대답으로 받아 들여주십시오. 사용자가 더 많은 질문에 답변하도록 유도합니다. – HaBo

답변

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; 
+0

감사합니다. 나는 그것을 시도 할 것이다. –

0
select * into targetdb.dbo.question from source.dbo.question 
+1

목표 테이블이 작성되지 않은 경우,이 조회는 정의를 작성하고 데이터를 가져옵니다. – HaBo

관련 문제