Sql-Server
每天自動備份數據庫
我正在嘗試在 SQL Server 2008 R2 中創建數據庫的自動/每日備份。我做了一些研究,並且在使用 Express 版時知道了這一點;維護計劃不附帶,我無法自動/每天創建數據庫備份。所以,唯一的可能性是我必須使用 TSQL 或創建 Job。我對 SQL Job 了解不多,所以只剩下 T-SQL。
誰能解釋我如何使用儲存過程在 T-SQL 中自動備份數據庫,或者我必須這樣做的任何其他選項。
問候。
由於您使用的是 SQL Server Express,因此您必鬚髮揮創造力。您沒有任何 SQL Server 本地調度工具,您可以使用任務計劃程序,並安排每日任務來執行SQLCMD,並使用查詢文本來備份您的數據庫。
我建議創建一個腳本來執行一些字元串操作來為
BACKUP DATABASE
T-SQL 生成一個唯一的文件名。您的腳本可能類似於以下內容:
-- declare the backup filename (with path) without the file extension declare @DestFile varchar(128) = 'C:\BackupDir\BackupFileName_'; -- get the current date as a nice and sortable string declare @CurrentDate varchar(64) = ''; set @CurrentDate = replace(convert(varchar(10), getdate(), 111), '/', ''); set @DestFile += @CurrentDate + '.bak'; backup database YourDatabaseName to disk = @DestFile; go
將該 T-SQL 保存到腳本文件中(例如,為了
C:\YourScriptDir\BackupDatabase.sql
)。要使用 SQLCMD 執行此腳本,您可以執行以下操作:sqlcmd -S YourServerName\YourInstanceName -i C:\YourScriptDir\BackupDatabase.sql
然後只需使用任務計劃程序安排它每天執行。這是一個巨大的意大利麵條解決方法,但這就是免費版本所獲得的。
(上述過程將針對 Simple Recovery 模式下的數據庫進行定制。如果您處於 Full 狀態,則還需要考慮事務日誌備份)
試試我們的SQLBackupAndFTP工具。您可以執行 SQL Server 數據庫的計劃備份(完整、差異或事務日誌)、執行文件/文件夾備份、壓縮和加密備份、將它們儲存在網路、FTP 伺服器、Dropbox、Box、Amazon S3、Google Drive 或 SkyDrive , 給自己發送一封關於工作成功失敗的電子郵件確認。