日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

解決在window下執行SQLSERVER定時備份的問題_MsSql

作者:一塊白板 ? 更新時間: 2022-03-31 編程語言

引言

在使用SqlServer Express 版本的時候發現,這個版本不支持通過數據庫的代理方式進行數據庫的維護。

解決方案

使用SQL語句加windows任務計劃的方式解決
具體步驟如下

  • 創建備份用的SQL文件
  • 創建調用SQL文件的BAT文件
  • 加入到windows的任務計劃中

具體步驟及文件

SQL語句

GO
DECLARE @backupTime VARCHAR(20)
DECLARE @fileName VARCHAR(1000)
SELECT
    @backupTime =(
        CONVERT(VARCHAR(8), GETDATE(), 112) + REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', '')
    )
SELECT
    @fileName = 'F:\Database_Backup\DB_' + @backupTime + '.bak' backup database 數據庫名稱 to disk = @fileName

BAT文件

sqlcmd -S . -i F:\Database_Backup\backup.sql

加入到windows任務計劃找到并打開任務計劃程序選擇右側的創建基本任務

輸入任務基本信息

選擇何時執行,下一步配置具體執行規則

選擇執行的動作,啟動程序

選擇剛才創建的bat文件

完成

補充:windows任務計劃定時備份sqlserver數據庫

使用windows的任務計劃新建一個sqlserver數據庫的定時備份任務

一、(我是以sqlserver2008r2數據庫版本測試的)在G盤下新建文集夾Database_backup,首先需要寫一個sql的備份腳本,文件命名為backup.sql(將下面語句放在backup文件):backup放在Database_backup下,以后備份也放在此目錄下。DBname就是你所需要備份的數據庫名:

GO
DECLARE
@backuptime varchar(20)
DECLARE
@filename varchar(100)
select @backuptime=(convert(varchar(8),getdate(),112)+replace(convert(varchar(5),getdate(),114),':',' '))
select @filename='G:\Database_backup\db_'+@backuptime+'.bak'
backup database DBname to disk=@filename

二、寫一個批處理文件執行sql語句:

例如:backup_database.bat

.bat文件內容為:sqlcmd -S . -i F:\Database_Backup\backup.sql

.bat文件內的語句可以在cmd控制臺執行測試是否正確;

三、在windows-控制面板-管理工具下,打開任務計劃,創建基本任務,輸入任務名稱描述、設置備份時間、選擇啟動程序。需要注意的是在起始于選項里輸入程序執行路徑,完成。

原文鏈接:https://www.cnblogs.com/ykbb/archive/2022/01/13/15796762.html

欄目分類
最近更新