Share via


SQL Server PowerShell

SQL Server 2012 は、Windows PowerShell をサポートしています。これは、管理者および開発者がサーバー管理やアプリケーション配置を自動化できる強力なスクリプティング シェルです。 Windows PowerShell 言語では Transact-SQL スクリプトよりも複雑なロジックがサポートされ、SQL Server 管理者は堅牢な管理スクリプトを構築できます。 Windows PowerShell スクリプトは他の Microsoft サーバー製品の管理にも使用できます。 そのため、管理者はサーバー間で共通のスクリプト言語を使用できるようになります。

SQL Server PowerShell のコンポーネント

SQL Server には、sqlps という Windows PowerShell モジュールが用意されており、これを使用して Windows PowerShell 2.0 環境またはスクリプトに SQL Server コンポーネントをインポートします。 sqlps モジュールは、以下のものを実装する 2 つの Windows PowerShell スナップインを読み込みます。

  • SQL Server プロバイダー。プロバイダーを使用すると、ファイル システム パスと同様の簡単なナビゲーション メカニズムを使用できます。 ファイル システム パスと同様に、ドライブが SQL Server 管理オブジェクト モデルに関連付けられ、ノードがオブジェクト モデルのクラスに基づくパスを構築できます。 その後、cddir などのなじみのあるコマンドを使用して、コマンド プロンプト ウィンドウでフォルダーを操作するのと同様の方法でパスを操作できます。 rendel などの他のコマンドを使用すると、パスのノードで操作を実行できます。

  • コマンドレットのセット。Windows PowerShell スクリプトで SQL Server の操作を指定するために使用されるコマンドです。 SQL Server コマンドレットは、Transact-SQL または XQuery ステートメントを含む sqlcmd スクリプトの実行などの操作をサポートします。

Windows PowerShell について学習するには、「Windows PowerShell ファースト ステップ ガイド」を参照してください。

SQL Server のバージョン

SQL Server 2012 PowerShell コンポーネントを使用して管理できるのは、SQL Server 2000 以降のインスタンスです。 SQL Server 2005 のインスタンスは、SP2 以降を実行している必要があります。 SQL Server 2000 のインスタンスは、SP4 以降を実行している必要があります。 以前のバージョンの SQL Server で SQL Server 2012 PowerShell コンポーネントを使用した場合、その機能は、以前のバージョンで利用できる機能に限定されます。

SQL Server PowerShell のタスク

タスクの説明

トピック

PowerShell セッションを開き、sqlps モジュールを読み込むという、SQL Server PowerShell コンポーネントを実行するための推奨メカニズムについて説明します。 sqlps モジュールは、SQL Server PowerShell プロバイダーおよびコマンドレットと、それらによって使用される SQL Server 管理オブジェクト (SMO) アセンブリを読み込みます。

SQLPS モジュールのインポート

プロバイダーもコマンドレットも読み込まず、SMO アセンブリだけを読み込む方法について説明します。

Windows PowerShell への SMO アセンブリの読み込み

オブジェクト エクスプローラーでノードを右クリックすることによって Windows PowerShell セッションを実行する方法について説明します。 Management Studio によって Windows PowerShell セッションが起動され、sqlps モジュールが読み込まれて、選択したオブジェクトへの SQL Server プロバイダー パスが設定されます。

SQL Server Management Studio から Windows PowerShell を実行する方法

Windows PowerShell スクリプトを実行する SQL Server エージェントのジョブ ステップを作成する方法について説明します。 ジョブは、特定の時刻に実行したり、イベントに応答して実行したりするように設定できます。

SQL Server エージェントでの Windows PowerShell ステップの実行

SQL Server オブジェクトの階層を移動するために SQL Server プロバイダーを使用する方法について説明します。

SQL Server PowerShell プロバイダー

Transact-SQL スクリプトの実行などのデータベース エンジン操作を指定する SQL Server コマンドレットを使用する方法について説明します。

データベース エンジン コマンドレットの使用

Windows PowerShell でサポートされていない文字を含む、SQL Server の区切られた識別子を指定する方法について説明します。

PowerShell での SQL Server 識別子

SQL Server 認証接続を確立する方法について説明します。 既定では、SQL Server PowerShell コンポーネントは、Windows PowerShell を実行しているプロセスの Windows 資格情報を使用する Windows 認証接続を使用します。

データベース エンジン PowerShell での認証の管理

Windows PowerShell のタブ補完を使用する場合に一覧に表示されるオブジェクトの数を制御するために、SQL Server PowerShell プロバイダーによって実装されている変数を使用する方法について説明します。 これは、多数のオブジェクトを含むデータベースで作業する場合に、特に便利です。

タブ補完の管理 (SQL Server PowerShell)

Windows PowerShell 環境で SQL Server コンポーネントの情報を取得するために Get-Help を使用する方法について説明します。

SQL Server PowerShell のヘルプの参照