データベース エンジン スクリプト

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

SQL Server データベース エンジンは、データベース エンジンのインスタンスとインスタンス内のオブジェクトを管理するための Microsoft PowerShell スクリプト環境をサポートしています。 スクリプト環境と非常によく似た環境で、Transact-SQL と XQuery を含むデータベース エンジン クエリを作成および実行することもできます。

SQL Server PowerShell

SQL Server には、次を実装する 2 つの SQL Server PowerShell スナップインが含まれています。

  • SQL Server 管理オブジェクト モデル階層を、ファイル システム パスと同様の PowerShell パスとして公開する SQL Server PowerShell プロバイダー。 SQL Server 管理オブジェクト モデル クラスを使用して、パスの各ノードで表されるオブジェクトを管理できます。

  • SQL Server コマンドを実装する SQL Server コマンドレットのセット。 コマンドレットの 1 つは Invoke-Sqlcmdです。 これは、sqlcmd ユーティリティで実行されるデータベース エンジン クエリ スクリプトを実行するために使用されます。

SQL Server は、PowerShell を実行するための次の機能を備えています。

  • PowerShell セッションにインポートできる sqlps PowerShell モジュール。さらにこのモジュールによって SQL Server スナップインが読み込まれます。アドホック PowerShell コマンドは対話形式で実行できます。 \MyFolder\MyScript.ps1 などのコマンドを使用してスクリプト ファイルを実行できます。

  • PowerShell スクリプト ファイルは、スケジュールされた間隔で、またはシステム イベントに応答してスクリプトを実行する SQL Server エージェントの PowerShell ジョブ ステップへの入力として使用できます。

  • PowerShell を起動し、SQL Server モジュールをインポートする sqlps ユーティリティ。 これによって、そのモジュールがサポートするすべてのアクションを実行できます。 sqlps ユーティリティは、コマンド プロンプトで、または SQL Server Management Studio のオブジェクト エクスプローラー ツリーのノードを右クリックし、[PowerShell の起動] を選択して開始できます。

データベース エンジン クエリ

データベース エンジン クエリ スクリプトには、次の 3 種類の要素が含まれます。

  • Transact-SQL 言語要素

  • XQuery 言語ステートメント

  • sqlcmd ユーティリティのコマンドと変数

SQL Server には、データベース エンジン クエリを構築して実行するための 3 つの環境が用意されています。

  • SQL Server Management Studio のデータベース エンジン クエリ エディターで、データベース エンジン クエリを対話形式で実行およびデバッグできます。 1 つのセッションで複数のステートメントをコーディングおよびデバッグしてから、1 つのスクリプト ファイルにすべてのステートメントを保存できます。

  • sqlcmd コマンド プロンプト ユーティリティを使用すると、データベース エンジン クエリを対話形式で実行できます。また、既存のデータベース エンジン クエリ スクリプト ファイルも実行できます。

データベース エンジン クエリ スクリプト ファイルは、通常 SQL Server Management Studio でデータベース エンジン クエリ エディターを使用して対話形式でコーディングします。 ファイルは、次のいずれかの環境で後から開くことができます。

  • SQL Server Management Studio の [ファイル]/[開く] メニューを使用して、新しいデータベース エンジン クエリ エディター ウィンドウでファイルを開きます。

  • -iinput_file パラメーターを使用して sqlcmd ユーティリティでファイルを実行します。

  • -QueryFromFile パラメーターを使用して、SQL Server PowerShell スクリプトの Invoke-Sqlcmd コマンドレットでファイルを実行します。

  • SQL Server エージェントの Transact-SQL ジョブ ステップを使用して、スケジュールされた間隔で、またはシステム イベントに応答してスクリプトを実行します。

また、SQL Server スクリプト生成ウィザードを使用して Transact-SQL スクリプトを生成することもできます。 SQL Server Management Studio オブジェクト エクスプローラーでオブジェクトを右クリックし、 [スクリプトの生成] メニュー項目を選択します。 [スクリプトの生成] を選択すると、スクリプトの作成プロセスを支援するウィザードが起動します。

データベース エンジン スクリプトのタスク

タスクの説明 トピック
Transact-SQL スクリプトを対話形式で開発、デバッグ、および実行するために、Management Studio のコードおよびテキスト エディターを使用する方法について説明します クエリ エディターとテキスト エディター (SQL Server Management Studio)
対話形式でスクリプトを開発する機能も含めて、コマンド プロンプトから Transact-SQL スクリプトを実行するために、sqlcmd ユーティリティを使用する方法について説明します。 sqlcmd 操作方法のトピック
Windows PowerShell 環境に SQL Server コンポーネントを統合し、SQL Server インスタンスおよびオブジェクトを管理するための PowerShell スクリプトを作成する方法について説明します。 SQL Server PowerShell
データベースの 1 つまたは複数のオブジェクトを再作成する Transact-SQL スクリプトを作成するために、スクリプトの生成とパブリッシュウィザードを使用する方法について説明します。 スクリプトの生成 (SQL Server Management Studio)

参照

sqlcmd Utility
チュートリアル:Transact-SQL ステートメントの作成