我試圖自動化我的SQL數據庫備份過程。我的目標是使用Cloudberry Powershell cmdlet讓我直接控制和訪問S3存儲桶。我可以手動執行此操作,但無法讓我的SQL作業使用此功能。如何從計劃的SQL代理作業中使用Cloudberry Powershell管理單元(用於Amazon S3)?
根據Cloudberry的安裝說明,如果Powershell已經安裝,我不應該註冊Cloudberry Powershell管理單元。我發現這是錯誤的。我試圖註冊它,無論是64位還是32位都沒有運氣。
當從ISE執行手動/明確這工作:
Add-PSSnapin CloudBerryLab.Explorer.PSSnapIn
$today = Get-Date -format "yyyy.MM.dd.HH.mm.ss"
$key = "mykeygoeshere"
$secret = "mysecretgoeshere"
$s3 = Get-CloudS3Connection -Key $key -Secret $secret
$destination = $s3 | Select-CloudFolder -path "ProductionBackups/MyClient/log/" | Add-CloudFolder $today
$src = Get-CloudFilesystemConnection | Select-CloudFolder "X:\backups\MyClient\current\"
$src | Copy-CloudItem $destination -filter "log.trn"
^當這個命令在SQL代理執行作業時,出現此消息:
作爲用戶執行: DB-MAIN \ SYSTEM。作業步驟在PowerShell腳本的第1行收到錯誤。相應的行是'Add-PSSnapin CloudBerryLab.Explorer.PSSnapIn'。糾正腳本並重新安排作業。 PowerShell返回的錯誤信息是:'術語'Add-PSSnapin'不被識別爲cmdlet,函數,腳本文件或可操作程序的名稱。檢查名稱的拼寫,或者如果包含路徑,請驗證路徑是否正確,然後重試。 」。處理退出代碼-1。該步驟失敗。
我看過this blog post SQLPS.exe無法執行'Add-PSSnapin'命令嗎?真的嗎?我無法找到有關此主題的任何澄清...
如何將我的SQL備份文件自動化到Amazon S3雲?我已經嘗試了一切。 TNT驅動器是一個巨大的浪費時間。我希望Cloudberry可以做到,任何提示?
它看起來像腳本正在運行的系統用戶。您是否嘗試過以系統帳戶手動運行腳本?您可以使用sysinternals工具psexec.exe -i -s「C:\ ... \ powershell.exe」作爲系統帳戶啓動Powershell.exe實例。另外爲什麼不將它作爲Windows計劃任務運行? – 2011-12-14 07:08:45
我最終將其作爲Windows計劃任務運行,並且工作正常。我根本無法讓它從SQL代理作業執行。 – D3vtr0n 2012-01-17 23:16:56