SQL Server 2008 R2 Express如何進行排程工作
SQL Server 2008 R2 Express安裝完成後,於SQL Server組態管理員中雖有SQL Server Agent服務(如下圖),但是卻怎麼都啟動不起來,
經過查證發現原來是Microsoft錯把SQL Server Agent包在SQL Server 2008 R2 Express,讓人誤解Microsoft除了大方的讓免費的使用者可以使用Reporting Services外,也有SQL Server Agent可用,雖然沒辦法透過SQL Server Agent進行例行性的排程作業(例如資料庫備份),但可以透過Windows排定的工作呼叫SqlCmd指令來執行事先建立好的TSQL敘述達到類似SQL Server Agent的功能。
- 下列範例為備份SQL Server Express中[C:\WORKSTATION\TEST.MDF]資料庫備份到C磁碟,並儲存為backup.sql。
backup database [C:\WORKSTATION\TEST.MDF] to disk='c:\test.bak'
- 下列範例為呼叫SqlCmd公用程式以信任連接方式登入SQL Server Express執行個體來執行上述backup.sql,並儲存為backup.cmd。
sqlcmd -S .\sqlexpress -E -i c:\backup.sql
- 建立Windows排定的工作。
- 依照排定的時程或是手動執行上一步驟建立的工作,就可以於C磁碟中看到完成的資料庫備份檔。
參考資料:
http://msdn.microsoft.com/zh-tw/library/ms165636.aspx
http://alexchuo.blogspot.com/2010/09/sql-server-2008-expess-sql-server-agent.html