SQL Server PowerShell モジュールをインストールする

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

この記事は、SqlServer PowerShell モジュールをインストールする手順を説明しています。

SQL Server 用の PowerShell モジュール

2 つの SQL Server PowerShell モジュールがあります。

  • SqlServer: SqlServer モジュールには、最新の SQL 機能をサポートする新しいコマンドレットが含まれています。 モジュールには、SQLPS 内のコマンドレットの更新バージョンも含まれています。 SqlServer モジュールをダウンロードするには、PowerShell ギャラリーの SqlServer モジュールにアクセスします。

  • SQLPS: SQLPS は、SQL Agent によって、PowerShell サブシステムを使用してエージェント ジョブ ステップでエージェント ジョブを実行するために使用されるモジュールです。

Note

PowerShell ギャラリーの SqlServer モジュールのバージョンは、バージョン管理をサポートし、PowerShell バージョン 5.1 以降が必要です。

ヘルプ トピックについては、次を参照してください。

  • SqlServer のコマンドレット。
  • SQLPS のコマンドレット。

SQL Server Management Studio

SQL Server Management Studio (SSMS) では、どちらの PowerShell モジュールもインストールされません。 PowerShell を SSMS で使用するには、SqlServer モジュールを PowerShell ギャラリーからインストールします。

Note

SQL Server Management Studio (SSMS) 16.x (およびそれ以前のバージョン) には、SQLPS モジュールが含まれていました。

Azure Data Studio

Azure Data Studio では、どちらの PowerShell モジュールもインストールされません。 PowerShell を Azure Data Studio で使用するには、SqlServer モジュールを PowerShell ギャラリーからインストールします。

PowerShell 拡張機能を使用できます。これにより、Azure Data Studio に高機能な PowerShell エディターのサポートが提供されます。

SqlServer モジュールをインストールまたは更新する

PowerShell ギャラリーから SqlServer モジュールをインストールするには、PowerShell セッションを開始し、Install-Module SQLServer を実行します。

Install-Module -Name SqlServer

Windows PowerShell 上で実行している場合は、Install-Module SQLServer -Scope CurrentUser を使用することで、現在のユーザーのみを対象にしてモジュールをインストールし、管理者特権のアクセス許可が不要になります。

すべてのユーザーに対して SqlServer モジュールをインストールする

すべてのユーザーに対して SqlServer モジュールをインストールするには、管理者特権の PowerShell セッションで次のコマンドを実行します。管理者として PowerShell セッションを開始します。

Install-Module -Name SqlServer

SqlServer モジュールをオフライン コンピューターにインストールする

