SQL Server Management Studio と接続する

この記事では、次の製品とサービスについて、SQL Server Management Studio 20 以降のバージョンで SQL Server データベース エンジンに接続する方法について説明します。

  • SQL Server
  • Azure SQL Database
  • Azure SQL Managed Instance
  • Microsoft Fabric の SQL データベース
  • 倉庫
  • SQL 分析エンドポイント
  • Azure Synapse Analytics

暗号化の変更

SQL Server Management Studio (SSMS) 20 には、接続の暗号化に関連する重要なセキュリティ強化が含まれており、多くの変更が含まれています。

  • Encrypt 接続プロパティの名前が Encryption に変更されました。
  • True の値 ([接続の暗号化] オプションがオンになっているか、有効) が[暗号化の必須]にマップされるようになりました。
  • False (暗号化接続オプションがオフ、または無効) の値が、暗号化のオプションにマップされるようになりました。
  • Encryption プロパティが既定で [必須] に設定されるようになりました。
  • Encryption プロパティには、新しいオプション Strict (SQL Server 2022 および Azure SQL) が含まれています。これは、以前のバージョンの SSMS では使用できません。

さらに、 暗号化 と 信頼サーバーの証明書 のプロパティは、[ ログイン ] ページの [ 接続のセキュリティ] にあります。 [証明書内のホスト名] オプションが追加されました。 ベスト プラクティスは、サーバーへの信頼された暗号化された接続をサポートすることです。

接続を暗号化するには、信頼されたルート証明機関によって署名された TLS 証明書を使用して SQL Server データベース エンジンを構成する必要があります。

Azure SQL Database と Azure SQL Managed Instance に接続するユーザーの場合は、 Strict (SQL Server 2022 および Azure SQL ) 暗号化を使用するように、最近使用した (MRU) 一覧の既存の接続を更新する必要があります。 Azure SQL Database と Azure SQL Managed Instance への新しい接続では、 Strict (SQL Server 2022 および Azure SQL) 暗号化を使用する必要があります。 Azure SQL Database と Azure SQL Managed Instance では、暗号化された接続がサポートされ、信頼された証明書で構成されます。

Strict (SQL Server 2022 および Azure SQL) 暗号化が選択されている場合、[信頼サーバー証明書] オプションは使用できません。

[必須の暗号化] が選択され、[信頼サーバー証明書] が有効 (オン) になっている場合、[証明書内のホスト名] オプションは使用できません。

仮想マシン内のオンプレミスの SQL Server または SQL Server に接続するユーザーの場合、暗号化された接続をサポートするようにデータベース エンジンを構成する必要があります。 詳細な手順については、「 証明書をインポートして SQL Server への接続を暗号化する」を参照してください。

データベース エンジンで [暗号化の強制 ] または [ 厳密な暗号化の強制 ] が有効になっている場合は、信頼された証明機関の証明書があることを確認します。 詳細については、「SQL Server の証明書要件」を参照してください。 信頼された証明機関からの証明書がなく、接続しようとすると、次のエラーが表示されます。

信頼された証明機関からの証明書がない SQL Server に接続するときのエラー メッセージのスクリーンショット。

スクリーンショットのテキストは、次の例のようなエラーを示しています。

Cannot connect to MyServer

A connection was successfully established with the server, but then an error occurred during the login process.
(provider: SSL Provider, error: 0 - > The certificate chain was issued by an authority that is not trusted.)
(Microsoft SQL Server, Error: -2146893019)
For help, click: https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver--2146893019-database-engine-error

The certificate chain was issued by an authority that is not trusted

詳細については、 SQL Server に接続するときに、"リモート サーバーから受信した証明書が信頼されていない証明機関によって発行されました" というエラーを参照してください。

SQL Server Management Studio 20 以降のバージョンの新しい接続

SSMS の新しいインストールを使用するワークステーションの場合、または新しい接続を追加する場合:

  1. オブジェクト エクスプローラーで [接続] または [ファイル>新規作成>現在の接続でクエリを実行] を選択します。
  2. [ サーバーへの接続 ] ダイアログで、サーバーの接続の詳細を設定します。

