[SQL Server] isql -> osql -> sqlcmd | Archive Redo Blog

Archive Redo Blog

DBエンジニアのあれこれ備忘録

SQL Server 4.2 からの古参ユーザーである私は SQL Server でコマンドラインから SQL を実行するのにずっと isql を使用していました。

しかし、先日、SQL Server 2005 で isql を使おうとしたところ、コマンドが見つからないと怒られてしまいました^^;

どうやら isqlは 廃止されてしまったようです。

通信方式の異なるもう1つのユーティリティ、osql で試してみたところ、こちらは動作しました。


が...

SQL Server 2005 からは osql すら互換性維持のために存続しているとのこと。

isql、osql に変わる新しいユーティリティ sqlcmd の使用が推奨されているようです。

ユーティリティ 通信方式 2000 2005 2008
isql DB-Library × ×
osql ODBC
sqlcmd OLE DB ×

isql、osql、sqlcmd の最も大きな違いは通信方式にありますが、使用方法はほとんど変わりありません。

従来、isql、osql で行ってきたようなことを sqlcmd に置き換える程度であれば、特に問題はなさそうです。

むしろ、若干機能が強化されているようなので、従来、機能不足によりあきらめていたようなことを行えるようになる可能性がありそうです。