내 프로덕션 db의 .bak에서 복제 된 db를 만드는 작업을 자동화해야합니다. GUI를 통해 작업을 충분히 해왔지만 명령 줄에서 실행하면 다양한 스위치, 특히 파일 이름과 소유권이 올바르게 복제되었는지 혼란스러워집니다..bak를 새 db로 복원하는 TSQL 구문
이를 수행하는 RESTORE 용 TSQL 구문을 찾고 있습니다.
내 프로덕션 db의 .bak에서 복제 된 db를 만드는 작업을 자동화해야합니다. GUI를 통해 작업을 충분히 해왔지만 명령 줄에서 실행하면 다양한 스위치, 특히 파일 이름과 소유권이 올바르게 복제되었는지 혼란스러워집니다..bak를 새 db로 복원하는 TSQL 구문
이를 수행하는 RESTORE 용 TSQL 구문을 찾고 있습니다.
는 SQL Server 2005 또는 2008을 사용하고, 가장 간단한 방법은 데이터베이스 복원 대화의 상단에있는 "스크립트"버튼을 사용하는 것입니다 SQL Server Management Studio. 이렇게하면 대화 상자에 입력 한 방식으로 구성된 모든 옵션/설정으로 T-SQL 스크립트가 자동으로 만들어집니다.
은 이쪽을 봐 :
이 예제는 새 데이터베이스 라는 이름의 MyAdvWorks를 만듭니다 좋은 예제가 How to: Restore a Database to a New Location and Name (Transact-SQL)을. MyAdvWorks는 AdventureWorks_Data 및 AdventureWorks_Log의 두 파일을 포함하는 기존 AdventureWorks 데이터베이스의 복사본입니다. 이 데이터베이스는 단순 복구 모델 을 사용합니다. AdventureWorks 데이터베이스가 이미 이라는 서버 인스턴스에 있으므로 백업의 파일을 의 새 위치로 복원해야합니다. RESTORE FILELISTONLY 문은 파일의 수와 이름을 복원 할 때 을 확인하는 데 사용됩니다. 데이터베이스 백업은 백업 장치에 첫 번째로 설정된 백업입니다.
USE master
GO
-- First determine the number and names of the files in the backup.
-- AdventureWorks_Backup is the name of the backup device.
RESTORE FILELISTONLY
FROM AdventureWorks_Backup
-- Restore the files for MyAdvWorks.
RESTORE DATABASE MyAdvWorks
FROM AdventureWorks_Backup
WITH RECOVERY,
MOVE 'AdventureWorks_Data' TO 'D:\MyData\MyAdvWorks_Data.mdf',
MOVE 'AdventureWorks_Log' TO 'F:\MyLog\MyAdvWorks_Log.ldf'
GO
이것은 또한 도움이 될 수 있습니다 : 당신을 가정 Copying Databases with Backup and Restore