Visual Studio Code 用 SQL Server 拡張機能
適用対象: SQL Server Azure SQL データベース Azure SQL Managed Instance Azure Synapse Analytics
この記事では、Visual Studio Code (Visual Studio Code) の mssql 拡張機能を使用して、Windows、macOS、Linux 上の SQL Server、および Azure SQL Database、Azure SQL Managed Instance、Azure Synapse Analytics のデータベースを操作する方法について説明します。 Visual Studio Code の mssql 拡張機能を使用すると、SQL Server に接続し、Transact-SQL (T-SQL) を使用してクエリを実行し、その結果を表示できます。
SQL ファイルを作成するか開く
mssql 拡張機能では、言語モードが SQL に設定されている場合に、コード エディターで mssql コマンドと T-SQL IntelliSense を有効にできます。
[ファイル]>[新しいファイル] を選択するか、Ctrl+N を押します。 Visual Studio Code では、既定で新しいプレーン テキスト ファイルが開きます。
下部のステータス バーの [プレーン テキスト] を選択するか、Ctrl+K>M を押し、[言語] ドロップダウン リストから [SQL] を選択します。
Note
この拡張機能を初めて使用するとき、拡張機能で SQL ツール サービスがバックグラウンドでインストールされます。
ファイル拡張子が .sql
である既存のファイルを開くと、言語モードが自動的に SQL に設定されます。
SQL Server への接続
次の手順に従って接続プロファイルを作成し、SQL Server に接続します。
Ctrl+Shift+P を押すか、F1 を押して [コマンド パレット] を開きます。
「sql」と入力して mssql コマンドを表示するか、「sqlcon」と入力してドロップダウン リストから [MS SQL: Connect] を選択します。
Note
mssql コマンドを実行する前に、SQL ファイル (作成した空の SQL ファイルなど) がコード エディターでフォーカスされている必要があります。
[MS SQL: Manage Connection Profiles] コマンドを選択します。
次に、[作成] を選択して、お使いの SQL Server 用の新しい接続プロファイルを作成します。
指示に従って、新しい接続プロファイルの接続プロパティを指定します。 それぞれの値を指定した後、Enter キーを押して続行します。
Connection プロパティ 説明 サーバー名または ADO 接続文字列 SQL Server インスタンス名を指定します。 ローカル コンピューター上の SQL Server インスタンスに接続するには、localhost を使用します。 リモート SQL Server に接続するには、ターゲットの SQL Server の名前か、その IP アドレスを入力します。 SQL Server コンテナーに接続するには、コンテナーのホスト コンピューターの IP アドレスを指定します。 ポートを指定する必要がある場合は、コンマを使用して名前と区別します。 たとえば、ポート 1401 でリッスンしているサーバーの場合は、「 <servername or IP>,1401
」と入力します。
既定では、接続文字列ではポート 1433 が使用されます。 SQL Server の既定インスタンスでは、変更されていない限り 1433 が使用されます。 インスタンスが 1433 でリッスンしている場合、ポートを指定する必要はありません。
別の方法として、お使いのデータベースの ADO 接続文字列をここに入力できます。データベース名 (省略可能) 使用するデータベース。 既定のデータベースに接続するには、ここにデータベース名を指定しないでください。 認証の種類 [統合] または [SQL ログイン] を選択します。 ユーザー名 [SQL ログイン] を選択した場合は、サーバー上のデータベースにアクセスできるユーザーの名前を入力します。 パスワード 指定したユーザーのパスワードを入力します。 パスワードを保存する Enter キーを押すことで [はい] を選択して、パスワードを保存します。 [いいえ] を選択すると、接続プロファイルを使用するたびにパスワードの入力を求められます。 プロファイル名 (省略可能) 接続プロファイルの名前を入力します (localhost プロファイル など)。 すべての値を入力して Enter キーを押すと、Visual Studio Code によって接続プロファイルが作成され、SQL Server に接続します。
ヒント
接続に失敗した場合は、Visual Studio Code の [出力] パネルに表示されるエラー メッセージから問題を診断してください。 [出力] パネルを開くには、[表示]>[出力] を選択します。 接続のトラブルシューティングに関する推奨事項も確認してください。
下部のステータス バーで、接続を確認します。
前の手順の代わりに、ユーザー設定ファイル (settings.json) 内に接続プロファイルを作成して編集することもできます。 この設定ファイルを開くには、 [ファイル]>[ユーザー設定]>[設定] を選択します。 詳細については、接続プロファイルの管理に関する記事を参照してください。
サーバー証明書を暗号化して信頼する
VS Code v1.17.0 用 mssql 拡張機能以降:
- MSSQL プロバイダー接続では、
Encrypt
プロパティが既定で有効 (True
に設定) されています - SQL Server は、信頼されたルート証明機関によって署名された TLS 証明書を使用して構成する必要があります
また、暗号化を有効にして (既定値) 最初の接続試行に失敗した場合、mssql 拡張機能により、[サーバー証明書を信頼する] を有効にして接続を試行するオプションの通知プロンプトが表示されます。
ユーザー設定ファイル (settings.json) で、[暗号化] と [サーバー証明書を信頼する] のプロパティを編集することができます。 サーバーに対する信頼されて暗号化された接続をサポートするのがベスト プラクティスです。
Azure SQL Database に接続するユーザーの場合、既存の保存された接続に対する変更は必要ありません。Azure SQL Database は、暗号化された接続をサポートしており、信頼された証明書で構成されています。
オンプレミスの SQL Server または仮想マシンの SQL Server に接続しているユーザーが、[暗号化] を True に設定する場合は、信頼された証明機関 (自己署名証明書など) からの証明書があることを確認してください。 または、暗号化なしで接続するか ([暗号化] を False に設定する)、サーバー証明書を信頼する ([暗号化] を True に設定し、[サーバー証明書を信頼する] を True に設定する) こともできます。
データベースを作成する
先ほど開始した新しい SQL ファイル内で、「sql」と入力して、編集可能なコード スニペットの一覧を表示します。
[sqlCreateDatabase] を選択します。
スニペットに「
TutorialDB
」と入力して、'DatabaseName' を置き換えます。-- Create a new database called 'TutorialDB' -- Connect to the 'master' database to run this snippet USE master GO IF NOT EXISTS ( SELECT name FROM sys.databases WHERE name = N'TutorialDB' ) CREATE DATABASE [TutorialDB] GO
Ctrl+Shift+E を押して Transact-SQL コマンドを実行します。 クエリ ウィンドウで結果を確認します。
ヒント
mssql コマンドのショートカットキーをカスタマイズできます。 「ショートカットのカスタマイズ」を参照してください。
テーブルを作成する
コード エディター ウィンドウの内容を削除します。
Ctrl+Shift+P を押すか、F1 を押して [コマンド パレット] を開きます。
「sql」と入力して mssql コマンドを表示するか、「sqluse」と入力して [MS SQL: Use Database] コマンドを選択します。
新しい TutorialDB データベースを選択します。
コード エディターで、「sql」と入力してスニペットを表示し、[sqlCreateTable] を選択した後、Enter キーを押します。
スニペットに、テーブル名として「
Employees
」と入力します。Tab キーを押して次のフィールドに移動し、スキーマ名として「
dbo
」と入力します。列の定義を次の列に置き換えます。
EmployeesId INT NOT NULL PRIMARY KEY, Name [NVARCHAR](50) NOT NULL, Location [NVARCHAR](50) NOT NULL
Ctrl+Shift+E を押してテーブルを作成します。
挿入とクエリ
次のステートメントを追加して、Employees テーブルに 4 つの行を挿入します。
-- Insert rows into table 'Employees' INSERT INTO Employees ([EmployeesId],[Name],[Location]) VALUES ( 1, N'Jared', N'Australia'), ( 2, N'Nikita', N'India'), ( 3, N'Tom', N'Germany'), ( 4, N'Jake', N'United States') GO -- Query the total count of employees SELECT COUNT(*) as EmployeeCount FROM dbo.Employees; -- Query all employee information SELECT e.EmployeesId, e.Name, e.Location FROM dbo.Employees as e GO
入力している間に、T-SQL IntelliSense によってステートメントが完了します。
ヒント
mssql 拡張機能には、INSERT ステートメントと SELECT ステートメントを作成するために役立つコマンドもあります。 これらは、前の例では使用されていません。
Ctrl+Shift+E を押してコマンドを実行します。 2 つの結果セットが [結果] ウィンドウに表示されます。
結果を表示して保存する
[表示]>[エディターのレイアウト]>[Flip Layout](レイアウトの入れ替え) を選択して、垂直または水平分割レイアウトに切り替えます。
[結果] パネル見出しと [メッセージ] パネル見出しを選択して、これらのパネルを折りたたむか展開します。
ヒント
mssql 拡張機能の既定の動作をカスタマイズできます。 「拡張オプションのカスタマイズ」を参照してください。
これらの結果にズームインするには、2 番目の結果グリッドの [最大化] グリッド アイコンを選択します。
Note
[最大化] アイコンは、T-SQL スクリプトで 2 つ以上の結果グリッドが生成される場合に表示されます。
グリッドを右クリックして、グリッドのコンテキスト メニューを開きます。
[すべて選択] を選択します。
グリッドのコンテキスト メニューをもう一度開き、[JSON として保存] を選択して、結果を .json ファイルに保存します。
JSON ファイルのファイル名を指定します。
JSON ファイルが 保存されたことを確認し、Visual Studio Code で開きます。
SQL スクリプトを保存しておき、後で管理や大規模な開発プロジェクトのために実行する必要がある場合は、.sql 拡張子を付けてスクリプトを保存します。