使用SQL Server PowerShell指令程式管理SQL Server 2008 Use New Cmdlets in SQL Server PowerShell to Mange SQL Server 2008

Use New Cmdlets in SQL Server PowerShell to Mange SQL Server 2008 (使用SQL Server PowerShell指令程式管理SQL Server 2008)

SQL Server PowerShell 指令程式(cmdlets)不同於標準 Windows PowerShell,主要差別就是註冊崁入式管理單元是不同的, SQL Server 有額外特別的指令程式可以使用,但這些程式可能還不存在標準的PowerShell指令程式中.

SQL Server PowerShell除了原有執行指令程式外還包含以下額外的指令程式:

Convert-UrnToPath : 將 SQL Server 管理物件統一資源名稱(URN)轉換為SQL Server 提供者路徑.URN會在SQL Server 物件階層中指定管理物件位置.如果Powershell不支援 URN 路徑字元,則會自動編碼處理.

Decode-SQLName : 將編碼過的SQL Server識別碼進行解碼並傳回未編碼的SQL Server 識別碼.

Encode-SQLName : 將SQL Server 識別碼和名稱路徑中的特殊字元進行編碼,並在PowerShell路徑中重新格式化.該指令程式字元編碼包含\:/%<>*?[]|.如果你不需要編碼這些字元的話,那你必須使用單引號(‘)字元來逸出他們.

Invoke-PolicyEvaluation : 評估SQL Server執行個體是否符合管理原則.依預設,該命令會遵守但不會強制遵守,如果要強制遵守的話,可以透過AdHocPolicyEvaluationMode 設定採取相關動作

Invoke-SQLCmd : 支援 sqlcmd 指令碼的執行或是包含 Transact-SQL 或 XQuery 命令.依預設,該指令程式不會設定任何sqlcmd預設變數或返回輸出訊息.(大多的sqlcmd 命令也不支援).

整個指令程式和指令程式選項變更已經在新的SQL Server PowerShell版本釋出,你可以透過下面技術去發現新的指令程式並且確定該如何使用它們:

●檢視所有指令程式清單,請在shell 提示視窗中輸入 get-command

取得指令程式詳細資訊,請輸入get-help CmdletName –detailed,

CmdletName這裡是指你想要取得的指令程式名稱.

●取得關於SQL Server提供者詳細資訊,SQL Server提供者針對PowerShell提供SQL Server 功能,輸入get-help sqlserver | more.

來源出處: Microsoft Press book Microsoft SQL Server 2008 Administrator’s Pocket Consultant