【SQL Server】sqlcmdが使えない。SSMSはインストールしたのに・・

SQL Server

SSMS(SQL Server Management Studio)でCSVエクスポートする方法を書きましたが、SSMSを起動しなくてもSQL ServerのデータをCSVで取得できないかなぁ、と。
で、調べてみたところsqlcmdという便利なツールがあるらしい。

Qiita SQLServerのデータをCSVに出力するバッチファイルを作ろう

sqlcmdはコマンドラインから実行できるのでバッチファイル化できるし、まさに求めていたものという感じです。さっそく使ってみようと思いましたが

‘sqlcmd’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

SSMSをインストールすると使えるようになるという情報を見かけたのですが・・・初めはpathが通っていないだけなのかなと思ったのですが、そもそもsqlcmdの実態(実行ファイル)が見つからない・・

知人に確認したところ、彼いわく「SSMSをインストールしたら勝手に使えるようになっていた」「pathも勝手に通ってた」ということです。もしかして、SSMSのバージョンによる違いかな?

環境

今回試した環境は下記です。

OS Windows 10
SSMS 18.5

ちなみにSSMSをインストールしただけでsqlcmdが使えると言った知人のSSMSバージョンは16.5でした。

結局SQLCMDをインストール

sqlcmdを使えている人にsqlcmd.exeの実態がどこにあるか教えてもらって、自分の環境でそれっぽいところを探してみましたが、やっぱり実行ファイルが無い!どうもSSMSのバージョンによってはインストーラーにsqlcmdが含まれていないらしいという結論に至ります。

sqlcmdは個別にインストールできるみたいだったので、下記よりインストーラーをダウンロード。

Microsoft SQLドキュメント sqlcmd Utility

SQLCMDにpathを通す

インストール完了したのでさっそくコマンドプロンプトでsqlcmdを叩いてみたのですが・・状況変わらず・・

ただSQLCMD.exeはちゃんとインストールされているようでした。

インストール時に自動でpathを通してくれないようだったので、パスを通します(pathの通し方は割愛)。私の場合は実行ファイルが下記にインストールされていたので、ここにパスを通します。

C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn

sqlcmdが使えるようになりました!

コメント

タイトルとURLをコピーしました