この記事は、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 モジュールのコンテキストでは、特定のコマンド名が両方のモジュールに存在する可能性があります。
これにより、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 台のコンピューター (インターネットに接続されているコンピューターとオフラインの宛先コンピューター) が必要です。
インターネットに接続されているコンピューターで、SQLServer PowerShell モジュールをダウンロードします。 このコマンドは、
$env:TEMP\SQLServer\<SomeVersion>
パラメーターで定義されているサンプル フォルダーにモジュールのすべてのファイルをダウンロードして保存します。 インターネットに接続されているコンピューター上の保存先として、任意のフォルダーを選択できます。Save-Module -Name SqlServer -Path $env:TEMP
エクスプローラーでそのフォルダーの場所を参照して、
$env:TEMP\SQLServer\<SomeVersion>
フォルダーが存在することを確認するか、次のコマンドを実行します。Get-ChildItem -Path $env:TEMP\SQLServer\
手順 2 で見つけた
$env:TEMP\SQLServer\<SomeVersion>
フォルダーを、インストール先のオフライン コンピューターの%ProgramFiles%\WindowsPowerShell\Modules\SqlServer
フォルダーにコピーします (このフォルダーは PS5 と PS7 の両方で機能します)。<SomeVersion>
は、必ず前の手順で確認した値に置き換えてください。次の 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 リソースを含むモジュール。