このセクションでは、インターネットにアクセスできないコンピューターに SqlServer PowerShell モジュールをインストールする手順について説明します。 このインストールを実行するには、2 台のコンピューターが必要になります。つまり、インターネットに接続されているコンピューターと、インストール先のオフライン (インターネットに接続されていない) コンピューターです。

  1. インターネットに接続されているコンピューター上で、SQLServer PowerShell モジュールをダウンロードします。 次のコマンドを実行すると、-Path パラメーターで定義されている、サンプルの $env:TEMP\SQLServer\<SomeVersion> フォルダーにモジュールのすべてのファイルをダウンロードして保存します。 インターネットに接続されているコンピューター上の保存先として、任意のフォルダーを選択できます。

    Save-Module -Name SqlServer -Path $env:TEMP
    
  2. エクスプローラーでそのフォルダーの場所を参照して、$env:TEMP\SQLServer\<SomeVersion> フォルダーが存在することを確認するか、次のコマンドを実行します。

    Get-ChildItem -Path $env:TEMP\SQLServer\
    
  3. 手順 2 で見つけた $env:TEMP\SQLServer\<SomeVersion> フォルダーを、インストール先のオフライン コンピューターの %ProgramFiles%\WindowsPowerShell\Modules\SqlServer フォルダーにコピーします (このフォルダーは PS5 と PS7 の両方で機能します)。 <SomeVersion> は、必ず前の手順で確認した値に置き換えてください。

  4. 次の PowerShell コマンドレットを実行して、オフライン コンピューター上で SqlServer PowerShell モジュールを使用できることを確認します。

    Get-Module SqlServer -ListAvailable
    

    出力は次のようになります (実際のバージョンは異なる可能性があり、前に示した <SomeVersion> と一致する必要があります)。

       PS C:\Users\user1> Get-Module SqlServer -ListAvailable
    
           Directory: C:\Program Files\WindowsPowerShell\Modules
    
       ModuleType Version    Name                     ExportedCommands
       ---------- -------    ----                     ----------------
       Script     22.1.1     SqlServer                {Add-RoleMember, Add-SqlAvail...
    

インストールされている SqlServer モジュールのバージョンを表示する

インストールされている SqlServer モジュールのバージョンを確認するには、次のコマンドを実行します。

Get-Module SqlServer -ListAvailable

現在のセッションに読み込まれた SqlServer モジュールのバージョンを表示するには

(Get-Module SqlServer).Version

SqlServer モジュールの前のバージョンを上書きする

Install-Module コマンドを使用して、前のバージョンを上書きすることもできます。

Install-Module -Name SqlServer -AllowClobber

Note

PowerShell では、インストールされている最新のモジュールが常に使用されます。

SqlServer モジュールのインストールされているバージョンを更新する

SqlServer モジュールの更新されたバージョンを使用できる場合は、次のコマンドを使用して新しいバージョンをインストールできます。

Update-Module -Name SqlServer -AllowClobber

Update-Module コマンドを使用して、SQLServer PowerShell モジュールの最新バージョンをインストールできますが、古いバージョンは削除されません。 新しいバージョンをサイドバイサイドでインストールすることで、古いモジュールをインストールしたまま、最新バージョンを試すことができます。

ただし、古いバージョンのモジュールを保持しない場合は、Uninstall-Module コマンドを使用して前のバージョンを削除できます。

次のコマンドを使用して、複数のバージョンがインストールされているかどうかを一覧表示できます。

Get-Module SqlServer -ListAvailable

次のコマンドを使用して、古いバージョンを削除できます。

Uninstall-module -Name SQLServer -RequiredVersion "<version number>"

トラブルシューティング

インストールに問題が発生した場合は、Install-module のドキュメントInstall-Module の参照をご覧ください。

SqlServer モジュールの特定のバージョンを使う

モジュールの特定のバージョンを使用するには、次のようなコマンドで、特定のバージョン番号を指定してインポートできます。

Import-Module SqlServer -Version 21.1.18218

SqlServer モジュールのプレリリース版

SqlServer モジュールのプレリリース ("プレビュー") 版は、PowerShell ギャラリーで入手できます。

重要

PowerShellGet モジュールの一部である更新された Find-Module コマンドレットと Install-Module コマンドレットを使用して -AllowPrerelease スイッチを渡すことで、これらのバージョンを検出してインストールできます。 これらのコマンドレットを使用するには、PowerShellGet モジュールをインストールしてから、新しいセッションを開きます。

SqlServer モジュールのプレリリース版を検出する

SqlServer モジュールのプレリリース (プレビュー) 版を検出するには、次のコマンドを実行できます。

Find-Module SqlServer -AllowPrerelease

SqlServer モジュールの特定のプレリリース版をインストールする

モジュールの特定のプレリリース版をインストールするには、特定のバージョン番号を指定してインストールします。

次のコマンドの使用を試すことができます。

Install-Module SqlServer -RequiredVersion 21.1.18218-preview -AllowPrerelease

SQL Server PowerShell on Linux

SQL Server PowerShell on Linux をインストールする方法については、「PowerShell で SQL Server on Linux を管理する」を参照してください。

その他のモジュール

  • Az.Sql - Windows PowerShell と PowerShell の Azure Resource Manager 用 SQL サービス コマンドレット。

  • SqlServerDsc - Microsoft SQL Server のデプロイと構成用の DSC リソースを含むモジュール。

コマンドレット リファレンス

次のステップ