Windows 일괄 처리로 SQL Server DB 전체 백업 파일을 즉시 채취
3963 단어 SQLServer
소개
Windows 배치에서 SQL Server의 전체 백업을 수집하는 방법을 설명합니다.
전제
처리 개요
백업 처리 Windows 배치 작성
다음과 같은 배치를 작성한다.
SQLSVDBbackup.batSET PORT=1433
SET DBSV=localhost
SET INSTANCE=MSSQLSERVER
SET DBNAME=SANDBOX1
REM バックアップ出力先
SET BKUP_DIR=D:\SQLServerBackup
REM バックアップファイル名
SET BKUP_FILE_NAME=DB1.bak
REM フルバックアップ
sqlcmd -S %DBSV%\%INSTANCE%,%PORT% -Q "BACKUP DATABASE %DBNAME% TO DISK='%BKUP_DIR%\%BKUP_FILE_NAME%' WITH INIT, COMPRESSION"
REM バックアップ生成失敗時
IF NOT EXIST %BKUP_DIR%\%BKUP_FILE_NAME% GOTO BKUP_ERR
GOTO END
REM エラー処理
:BKUP_ERR
ECHO バックアップに失敗
EXIT /B 9
REM 正常終了
:END
EXIT /B 0
이하, 실행 결과 발췌
D:\SQLServerBackup>sqlcmd -S localhost\MSSQLSERVER,1433 -Q "BACKUP DATABASE SANDBOX1 TO DISK='D:\SQLServerBackup\DB1.bak' WITH INIT, COMPRESSION"
データベース 'SANDBOX1' の 384 ページ、ファイル 1 のファイル 'SANDBOX1' を処理しました。
データベース 'SANDBOX1' の 2 ページ、ファイル 1 のファイル 'SANDBOX1_log' を処理しました。
BACKUP DATABASE により 386 ページが 0.052 秒間で正常に処理されました (57.851 MB/秒)。
실행 결과 확인
아래와 같이 DB1.bak 파일이 되어 있으면 성공.
문제해결
연결 정보가 정확하지만 런타임에 다음 오류가 발생하면 TCP/IP가 무효화되었을 가능성이 높습니다.
SQL Server 구성 관리자의 설정을 검토합니다.
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: TCP Provider: 待ち操作がタイムアウトになりました。
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: Login timeout expired。
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.。
보충
SET PORT=1433
SET DBSV=localhost
SET INSTANCE=MSSQLSERVER
SET DBNAME=SANDBOX1
REM バックアップ出力先
SET BKUP_DIR=D:\SQLServerBackup
REM バックアップファイル名
SET BKUP_FILE_NAME=DB1.bak
REM フルバックアップ
sqlcmd -S %DBSV%\%INSTANCE%,%PORT% -Q "BACKUP DATABASE %DBNAME% TO DISK='%BKUP_DIR%\%BKUP_FILE_NAME%' WITH INIT, COMPRESSION"
REM バックアップ生成失敗時
IF NOT EXIST %BKUP_DIR%\%BKUP_FILE_NAME% GOTO BKUP_ERR
GOTO END
REM エラー処理
:BKUP_ERR
ECHO バックアップに失敗
EXIT /B 9
REM 正常終了
:END
EXIT /B 0
D:\SQLServerBackup>sqlcmd -S localhost\MSSQLSERVER,1433 -Q "BACKUP DATABASE SANDBOX1 TO DISK='D:\SQLServerBackup\DB1.bak' WITH INIT, COMPRESSION"
データベース 'SANDBOX1' の 384 ページ、ファイル 1 のファイル 'SANDBOX1' を処理しました。
データベース 'SANDBOX1' の 2 ページ、ファイル 1 のファイル 'SANDBOX1_log' を処理しました。
BACKUP DATABASE により 386 ページが 0.052 秒間で正常に処理されました (57.851 MB/秒)。
연결 정보가 정확하지만 런타임에 다음 오류가 발생하면 TCP/IP가 무효화되었을 가능성이 높습니다.
SQL Server 구성 관리자의 설정을 검토합니다.
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: TCP Provider: 待ち操作がタイムアウトになりました。
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: Login timeout expired。
Sqlcmd: エラー: Microsoft ODBC Driver 13 for SQL Server: A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.。
보충
Reference
이 문제에 관하여(Windows 일괄 처리로 SQL Server DB 전체 백업 파일을 즉시 채취), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yuruise/items/58a6e5e0bf737ba31fe5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)