2014-01-30 1 views
0

스크립트를 통해 SQL Server 2008에서 데이터베이스를 복사해야합니다. 나는이 솔루션을 발견 : 이것은 잘 작동데이터베이스 복사본이 뷰, 저장 프로 시저를 복사하지 않습니다.

BACKUP DATABASE Database1 TO DISK='C:\temp\Database1.bak'; 

RESTORE DATABASE Database2 FROM DISK='C:\temp\Database1.bak' 
WITH MOVE 'Database1' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Database2.mdf', 
MOVE 'Database1_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Database2_log.ldf'; 

, 나는 모든 데이터 내 모든 테이블을 얻을,하지만 내 뷰, 저장 프로 시저, 함수를 복사하지 않습니다, 보안 (사용자, ...).

관리 스튜디오 (모든 작업 - 데이터베이스 복원)의 GUI에서 복원을 수행하면 이러한 모든 개체가 복원됩니다. 일부 매개 변수가 누락 되었습니까?

답변

2

데이터베이스를 백업하고 파일에서 복원 할 때 모든 테이블, 뷰, 저장 프로 시저 등이 포함됩니다. 오래된 파일을 가져 오거나 백업이 실패합니다.

구문이 정확합니다. 다음은 RESTORE에 대한 전체 설명서 및 데이터베이스 복사 방법입니다.

http://technet.microsoft.com/en-us/library/ms186858.aspx#copying_db_using_bnr

백업 파일을 포함하여, 그와 관련된 모든 파일을 삭제, 새 데이터베이스를 제거 삭제. 그리고 다시 시작하십시오.

관련 문제