次の方法で共有


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

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

SQL Server 用の PowerShell モジュール

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

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

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

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

ヘルプ記事については、次のトピックにアクセスしてください。

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

SqlServer モジュールと SQLPS モジュールのコンテキストでは、特定のコマンド名が両方のモジュールに存在する可能性があります。

これにより、1 つのモジュールが既にインストールされていて、もう一方のモジュールがインストールまたは更新されている場合に競合が発生する可能性があります。 -AllowClobber パラメーターを使用すると、モジュールをインストールまたは更新するときにこの競合を防ぐことができます。 さらに、1 つのモジュールをインポートする場合は、最初にもう一方のモジュールを削除するか、エラーを防ぐために -DisableNameChecking パラメーターを使用する必要があります。 これらの対策により、問題を引き起こすことなくモジュールを共存させることができます。

SQL Server Management Studio (SSMS)

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

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

Azure Data Studio

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

Azure Data Studio で豊富な 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 モジュールをダウンロードします。 このコマンドは、$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

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 ギャラリーで入手できます。

Von Bedeutung

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/linux/sql-server-linux-manage-powershell-core にアクセスして、LINUX に SQL Server PowerShell をインストールする方法を確認してください。

その他のモジュール

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

  • SqlServerDsc - Microsoft SQL Server をデプロイおよび構成するための DSC リソースを含むモジュール。

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