SQL Server 데이터베이스를 백업하는 간단한 명령 줄 프로그램 또는 스크립트는 무엇입니까? 내부 서버에서 DB

내부 서버에서 DB 백업을 수행하는 데 너무 느슨했습니다.

SQL Server 2005에서 특정 데이터베이스를 백업하는 데 사용할 수있는 간단한 명령 줄 프로그램이 있습니까? 아니면 간단한 VBScript가 있습니까?



답변

명령 줄에서 단일 데이터베이스를 백업하려면 osql 또는 sqlcmd를 사용 합니다.

"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\osql.exe"
    -E -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak' WITH FORMAT"

또한 BACKUPRESTORE일반 절차 에 대한 설명서를 읽고 싶을 것 입니다.


답변

ExpressMaint를 사용 합니다.

모든 사용자 데이터베이스를 백업하려면 예를 들면 다음과 같습니다.

C:\>ExpressMaint.exe -S (local)\sqlexpress -D ALL_USER -T DB -BU HOURS -BV 1 -B c:\backupdir\ -DS


답변

모든 데이터베이스를 백업하려면 다음을 예약하십시오.

Use Master

Declare @ToExecute VarChar(8000)

Select @ToExecute = Coalesce(@ToExecute + 'Backup Database ' + [Name] + ' To Disk =     ''D:\Backups\Databases\' + [Name]   + '.bak'' With Format;' + char(13),'')
From
Master..Sysdatabases
Where
[Name] Not In ('tempdb')
and databasepropertyex ([Name],'Status') = 'online'

Execute(@ToExecute)

내 블로그에 SQL Server Express 백업자동화 하는 방법에 대한 자세한 내용도 있습니다 .


답변

Microsoft 지원 페이지 http://support.microsoft.com/kb/2019698 에서 찾았습니다 .

잘 작동합니다! 그리고 Microsoft에서 왔기 때문에 꽤 합법적이라고 생각합니다.

기본적으로 두 단계가 있습니다.

  1. 마스터 DB에 저장 프로 시저를 만듭니다. msft 링크를 보거나 고장난 경우 여기에서 시도하십시오 : http://pastebin.com/svRLkqnq
  2. 작업 스케줄러에서 백업을 예약합니다. 먼저 .bat 또는 .cmd 파일에 넣은 다음 해당 파일을 예약 할 수 있습니다.

    sqlcmd -S YOUR_SERVER_NAME\SQLEXPRESS -E -Q "EXEC sp_BackupDatabases @backupLocation='C:\SQL_Backup\', @backupType='F'"  1>c:\SQL_Backup\backup.log            

분명히 YOUR_SERVER_NAME을 컴퓨터 이름으로 바꾸거나 선택적으로. \ SQLEXPRESS를 시도하고 백업 폴더가 있는지 확인하십시오. 이 경우 c : \ SQL_Backup에 넣으려고합니다.


답변

ApexSQL로 백업 응용 프로그램을 사용할 수 있습니다. GUI 응용 프로그램이지만 CLI에서 지원되는 모든 기능이 있습니다. 일회성 백업 작업을 수행하거나 지정된 데이터베이스를 정기적으로 백업하는 작업을 생성 할 수 있습니다. 스위치 규칙과 예제를 확인할 수 있습니다.


답변

MSSQL 데이터베이스에 액세스하기 위해 Linux / UNIX 인프라에서 tsql을 사용하고 있습니다. 다음은 테이블을 파일로 덤프하는 간단한 쉘 스크립트입니다.

#!/usr/bin/ksh
#
#.....
(
tsql -S {database} -U {user} -P {password} <<EOF
select * from {table}
go
quit
EOF
) >{output_file.dump}


답변

–E 스위치가 선언 한대로 신뢰할 수있는 연결이없는 경우 결국

다음 명령 줄 사용

"[program dir]\[sql server version]\Tools\Binn\osql.exe" -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak'" -S [server] –U [login id] -P [password]

어디

[프로그램 디렉토리]는 osql.exe가있는 디렉토리입니다.

32 비트 OS c : \ Program Files \ Microsoft SQL Server \
64 비트 OS c : \ Program Files (x86) \ Microsoft SQL Server \

[sql 서버 버전] SQL 서버 버전 110 또는 100 또는 90 또는 80이 가장 큰 숫자로 시작

[서버] 서버 이름 또는 서버 IP

[로그인 ID] MS-SQL 서버 사용자 로그인 이름

[비밀번호] 필수 로그인 비밀번호