복붙노트

[SQL] 당신은 어떻게 백업 할 수와 같은 서버에 복사본으로 데이터베이스를 복원?

SQL

당신은 어떻게 백업 할 수와 같은 서버에 복사본으로 데이터베이스를 복원?

나는 같은 인스턴스의 복사본을 생성하고자하는 SQL 2005 Express 데이터베이스가 있습니다. 당신은 어떻게 스크립트로이 일을 가야합니까?

이미 백업을 생성하는 스크립트를 가지고 있지만이 실패 복원 ...

오류:

해상도 :

RESTORE DATABASE [MyDB_Test]
FROM DISK = 'C:\temp\SQL\MyDB.bak'
WITH
MOVE 'MyDB' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDB_Test.mdf'
, MOVE 'MyDB_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDB_Test_log.ldf'
, REPLACE;

이유: 내 첫 번째 시도에서 제대로 논리적 인 경로를 식별하지 않았다.

해결법

  1. ==============================

    1.FILELISTONLY이 정보 명령이며, 복원을 수행 할 필요가 없습니다 복원합니다. 사용자는 논리적 이름을 새 위치로 데이터베이스를 복원하려면 MOVE 명령과 함께 사용할 수있는 데이터 파일을 위해 무엇인지 알아 내기 위해 이것을 사용할 수 있습니다.

    FILELISTONLY이 정보 명령이며, 복원을 수행 할 필요가 없습니다 복원합니다. 사용자는 논리적 이름을 새 위치로 데이터베이스를 복원하려면 MOVE 명령과 함께 사용할 수있는 데이터 파일을 위해 무엇인지 알아 내기 위해 이것을 사용할 수 있습니다.

    오류 메시지에서 권장하는대로 당신은 데이터베이스의 논리적 이름이 무엇인지 볼 수 FILELISTONLY 복원을 사용해야합니다. 귀하의 복원 명령이 잘못이있다.

    여기에 당신이해야 할 일의 작업 예입니다 :

    --backup the database
    backup database test1 to disk='c:\test1_full.bak'
    
    -- use the filelistonly command to work out  what the logical names 
    -- are to use in the MOVE commands.  the logical name needs to
    -- stay the same, the physical name can change
    restore filelistonly from disk='c:\test1_full.bak'
     --------------------------------------------------
    |  LogicalName  |           PhysicalName           |
     --------------------------------------------------
    | test1         | C:\mssql\data\test1.mdf          |
    | test1_log     | C:\mssql\data\test1_log.ldf      |
     -------------------------------------------------
    
    restore database test2 from disk='c:\test1_full.bak'
    with move 'test1' to 'C:\mssql\data\test2.mdf',
    move 'test1_log' to 'C:\mssql\data\test2.ldf'
    
  2. ==============================

    2.방법 : 새 위치 및 이름으로 데이터베이스 복원 (Transact-SQL)를 참조하십시오

    방법 : 새 위치 및 이름으로 데이터베이스 복원 (Transact-SQL)를 참조하십시오

  3. ==============================

    3.여기에 몇 가지 대안은 다음과 같습니다 :

    여기에 몇 가지 대안은 다음과 같습니다 :

    데이터베이스 소프트웨어 (.BAK에서) 복원 ::

    1) SqlRestoreSetup

    2) 에이펙스 SQL 복원

  4. from https://stackoverflow.com/questions/1360529/how-do-you-backup-and-restore-a-database-as-a-copy-on-the-same-server by cc-by-sa and MIT license