/ / 명령 줄에서 SQL Server 데이터베이스 백업 및 복원

명령 줄에서 SQL Server 데이터베이스 백업 및 복원

SQL Server의 가장 중요한 부분유지 보수 계획은 데이터베이스를 정기적으로 백업합니다. 데이터베이스를 백업하려면 SQL Server에 잠금이 설정되어 있으므로 데이터베이스의 각 MDF 및 LDF 파일을 간단히 복사 할 수 없습니다. 대신 SQL Server를 통해 실제 백업 파일을 만들어야합니다.

이 작업을 수행하여 수행 할 수 있지만SQL Server의 무료 Express 버전 인 SQL Management Studio 내에서 유지 관리 계획은이 인터페이스를 제공하지 않습니다. 이 문제를 해결하려면 Windows 관리자로 로그인 한 상태에서 아래 명령을 실행하여 데이터베이스를 쉽게 백업 할 수 있습니다.

SqlCmd -E -S Server_Name –Q“백업 데이터베이스 [Name_of_Database] TO DISK = 'X : PathToBackupLocation [Name_of_Database] .bak' "

아래 예제가 도움이 될 것입니다.

기본 SQL Server 인스턴스 :

SqlCmd -E -S MyServer –Q“백업 데이터베이스 [MyDB] TO DISK = 'D : BackupsMyDB.bak' "

명명 된 SQL Server 인스턴스 :

SqlCmd -E -S MyServerMyInstance –Q“백업 데이터베이스 [MyDB]에서 DISK = 'D : BackupsMyDB.bak' "

위의 완전히 복원 가능한 백업 복사본을 만듭니다재해 복구에 사용할 수있는 "D : BackupsMyDB.bak"파일에 "MyDB"를 추가합니다. 물론 백업 위치와 파일을 원하는대로 변경할 수 있지만 로컬 시스템에 존재하는 폴더 위치를 지정해야합니다. 그런 다음이 백업 파일을 테이프 드라이브 또는 다른 외부 백업 위치로 복사 할 수 있습니다.

일반적인 질문은“백업 파일을매핑 된 드라이브 또는 UNC 위치에 생성 되었습니까?” 그 이유는 SQL Server Windows 서비스가 로컬 컴퓨터에만 액세스 할 수있는 사용자 계정으로 실행되기 때문입니다. 서비스가 실행되는 계정을 변경할 수 있지만 보안상의 이유로 권장하지 않습니다.

명령 행에서 데이터베이스 백업 복원

백업 파일에서 데이터베이스를 복원하려면 다음 명령을 사용하십시오.

SqlCmd -E -S Server_Name –Q“데이터베이스 복원 [이름 _ 데이터베이스] FROM DISK = 'X : PathToBackupFile [File_Name] .bak'”

예를 들면 다음과 같습니다.

SqlCmd -E -S MyServer –Q“DISK = 'D : BackupsMyDB.bak에서 데이터베이스 복원 [MyDB]' "

위 명령은 백업 파일 "D : BackupsMyDB.bak"에 저장된 데이터에서 "MyDB"백업을 복원합니다. 백업 파일이 생성 된 이후 MyDB에 대한 모든 변경 사항은 손실됩니다.

사용할 때 기억해야 할 중요한 사항위의 명령은 해당 백업 파일이 작성된 것과 동일한 SQL Server에서 사용되도록되어 있습니다. SQL 백업 파일은 백업 파일의 데이터 파일이 복사되는 위치와 방법을 제어하는 ​​'비하인드'정보를 저장합니다. 다른 SQL Server에서 백업을 복원하는 경우 백업 파일의 경로 위치가 복원중인 서버와 일치하지 않을 수 있으며 오류가 발생합니다. 이 문제를 해결할 수는 있지만 SQL Management Studio 도구를 사용하여 다른 SQL Server에서 생성 된 백업을 훨씬 쉽게 복원 할 수 있습니다.

참고 : 위의 명령은 SQL 2005 이상 (모든 에디션)에서 작동합니다. SQL 2000 및 이전 버전의 경우‘SqlCmd’를‘oSql’로 바꾸십시오.