sqlps ユーティリティ
sqlps ユーティリティは、Windows PowerShell 2.0 セッションを起動し、SQL Server PowerShell プロバイダーおよびコマンドレットの読み込みと登録を行います。 SQL Server PowerShell コンポーネントを使用する 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 ユーティリティで実行するコマンドを指定します。 -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-SqlName や Decode-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 および SQL Server 2008 R2 に採用されていたバージョンの sqlps ユーティリティは、Windows PowerShell 1.0 のミニシェルとして実装されていました。 ミニシェルには特定の制限があります。たとえば、ミニシェルによって読み込まれているスナップイン以外、ユーザーは読み込むことができません。 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}"