sqlps ユーティリティ

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

sqlps ユーティリティでは、Windows PowerShell セッションが起動され、SQL Server PowerShell プロバイダーおよびコマンドレットの読み込みと登録が行われます。 SQL Server PowerShell コンポーネントを使用する PowerShell コマンドやスクリプトを入力して、SQL Server インスタンスとそのオブジェクトを操作できます。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに sqlps PowerShell モジュールを使用してください。 sqlps モジュールの詳細については、「 Import the SQLPS Module」を参照してください。

構文

  
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 ユーティリティで実行するコマンドを指定します。 -NoExit が同時に指定されていない限り、 sqlps ユーティリティはこのコマンドの実行後に終了します。 -Commandの後にはその他のスイッチを指定しないでください。指定すると、コマンド パラメーターとして読み取られます。

-
-Command- は、 sqlps ユーティリティで入力を標準入力から読み取ることを指定します。

script_block [ -argsargument_array ]
実行する PowerShell コマンドのブロックを指定します。ブロックは中かっこ {} で囲む必要があります。 Script_block を指定できるのは、 sqlps ユーティリティを PowerShell または他の sqlps ユーティリティ セッションから呼び出すときだけです。 argument_array は、 script_block内の PowerShell コマンドの引数を含む 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-Sqlcmd および Invoke-PolicyEvaluation コマンドレットを実装します。

sqlps ユーティリティを使用して、次の操作を行うことができます。

  • PowerShell コマンドを対話的に実行する。

  • PowerShell スクリプト ファイルを実行する。

  • SQL Server コマンドレットを実行します。

  • SQL Server プロバイダー パスを使用して、SQL Server オブジェクトの階層間を移動します。

既定では、 sqlps ユーティリティ実行時のスクリプト実行ポリシーは Restrictedに設定されます。 これにより、PowerShell スクリプトの実行が防止されます。 Set-ExecutionPolicy コマンドレットを使用すると、署名されたスクリプトまたは任意のスクリプトの実行を有効にすることができます。 信頼できるソースからのスクリプト以外は実行しないでください。また、適切な NTFS 権限を使用して、すべての入力ファイルと出力ファイルのセキュリティを保護してください。 PowerShell スクリプトの有効化の詳細については、「 Windows PowerShell スクリプトの実行」を参照してください。

SQL Server 2008 (10.0.x) および SQL Server 2008 R2 (10.50.x) の sqlps ユーティリティのバージョンは、Windows PowerShell 1.0 のミニシェルとして実装されていました。 ミニシェルには特定の制限があります。たとえば、ミニシェルによって読み込まれているスナップイン以外、ユーザーは読み込むことができません。 SQL Server 2012 (11.x) 以降のバージョンのユーティリティは、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