[sql-server] SQL 서버 데이터베이스를 백업하는 간단한 명령 줄 프로그램 또는 스크립트는 무엇입니까?


3 Answers

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

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 백업 자동화 방법에 대한 자세한 내용도 있습니다.

Question

나는 내부 서버에서 DB 백업을 수행하는 데 너무 느리다.

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




아래는 데이터베이스 백업을 만드는 간단한 스크립트입니다.

DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name


-- specify database backup directory
SET @path = 'C:\Backup\'  


-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 


DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases


OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   


WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  


       FETCH NEXT FROM db_cursor INTO @name   
END   


CLOSE db_cursor   
DEALLOCATE db_cursor



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




Microsoft 지원 페이지 http://support.microsoft.com/kb/2019698 에서이 오류를 발견했습니다.

그것은 위대한 작품! 그리고 마이크로 소프트에서 온 이래로, 나는 그것이 꽤 합법적 인 것처럼 느낀다.

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

  1. master 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에 넣으려고합니다.



Related