MS-SQL 테이블 복사

2012. 6. 28. 17:33Course/MS-SQL

반응형

INSERT INTO SELECT (데이터 복사)

SELECT INTO (테이블 및 데이터 복사)

 

 

테이블 구조 및 데이터 복사

원본테이블과 동일 구조의 테이블을 생성 후 데이터 복사

1
2
3
SELECT 컬럼명 INTO 대상테이블명
FROM 원본테이블명
WHERE 조건

 

 

테이블 구조 복사

원본테이블과 동일 구조의 테이블만 생성

1
2
3
SELECT 컬럼명 INTO 대상테이블명
FROM 원본테이블명
WHERE 1=2

 

 

데이터 복사

테이블의 내용을 대상테이블에 복사

1
2
3
INSERT INTO 대상테이블명 (컬럼명)
SELECT 컬럼명 FROM 원본테이블명
WHERE 조건

 

다른 서버DB로 데이터 복사 

1
2
3
INSERT INTO [서버주소].대상테이블명 (컬럼명)
SELECT 컬럼명 FROM 원본테이블명
WHERE 조건

 

[주의]

다른 서버DB로 테이블 및 데이터 복사할때 트랜잭션은 걸 수 없다.

만일 아래와 같은 SQL을 수행한다면!

1
2
3
4
5
6
7
BEGIN TRAN
INSERT INTO [서버주소].대상테이블명 (컬럼명)
SELECT 컬럼명 FROM 원본테이블명
WHERE 조건
 
--COMMIT TRAN
--ROLLBACK TRAN

 

다음과 같은 오류 메세지를 보게 될 것이다.

연결된서버"xxx.xxx.xxx.xxx"의OLE DB 공급자"SQLNCLI10"이(가) 메시지"트랜잭션관리자가원격/네트워크트랜잭션에대한지원을할수없습니다."을(를) 반환했습니다.

메시지7391, 수준16, 상태2, 줄2

연결된서버"xxx.xxx.xxx.xx"의OLE DB 공급자"SQLNCLI10"이(가) 분산트랜잭션을시작할수없으므로요청한작업을수행할수없습니다.

 

반응형