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’로 바꾸십시오.