利用本地SQL Server維護計劃來維護SQL Database

來源:互聯網
上載者:User

標籤:style   blog   http   os   檔案   資料   2014   art   

On-Premise的SQL Server提供了維護計劃來定期、定時的維護SQL Server。一般的做法是:定義SQL Server Agent Jobs,而後維護計劃協助我們定期、定時執行SQL Server Agent Jobs。遺憾的是,SQL Database並不提供維護計劃以及SQL Server Agent功能。

然而,根據MSDN的說法,我們依然可以通過SQL Server提供的維護計劃串連到SQL Database。(Microsoft Azure SQL Database does not support SQL Server Agent or jobs. You can, however, run SQL Server Agent on your on-premise SQL Server and connect to Microsoft Azure SQL Database. http://msdn.microsoft.com/library/azure/ee336245.aspx#sqlagent  )。具體做法如下:

通過SQL Server Agent可以調用sqlcmd命令,然後我們可以指定執行sqlcmd命令的伺服器。這樣,我們就可以配置一個SQL Server Agent Job去調用sqlcmd來維護SQL Database。

配置SQL Server Agent Job的方式如下 (SSMS 2012):

1. 建立一個SQL Server Agent Job:

2. 配置Job Steps:

3. 建立一個Job Step,Step類型選擇Operating system (CmdExec):

4. 配置sqlcmd。在這個例子中,我試圖通過sqlcmd去刪除我的SQL Database中,HolTestDB資料庫下,名為People表中,ID大於13的資料。那麼這個命令為:

sqlcmd -U xxxxx -P xxxxxx -S xxxxx -d HolTestDB -Q "delete  from People where ID > 13"

請注意,上述例子中參數的意義如下:

-U : SQL Database的使用者名稱

-P : 密碼

-d: 資料庫名稱

-Q: sql語句

-S : 伺服器DNS名稱。您可以通過管理入口網站找到,如:

5. 測試sqlcmd是否有效 (註:這個步驟並不是必須的)。測試的目的,是為了驗證我們配置的命令是否真的有效。然而,我並不想在測試的過程就把資料刪掉,所以我將sqlcmd命令改成(delete換成select):

sqlcmd -U xxxxx -P xxxxxx -S xxxxx -d HolTestDB -Q "select * from People"

在命令列視窗,輸入上面命令並得到下面的結果,說明該命令可以work:

6. 為Agent Job設定sqlcmd命令並儲存:

7. 運行Agent Job:選中剛才建立的Job,點右鍵,選擇Start Job at Step…

8. 運行成功:

9. 第5步的方式驗證以下結果,發現ID大於13的成功被刪除:

此外,我們也可以將您的SQL指令碼放到.sql檔案中,那麼sqlcmd相應調整如下(之前的例子,通過-Q參數指定sql語句;下面的例子,通過-i參數執行sql指令檔):

sqlcmd -U xxxx –P xxxx -S xxxxx -d HolTestDB -i "D:\MaintainSqlAzure.sql"

更多關於sqlcmd的使用者,請參考:

sqlcmd 工具 + 生產力

How to: Connect to Azure SQL Database Using sqlcmd

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.