sqlps 公用程式

sqlps 公用程式會啟動 Windows PowerShell 2.0 工作階段並且載入和註冊 SQL Server PowerShell 提供者與指令程式。 您可以輸入 PowerShell 命令或指令碼,以便使用 SQL Server PowerShell 元件來處理 SQL Server 執行個體及其物件。

重要事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。請改用 sqlps PowerShell 模組。 如需有關 sqlps 模組的詳細資訊,請參閱<匯入 SQLPS 模組>。

語法

sqlps 
[ [ [ -NoLogo ][ -NoExit ][ -NoProfile ]
    [ -OutPutFormat { Text | XML } ] [ -InPutFormat { Text | XML } ]
  ]
  [ -Command { -
             | script_block [ -args argument_array ]
             | string [ command_parameters ]
             }
  ]
]
[ -? | -Help ]

引數

  • -NoLogo
    指定 sqlps 公用程式在啟動時隱藏著作權橫幅。

  • -NoExit
    指定 sqlps 公用程式在啟動命令完成之後繼續執行。

  • -NoProfile
    指定 sqlps 公用程式不要載入使用者設定檔。 使用者設定檔會記錄在 PowerShell 工作階段之間常用的別名、函數與變數。

  • -OutPutFormat { Text | XML }
    指定 sqlps 公用程式輸出要格式化為文字字串 (Text) 或序列化的 CLIXML 格式 (XML)。

  • -InPutFormat { Text | XML }
    指定 sqlps 公用程式的輸入要格式化為文字字串 (Text) 或序列化的 CLIXML 格式 (XML)。

  • -Command
    指定 sqlps 公用程式要執行的命令。 除非同時指定了 sqlps,否則 -NoExit 公用程式會執行此命令,然後結束。 請勿在 -Command 之後指定任何其他參數,因為這些參數將會讀取成命令參數。

  • -
    -Command - 會指定 sqlps 公用程式從標準輸入中讀取輸入。

  • script_block [ -argsargument_array ]
    指定要執行的 PowerShell 命令區塊,此區塊必須以大括號 {} 括住。 只有當 PowerShell 或其他 sqlps 公用程式工作階段呼叫了 sqlps 公用程式時,才可指定 Script_block。 argument_array 是 PowerShell 變數的陣列,其中包含 script_block 中 PowerShell 命令的引數。

  • string [ command_parameters ]
    指定包含要執行之 PowerShell 命令的字串。 請使用格式 "&{command}"。 引號表示字串,而叫用運算子 (&) 會讓 sqlps 公用程式執行此命令。

  • [ -?| -Help ]
    顯示 sqlps 公用程式選項的語法摘要。

備註

sqlps 公用程式會啟動 PowerShell 環境 (PowerShell.exe) 並載入 SQL Server PowerShell 模組。 此模組 (也稱為 sqlps) 會載入及註冊以下 SQL Server PowerShell 嵌入式管理單元:

  • Microsoft.SqlServer.Management.PSProvider.dll

    實作 SQL Server PowerShell 提供者和相關聯的指令程式,例如 Encode-SqlNameDecode-SqlName

  • Microsoft.SqlServer.Management.PSSnapin.dll

    實作 Invoke-SqlcmdInvoke-PolicyEvaluation Cmdlet。

您可以使用 sqlps 公用程式進行下列作業:

  • 以互動方式執行 PowerShell 命令。

  • 執行 PowerShell 指令碼檔案。

  • 執行 SQL Server 指令程式。

  • 使用 SQL Server 提供者路徑來逐一導覽 SQL Server 物件的階層。

根據預設,sqlps 公用程式執行時會將指令碼執行原則設定為 Restricted。 如此即不會執行任何 PowerShell 指令碼。 您可以使用 Set-ExecutionPolicy Cmdlet 允許執行已簽署的指令碼或任何指令碼。 建議您只執行來自信任來源的指令碼,並且利用適當的 NTFS 權限來保護所有輸入和輸出檔案。 如需有關啟用 PowerShell 指令碼的詳細資訊,請參閱執行 Windows PowerShell 指令碼

SQL Server 2008 和 SQL Server 2008 R2 中的 sqlps 公用程式版本實作為 Windows PowerShell 1.0 迷你 shell。 迷你 Shell 有一些限制,例如不允許使用者載入迷你 Shell 所載入之嵌入式管理單元以外的嵌入式管理單元。 這些限制不適用於 SQL Server 2012 版本的公用程式,這個版本已經變更為使用 sqlps 模組。

範例

A. 在不顯示著作權橫幅的預設互動模式中執行 sqlps 公用程式。

sqlps -NoLogo

B. 從命令提示字元處執行 SQL Server PowerShell 指令碼

sqlps -Command "&{.\MyFolder.MyScript.ps1}"

C. 從命令提示字元處執行 SQL Server PowerShell 指令碼,並在指令碼完成之後維持執行狀態

sqlps -NoExit -Command "&{.\MyFolder.MyScript.ps1}"

請參閱

概念

啟用或停用伺服器網路通訊協定

SQL Server PowerShell