다음을 통해 공유


서버 간의 데이터 복사

Microsoft SQL Server 데이터베이스 간에 대량으로 데이터를 전송하려면 먼저 원본 데이터베이스의 데이터를 파일로 대량 내보내야 합니다. 그런 다음 대상 데이터베이스로 파일을 대량으로 가져옵니다.

중요 정보중요

단순 복구 모델을 사용하는 데이터베이스에서는 데이터를 테이블로 대량 가져온 다음 차등 백업을 수행하는 것이 좋습니다. 대량 로그 또는 전체 복구 모델을 사용하는 데이터베이스에서는 로그 백업으로 충분합니다. 자세한 내용은 SQL Server 데이터베이스의 전체 및 차등 백업 만들기 또는 트랜잭션 로그 백업 작업을 참조하십시오.

bcp 또는 Transact-SQL을 사용하는 서버 간의 데이터 복사

bcp 명령을 사용하여 데이터를 내보내거나 가져올 수 있으며 BULK INSERT 또는 INSERT ... SELECT * FROM OPENROWSET(BULK...) Transact-SQL 문을 사용하여 데이터를 가져올 수 있습니다. 자세한 내용은 bcp 유틸리티를 사용하여 대량 데이터 가져오기 및 내보내기BULK INSERT 또는 OPENROWSET(BULK...)를 사용하여 데이터 대량 가져오기를 참조하십시오.

bcp 명령을 사용하면 다양한 프로세서 아키텍처 상의 다양한 SQL Server 인스턴스 간에 네이티브, 문자 또는 유니코드 형식의 데이터를 주고받을 수 있습니다. 유연성이 필요한 경우 서식 파일을 사용할 수 있습니다. 데이터를 가져올 때는 해당 데이터를 내보낼 때 사용한 형식 또는 서식 파일을 사용해야 합니다.

[!참고]

다른 데이터 정렬을 사용하는 서버 인스턴스 간에 데이터를 복사하는 경우 서로 다른 데이터 정렬 간의 데이터 복사를 참조하십시오.

유니코드 네이티브 형식으로 정보 저장

SQL Server 인스턴스 간에 정보를 복사할 때는 유니코드 네이티브 형식으로 정보를 저장하는 것이 좋습니다. 비문자 형식 데이터에 네이티브 형식을 사용하면 데이터 형식과 문자 형식 간의 불필요한 변환을 줄이고 시간을 절약할 수 있습니다. 확장 문자를 비유니코드 열로 복사하면 문자가 손실되어 확장 문자를 나타낼 수 없습니다. 모든 문자 데이터에 유니코드 문자 형식을 사용하면 다른 코드 페이지를 사용하는 서버 간에 데이터를 대량 전송할 때 확장 문자의 손실을 방지할 수 있습니다. bcp 또는 대량 가져오기를 지원하는 Transact-SQL 문(BULK INSERT 또는 INSERT ...SELECT * FROM OPENROWSET(BULK...))은 유니코드 네이티브 형식의 데이터 파일을 읽을 수 있습니다.

데이터베이스 간에 데이터를 복사하는 부가적인 방법

bcp 또는 Transact-SQL을 사용하는 방법 이외에도 다음 방법으로 SQL Server 데이터베이스 간에 데이터를 복사할 수 있습니다.

  • Integration Services(SSIS) 가져오기 및 내보내기 마법사

    이 마법사는 다양한 데이터 원본에 액세스할 수 있습니다. SQL Server, 플랫 파일, Microsoft Access, Microsoft Excel 및 다른 OLE DB 공급자 간에 데이터를 복사할 수 있습니다. 자세한 내용은 SQL Server 가져오기 및 내보내기 마법사를 사용하여 데이터 이동를 참조하십시오.

  • INSERT 문의 일부로 분산 쿼리를 수행합니다. 자세한 내용은 분산 쿼리INSERT(Transact-SQL)를 참조하십시오.

  • 결과 집합으로 새 테이블을 만들도록 지정하는 SELECT INTO 문을 사용합니다. 자세한 내용은 SELECT(Transact-SQL)를 참조하십시오.

[!참고]

데이터베이스를 완전히 복사하는 방법은 데이터베이스를 다른 서버로 복사를 참조하십시오.