Visual Studio Code for SQL Server on Linux
SQL Server on LinuxをAzure Virtual Machine上に構築しました。ただ、構築しただけなのでデータベースとかテーブルとかまだ作成していません。SQL Server On Linuxを操作していく上で、もちろん、SQL Server Management Studioという選択肢がはじめにあります。ただ、せっかくSQL Server On Linuxなので、何となく新しいことやりたいなぁと思いまして、やっぱりここはマルチプラットフォームをフル活用だって勝手に思い込んでみます。
というわけで、今回はVisual Studio Codeから、SQL Server on Linuxに接続するために準備をしていきたいと思います。
MicrosoftのDocsにも記載されているので参考にしています。
ちなみに、SQL Server on LinuxをAzure Virtual Machine上に構築してみた記事は下記です。ついでに読んでみて下さい。
それでは、始めていきましょう。
Visual Studio Codeって…
まず、Visual Studio Codeについて簡単に触れてきます。Visual Studioという名前がついていますが、高機能IDEではなく、Microsoftが提供しているテキストエディタです。最近、Visual Studio Code(VSCode)がかなり地位を上げてきているように感じます。一時期はAtomが強かったようですが、VSCodeもかなりExtensionが整ってきて自分好みのエディタにカスタマイズができるようになってきたからでしょうか。私的には、Atomよりなんといっても軽いのがVSCodeの良いところかと思います。
ダウンロードは、Microsoftのページからできます。無料です。マルチプラットフォームです。素敵です。
他のエディタとの比較は、さまざまな人がしてくれています。私は下記を参考にしました。皆様もこれを機にVSCode入れてみてはどうでしょうか?
私の端末は、Windows7 ですのでその前提で書いていきます。MacとかLinuxの方は適時読み替えながら読んでください。
mssql extension のインストール
“mssql”というすごく素直な名前のVSCodeのExtensionがMicrosoftから公式に提供されています。それをインストールして使っていきます。サイドバーの"Extentions"からフィルターに"mssql"と入力して探します。
余談ですが、Proxy経由しないといけない環境だとExtensionの検索がうまくできないので、settings.jsonにProxy設定を入れてください。こんな感じです。
{ "http.proxy": "http://<proxyServerName>:port", "http.proxyStrictSSL": false, "http.proxyAuthorization": null }
インストールが完了するとReloadする必要があるのでReloadします。これでインストール作業は完了です。簡単ですね。
あと、Windows10ではない場合には、別途“Windows 10 Universal C Runtime”が必要なのでインストールして置きます。
For Windows 8.1, Windows Server 2012 or lower versions, you must download and install the Windows 10 Universal C Runtime. Download and open the zip file. Then run the installer (.msu file) targeting your current OS configuration.
vscode-mssqlのGithubのWikiに記載されているので、これに従ってインストールします。WindowsUCRT.zipをダウンロードして解凍して環境にあった.msuをたたくだけですね。わたしの環境だと、X86-based Windows 7 SP1なので、Windows6.1-KB2999226-x86.msuです。すでにKB2999226のWindowsUpdateが当たっているので実際にはインストール済みでした。
WindwosUpdateを行っていない人は、インスールしておいてください。
SQL Server on Linuxにつなぐ
VSCodeで、新規ファイルを作成します。拡張子を".sql"にします。SQL Serverに接続するためには、Command Palette(Ctrl+Shift+P or F1)を開き、"MS SQL"と打ってみてください。いろいろ候補が出るので、その中から、“MS SQL: Connect”を選択します。
過去に接続した際の接続情報(Profile)があれば出ますが、今回は初回なので、"Create Connection Profile"を選択します。
SQL ServerがホスティングされているServer名またはIPアドレスを入力します。
接続するデータベースがあるのであれば、指定します。今回はデータベースを指定せずに接続します。
認証方式を選択する必要があるので選びます。SQL Server on Linuxは、SQL Server認証ですので、"SQL Login"を選びます。
SQL Server認証でのユーザ名を入力します。saユーザしか存在していないのでsaで接続しました。
パスワードを入力します。
パスワードを記憶するかどうか聞かれるので、お好みで選択してください。私はYesで選択しました。
最後に、Profileに名前を付けるかどうか聞かれるので、お好みでどうぞ。指定しなくても良いです。Server名で勝手に命名されます。。
これで入力情報が正しければつながるはずです。VSCodeの右下のバーに、接続状態が表示されます。
データベースを作成
操作をやってみましょう。
接続は既にできていると思いますので、T-SQLを書いていきます。snippetsがしっかり働くのでひな型を簡単に生成してくれます。ファイルに、"sql"と入力するとずらっとコマンドが出てきます。その中に、CreateDatabaseというのがあるので、それを選択するとひな型が勝手に展開されます。便利。
これのDatabaseNameを自分の好きなものに修正して実行すれば完成です。SQLの実行は、右クリックで"Execute Query"としてあげれば実行されます。(Ctrl+Shift+Eの方が簡単だしそっちの方がお勧めです。)
実行するとこのような感じになります。
Selectの結果は、表形式で見れるようです。また、CSVとかJSON形式とかで保存ができるようですね。VSCode恐るべし。
テーブルの作成
データベースができたので、テーブル作成していきます。新しくSQLを書いていきたいので、Command Palette(F1で開く)から“MS SQL: New Query”を実行します。そうすると接続先を聞かれますので選択するとファイルが開きます。次にデータベースを変更します。Command Palette(F1で開く)から、“MS SQL: Use Database”を選択します。そうすと先ほど作成したTestDBというのが出てくるので、それを選びます。接続するデータベースを変更できました。
CreateTableもひな型があるので利用していきます。“sqlCreateTable”です。
テーブル名のところだけ好きなものに書き換えて実行してみました。本当ならカラム定義とかもちゃんと変えたいのですがお試しなのでそのままにしてます。こんな感じです。
本当は、データ入れて検索ってやりたいですが、同じようなことの繰り返しになってくるので、割愛しますね。
Visual Studio CodeはSQL Clientとしてつかえるぞ
Visual Studio CodeにmssqlというExtensionsをインストールして、SQL Serverに接続してみました。文章にすると長々とになりましたが、実際にやってみるとさくっと動かすところまでできるようになります。SQL Server Manegement Studioは良いツールですし、さまざまな操作が直感的に行えるツールではあると思います。一方で、今回試してみたVisual Studio Codeでは、T-SQLベースでガリガリ書いていくのにはかなり向いているのではないかと思いました。かなり強力なsnippetsが備わっていますし、入力補完も素晴らしい。あとなんといってもエディタなのですごく軽量です。マルチプラットフォームでもあるので、どこでもSQLが書けるわけです。
私もこれでSQL Server on Linuxをガリガリ触っていけるクライアント環境ができました。
Visual Studio Code × SQL Server この組み合わせ素敵ですよ。みなさん試してみてください。