SQL Server 2008 R2 Express如何進行排程工作

SQL Server 2008 R2 Express如何進行排程工作

SQL Server 2008 R2 Express安裝完成後,於SQL Server組態管理員中雖有SQL Server Agent服務(如下圖),但是卻怎麼都啟動不起來,

image

image

經過查證發現原來是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排定的工作。

image

  • 依照排定的時程或是手動執行上一步驟建立的工作,就可以於C磁碟中看到完成的資料庫備份檔。

image

參考資料:

http://msdn.microsoft.com/zh-tw/library/ms165636.aspx

http://alexchuo.blogspot.com/2010/09/sql-server-2008-expess-sql-server-agent.html