接続の詳細の説明

次の表では、接続の詳細について説明します。

設定 説明
サーバー名 ここにはサーバー名を入力します。 たとえば、 MyServer 、 MyServer\MyInstance 、 localhostなどです。
認証 使用する認証の種類を選択します。
ユーザー名 認証に使用するユーザー名を入力します。 認証の種類としてWindows 認証が選択されている場合、ユーザー名が自動的に設定されます。 Microsoft Entra MFA を使用する場合は、ユーザー名を空白のままにすることができます。
パスワード ユーザーのパスワードを入力します (使用可能な場合)。 パスワード フィールドは、特定の 認証 の種類では使用できません。
暗号化1 接続の暗号化レベルを選択します。 デフォルト値は必須です。
サーバー証明書を信頼する サーバー証明書の検証をバイパスするには、このオプションをオンにします。 既定値は False (チェックなし) であり、信頼された証明書を使用してセキュリティを強化します。
証明書のホスト名 このオプションで指定された値は、SSMSが接続するサーバーにおいて、サーバー証明書内の異なるが予想されるCNまたはSANを指定するために使用されます。 このオプションは空白のままにして、証明書の検証によって、証明書の共通名 (CN) またはサブジェクトの別名 (SAN) が、接続先のサーバー名と一致するようにすることができます。 このパラメーターは、サーバー名が CN または SAN と一致しない場合 (DNS エイリアスを使用する場合など) に設定できます。 詳細については、「 Microsoft.Data.SqlClient での暗号化と証明書の検証」を参照してください。

1 ユーザーが選択した値は、必要な最小レベルの暗号化を表します。 SSMS は(ドライバーを介して) SQL エンジンとネゴシエートして使用される暗号化を決定し、別の (さらに安全な) レベルの暗号化を使用して接続を確立できます。 たとえば、[暗号化] オプションで [オプション] を選択し、サーバーで Force Encryption が有効になっていて、信頼された証明書がある場合、接続は暗号化されます。

SQL Server Management Studio 20 へのアップグレード後の接続

SQL Server Management Studio 20 の初回起動時に、以前のバージョンの SSMS から設定をインポートするように求められます。 [SSMS 19 からインポート] または [SSMS 18 からインポート] を選択した場合、選択したバージョンの SSMS から最近使用した接続の一覧がインポートされます。

設定のインポートを求めるメッセージのスクリーンショット。

SSMS 18 または SSMS 19 から設定をインポートしたワークステーションの場合:

  1. [接続]をオブジェクト エクスプローラーで選択するか、File>New>Query with Current Connectionを選択します。
  2. [ サーバーへの接続 ] ダイアログで、接続先のサーバーを選択します。
  3. 既存の接続の [暗号化 と 信頼] サーバー証明書 で選択されているオプションを確認します。 シナリオによっては、署名付き証明書を構成したり、1 つまたは両方のプロパティの値を変更したりする必要がある場合があります。
  4. 以前に [暗号化 ] を [必須] に設定して接続していて、SQL Server で暗号化された接続が有効になっていない場合、または署名された証明書がない場合は、 信頼サーバー証明書 オプションを有効にするように求められます。

接続に対して **信頼サーバー証明書** を有効にするように求めるプロンプトのスクリーンショット。

  1. [はい] を選択すると、 信頼サーバー証明書 が接続に対して有効になります。 古いバージョンの SSMS からインポートされたすべての接続に対して 、信頼サーバー証明書 を有効にすることもできます。
  2. [いいえ] を選択した場合、 信頼サーバー証明書 は有効ではなく、接続できません。 構成を確認して、有効なサーバー証明書がインストールされていることを確認します。

詳細については、「 証明書をインポートして SQL Server への接続を暗号化する」を参照してください。

注釈

これらの変更は、Microsoft.Data.SqlClient のドライバー レベルでの更新の結果です。 Microsoft.Data.SqlClient の最近のリリースでは、接続オプションのセキュリティが強化されています。 詳細については、「 Microsoft.Data.SqlClient 名前空間の概要」を参照してください。