今回は、SQL Serverをコマンドラインで操作する方法を簡単に確認していきたいと思います。
以下の内容は、Windows 10のコンピュータにSQL Serverをインストールして確認しています。
コマンドラインツール
SQL ServerをGUIで操作するには、あたりまえですが専用のツールを使用する必要があります。ツール自体は、SQL Serverをインストールしていれば同時にインストールされているかと思います。
コマンド名は、sqlcmdです。このコマンドを使用することで、コマンドラインで各種SQL文を実行できます。
個別でインストールする場合は、以下のリンクよりインストーラをダウンロードすることができます。
sqlcmd ユーティリティ - SQL Server | Microsoft Docs
基本的な操作
以下から簡単な操作を紹介していきたいと思います。
ログイン
SQL Serverへログインする方法について、Windows認証とSQL Server認証の2つを紹介します。
・SQL Server認証
パスワードの「-P」オプションは省略できます。省略すると、パスワードを入力するためのプロンプトが表示されます。
sqlcmd -S <サーバー名> -U <ユーザー名> -P <パスワード>
・Windows認証
現在ログオンしているユーザー名とパスワードが使用されて、SQL Serverへログインします。
sqlcmd -E -S <サーバー名>
上記の通り、ログイン実行後に「1>」というプロンプトが表示されればログイン成功になります。
SQL文を実行
簡単に現在日時を表示するSQL文を例に紹介します。
SELECT GETDATE();
上記のようにコマンドを記載してEnterキーを押下してもまだ実行されません。
SQL Server固有の概念である、バッチを区切るコマンド「GO」を実行することでSQL文が実行されます。
GOコマンド実行後にSELECT GETDATE()の結果が返却されました。このように、SQL文とGOコマンドをセットで実行する必要があります。
ログアウト
ログアウトは、以下のように「exit」コマンドを押下すればOKです。
他にもいろいろなオプションあります
上記では本当に基本的なオプションしか紹介していませんが、他にもたくさんオプションがありますので別途確認していただければと思います。
おわりに
いかがでしたでしょうか。普段、SSMS(SQL Server Management Studio)でSQL ServerをGUIで操作している方々には新鮮な内容ではなかったでしょうか。
GUIは、マウスで操作できるのでとても簡単に色々なことが行えますが、本番環境などでは誤ってボタンを押下してしまう危険性があると自分は感じています。
GUIだけではなく、コマンドラインツールが使えることで色々と日々の業務の効率性も変わってくるのではと思います。
たとえば、コマンドラインから実行できるということは、バッチ化して自動化することができます。
適材適所でツールを使っていければなぁと思います。
最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。