문제

데이터베이스 백업 파일 (.bak)을 지퍼하고 원격 위치로 전송하는 샘플 SQL 스크립트를 찾고있었습니다. 당신이 가지고 있으면 공유하십시오.

도움이 되었습니까?

해결책

당신이 사용할 수있는 XP_CMDSHELL 지핑 및 복사에 대한 명령을 호출합니다. 여기 샘플에서 파일 전송에 WinZip 명령 줄 (Zipping/Unziping) 및 Xcopy를 사용하고 있습니다.

EXEC master..xp_cmdshell 'C:\"Program Files"\WinZip\wzzip C:\Database.bak.zip C:\Database.bak';
EXEC master..xp_cmdshell 'C:\"Program Files"\WinZip\wzunzip -o "C:\Database.bak.zip" "C:\Database"';
EXEC master..xp_cmdshell 'xcopy "C:\Database.bak.zip" "\\networkshare\Backups" /Y'

다른 팁

XP_CMDSHELL은 한 가지 방법이지만 서버를 덜 안전하게 만들기 때문에 이상적이지는 않지만 이상적이지 않습니다.

내 오픈 소스 프로젝트, SQL 서버 압축 백업, 당신이 찾고있는 것을 한 단계로 수행합니다.

msbp.exe backup "db(database=model)" "zip64" "local(path=\\server\share\path\model.full.bak.zip)"

SQL Server Compressed Backup의 설치는 "Xcopy"배포 일뿐입니다. 설치/제거 할 것이 없습니다. 한 번만 수행 해야하는 경우 이상적입니다.

표준 ZIP 형식에는 4GB 제한이 있으므로 Zip64를 사용합니다. 사용 가능한 대체 압축 형식은 제한이없는 GZIP 및 BZIP2입니다.

그런 간단한 도구를 사용하지 않는 이유는 무엇입니까? sqlbackupandftp? 간단한 인터페이스를 사용하여 필요한 작업 (SQL 백업 + 원격 위치로 이동)을 정확하게 수행하며 스크립트를 작성할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top