SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server PowerShell モジュールをインストールして Microsoft.Data.SqlClient を利用可能にする

leave a comment

SQL Server の最新の機能を使用するためには、System.Data.SqlClient ではなく、Microsoft.Data.SqlClient を使用する必要があります。

以前、PowerShell (7.0.2) で Microsoft.Data.SqlClient 2.0 を使用する という投稿を書いたのですが、Windows PowerShell を使用していて、もう少しシンプルな方法で導入することはできないかと考えてみたところ、SQL Server PowerShell モジュール の存在を思い出しました。

2023/04/06 追記

Microsoft.Data.SqlClient が使用されている 22.x が GA リリースされました。

22.0.59 以降で Preview が外れましたので、現時点では GA 版を使用することができます。

PowerShell の SQL Server モジュールについては、https://www.powershellgallery.com/packages/SqlServer/ で PowerShell Gallery で公開が行われています。

投稿を書いている時点では、21.1.18256 が GA されているバージョンとなるのですが、このバージョンについては 2021/07/14 にリリースされたものとなり、かなり古いバージョンとなり、このバージョンでは、System.Data.SqlClient が使用されています。

現状は Preview なのですが、22.0.49-preview になると、Microsoft.Data.SqlClient が使用されており (正確には 22.0.20-preview 以降)、このバージョンのモジュールをインストールすることで簡単に Microsoft.Data.SqlClient が使用できるようになります。

今回は Windows Server 2022 を使用しているのですが、Windows Server 2022 で使用されているパッケージ管理用のモジュールについては次のバージョンがしよす有れています。

image

今回はプレビューのモジュールをインストールするのですが、「Install-Module コマンドレット」のオプションである「-AllowPrerelease」については、導入されている PowerShellGet のバージョンである 1.0.0.1 では使用することはできません。

これについては、Windows への PowerShellGet のインストール でも記載されています。

Windows PowerShell 5.1 には、バージョン 1.0.0.1 の PowerShellGet がプレインストールされています。 このバージョンの PowerShellGet には、制限されている機能があり、PowerShell ギャラリーの更新された機能はサポートされていません。 サポートするには、最新バージョンに更新する必要があります。

最初に PowerShellGet をアップデートする必要がありますので、PowerShellGet の最新モジュールをインストールします。

Install-Module PowerShellGet -Force -AllowClobber 

モジュールのインストールが完了したら、一度 PowerShell 再起動し、次のコマンドを実行して、SqlServer モジュールのプレビュー版のインストールを行います。(SQLPS がインストールされていなければ AllowClobber は不要だと思います)

Install-Module -Name SqlServer -Force -AllowPrerelease  -AllowClobber

モジュールのインストールが完了したらインポートします。

Import-Module SqlServer

これで、Microsoft.Data.SqlClient を利用することが可能となります。

今回インストールした SqlServer モジュールは 22.0.49-preview を使用したのですが、このモジュールの場合はMicrosoft.Data.SqlClient は 5.1.22280.2 が使用されています。

Microsoft.Data.SqlClient を PowerShell から使用したい場合、SqlServer モジュールを介して使用できる環境を整えたほうが楽そうですね。

Share

Written by Masayuki.Ozawa

3月 26th, 2023 at 3:15 pm

Posted in SQL Server

Tagged with

Leave a Reply