SQL

반응형

MSSQL 다른 서버 DB 테이블 복사하기

 

 

다른 서버에 위치한 DB 테이블을 복사하는 방법입니다.

SQL Management 에서 작업을 진행합니다.

 

 

아래 예시는 로컬 PC의 DB에서 다른 SQL서버 DB로의 테이블 복사입니다.

 

 

 

1. 복사할 서버의 DB(localhost db)로 이동 후

 

테스크 - 데이터 내보내기

 

 

2. 다음

 

 

 

3. 데이터 원본 선택하기

 

아래와 같이 SQL SERVER 지정 후 복사하고자 하는 테이블이 포함된

데이터 베이스 (DB) 선택

 

 

 

 

4. 해당 테이블을 넣을 서버 및 DB 정보 입력

 

 

 

 

5. 하나 이상의 테이블 또는 뷰에서 데이터 복사

 

 

 

6. 복사할 테이블 선택 및 원본 및 데이터 정보 확인

 

 

 

 

7. 즉시 실행

 

 


 

반응형
반응형

MS-SQL 테이블 열 데이터 복사 (필드 타입 및 숫자가 동일한 경우)

 

 

 

 

 

대상 테이블 : 데이터가 있는 원본 테이블의 데이터를 넣을 테이블

원본 테이블 : 데이터가 있는 테이블

 

 

 

1. 대상 테이블이 존재하지 않을 경우 (테이블 생성 + 테이블 복사 )

 

 

1
2
Create Tables [새로만들 테이블] Select * from [원본 테이블]  //테이블 생성
Select * Into [새로만들 테이블] From [원본 테이블]                //테이블 복사
cs

 

 

2. 테이블 존재, (테이블 복사 관련 옵션)

 

1
2
3
4
Select * Into [대상테이블] From [원본 테이블]                //아래 옵션 없을 경우 기본 데이터까지 복사
Select * Into [대상테이블] From [원본 테이블] Where '1' = '2'  //옵션 1 테이블 구조만 복사, 데이터X
Select * Into [대상테이블] From [원본 테이블] Where '1' = '1'  // 옵션2 테이블 구조 및 데이터까지 복사
 
cs

 

 

3. 다른 DB간의 테이블 복사

 

1
2
3
 Insert Into [대상테이블DB].[대상테이블] Select * From [원본DB].[원본테이블] 
 
 
cs

 


 

반응형
반응형

MS-SQL] 테이블 열 복사 시 에러 ID 열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON일 때만 지정할 수 있습니다.

 

테이블의 열값을 넘기려고 할 때 나타나는 에러 중 아래 문구

"ID 열의 명시적 값은 열 목록이 사용되고 IDENTITY_INSERT가 ON일 때만 지정할 수 있습니다"

 

일 때 조치 방법

 

 

복사할 대상이 되는 테이블 에서 insert 명령어 앞뒤에 SET IDENTITY_INSERT ON , OFF 명령어를 사용

 

SET IDENTITY_INSERT [원본을복사할테이블] ON

 

insert into [원본을복사할테이블] select * from [원본테이블]

 

SET IDENTITY_INSERT [원본을복사할테이블] OFF

 

 

 

이랬는데도 동일한 오류가 떨어진다 하면,

 

insert into [원본을복사할테이블](컬럼명) select * from [원본테이블]

 

ex) INSERT INTO dbo.TEST(sn, 이름, 업체, 연락처) SELECT * FROM dbo.orignalDB

 

 

 

 

반응형

+ Recent posts