2013-12-11 91 views
0

在我的工作,我偶爾必須執行以下任務:如何自動化一系列服務器更新?

  1. 使用遠程桌面連接登錄到服務器。
  2. 將我計算機上特定文件夾的一組文件複製到服務器上的特定文件夾。
  3. 在SQL Server Management Studio中的服務器上執行SQL查詢,該查詢是從我的計算機上的文本文件複製的。
  4. 退出服務器。

然後重複一大堆其他服務器。這加起來超過一個小時,我試圖找出一種方法來實現它的自動化。要做到這一點,最好的方法是什麼?我不認爲Windows在命令行方面與Linux相比功能豐富,而且我對網絡協議本身並不熟悉。

回答

1

您可以使用批處理文件和計劃任務自動執行此類行爲。

您可以爲SQL Server從這裏安裝命令行實用程序11: http://www.microsoft.com/en-us/download/details.aspx?id=36433

,並找到該實用程序的參考材料,它提供了這裏: http://technet.microsoft.com/en-us/library/ms162816.aspx

你會想要寫一個批處理文件,按順序執行您的操作。我建議運行鍼對測試數據庫的非致命性的SQL查詢,而你發展你的批處理文件,但它會是這樣的:

::Copy the files 
xcopy "\\server\c$\Source\*.*" "\\server\c$\Destination\" 

::Set your MS SQL variables 
set /p SName="Server Name" 
set /p UName="User Name" 
set /p Pwd="Password" 
set /p DbName="Database Name" 

::Execute your SQL query 
sqlcmd -S %SName% -U %UName% -P %Pwd% -d %DbName% -i "c:\sqlCommand.sql" 

那麼你會希望將其設置爲運行作爲Windows的計劃由可訪問這兩個網絡位置的用戶帳戶(或服務帳戶)完成的任務。

這應該做的伎倆。

+0

是否有理由使用xcopy通過robocopy或通過PowerShell腳本處理批處理文件? –

+0

我想你可能在PowerShell中做類似的行爲,但我沒有任何專業知識可以提供。 – ryanscottmurphy