동일하거나 다른 서버에서 MSSQL 데이터베이스를 복제하는 방법은 무엇입니까?


15

다음을 달성하려고합니다.

  1. 원래 데이터베이스의 스냅 샷을 작성하고 다른 서버에서 복제본을 작성하고 정확하게 작성 하시겠습니까?
  2. 원래 데이터베이스의 스냅 샷을 작성하고 동일한 서버에서 다른 DB 이름으로 복제본을 작성하십시오.

그러나 MSSQL에 대한 경험이 매우 제한되어 있기 때문입니다. 어떤 제안?

추가 정보:

오리진 DB 서버 : SQL Server 2000

대상 DB 서버 : SQL Server 2005

답변:


17
  1. 데이터베이스 백업
  2. 새 이름으로 및 / 또는 다른 서버에서 데이터베이스를 복원

이 두 가지 조작 모두 Enterprise Manager (SQL2000) 또는 대체 SQL Management Studio (SQL2005 +) 또는 TSQL 명령 BACKUP and RESTORE 에서 수행 할 수 있습니다 .

참고 : 대부분의 경우 문제가 아닌 다른 방법으로 SQL2005의 SQL2000에서 백업 된 데이터베이스를 복원 할 수 있습니다.


1
데이빗 감사합니다. 그래도 다른 서버에서 새 이름으로 DB를 복원하는 방법은 무엇입니까?
Alex N

데이터베이스를 백업하면 백업 파일이 생성되거나 기존 파일이 확장됩니다. 이 파일을 다른 서버로 전송 한 다음 Management Studio (또는 다른 방법으로 실행 된 RESTORE 명령)를 사용하여 해당 파일에서 데이터베이스를 복원하십시오. 복원 프로세스는 데이터베이스가 복원되면 데이터베이스 이름을 지정할 수있는 기회를 제공합니다.
David Spillett

7

위의 단계를 수행 하면서이 문제를 해결하면서 이것을 추가했습니다.
SQL Server 2008 R2에서는 최소한 서버에 로컬 백업을 가져 오는 단계를 건너 뛸 수 있습니다.

  1. 데이터베이스를 마우스 오른쪽 버튼으로 클릭
  2. 데이터베이스 복원을 클릭하십시오.
  3. 데이터베이스에서 옵션을 복사중인 데이터베이스로 설정하십시오.
  4. 데이터베이스로 옵션을 새 이름으로 설정하십시오.
  5. 확인을 클릭하십시오

5

아마도 이것이 가장 좋은 해결책 일 것입니다 :

1) 소스 DB 서버에서 -로컬 파일로 백업 작성

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) 소스 파일을 대상 서버에 복사하십시오.
두 서버가 동일한 시스템에있는 경우 해당 파일의 사본을 작성하려고 할 수 있습니다.

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) 대상 DB 서버 : 백업 파일에서 데이터베이스 복원

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'

0

MS SQLServer 2012를 사용하면 먼저 3 가지 기본 단계를 수행하고 소스 DB의 구조 만 포함하는 .sql 파일을 생성해야합니다 => 소스 DB를 마우스 오른쪽 버튼으로 클릭 한 다음 작업을 수행 한 다음 스크립트 생성 => 마법사를 따르십시오. .sql 파일 로컬 둘째, .sql 파일에서 소스 db를 대상으로 바꾸십시오 => 대상 파일을 마우스 오른쪽 버튼으로 클릭하고 새 쿼리 및 Ctrl-H를 누르거나 (편집-찾기 및 바꾸기-Quack replce) 마지막으로 데이터로 채 웁니다. => detination DB를 마우스 오른쪽 단추로 클릭 한 다음 작업을 클릭 한 다음 데이터 가져 오기 => "sql 서버용 .net 프레임 워크 데이터 프로 시더"로 설정된 데이터 소스 드롭 다운 + DATA 아래의 연결 문자열 텍스트 필드 설정 ex : Data Source = Mehdi \ SQLEXPRESS; 초기 카탈로그 = db_test; 사용자 ID = sa; 비밀번호 = sqlrpwrd15 => 대상과 동일한 일 =>전송할 테이블을 확인하거나 "source : ....."옆의 확인란을 선택하여 모두 확인하십시오.

당신은 끝났습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.