sqlserver數據庫中沒有維護計划,使用windows默認的計划任務實現數據備份


 

在一個項目中用到的數據庫是sqlserver 2008 r2 express 。可沒想到express版本的功能有些限制,此前一直都不知道啊。百度百科可以看到它的限制:

 

“1.數據庫的大小限制:SQL Server 2005 Express 和SQL Server 2008 Express 數據庫的大小限制最大為 4GB,最新版本的SQL Server 2008 R2 Express 數據庫的大小限制最大為 10G。這個大小的限制只有在數據文件上,交易記錄檔則不受此限。 2.只能使用一個 CPU 來運算,這在多個 CPU 的電腦上會造成浪費。
3.可使用的存儲器量最高只有 1GB。
4.沒有 SQL Agent,若要做調度服務必須自己寫程序。”
 
所以,由於沒有SQL代理(SQLSERVERAGENT)服務,就沒有辦法通過新建作業的方式來做數據庫備份了。如果不想重裝數據庫的話可以試試以下方法。思路如下:
1、寫一個sql 腳本來作數據庫備份。
例如:backup.sql ,我們把它放在 F:\Database_Backup下,以后的備份文件也放在這個目錄下。
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 DBName to disk=@fileName
DBName就是你的數據庫的名稱了,備份的文件名形如 DB_201302252140.bak。

2、寫一個批處理文件,執行此sql腳本。
例如:backup_database.bat ,我們也把它放在 F:\Database_Backup下。
sqlcmd -S . -i F:\Database_Backup\backup.sql  
3、新建一個Windows計划任務,定期(比如每天)執行此批處理命令。
選擇管理工具里的“計划任務”
選擇“創建基本任務”
輸入任務名稱和描述
選擇執行時間
選擇操作為“啟動程序”
這里的程序或腳本就選擇我們建好的 backup_database.bat

起始地址為C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn

這地地址下面有sqlcmd的執行工具,所以這個是必須的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM