SQL Server Management Studio と接続する
この記事では、次の製品とサービスについて、SQL Server Management Studio 20 以降のバージョンで SQL Server データベース エンジンに接続する方法について説明します。
- SQL Server
- Azure SQL Database
- Azure SQL Managed Instance
- Azure Synapse Analytics
暗号化の変更
SQL Server Management Studio (SSMS) 20 には、接続の暗号化に関連する重要なセキュリティ強化が含まれており、多くの変更が含まれています。
- Encrypt connection プロパティの名前が Encryption に変更されました。
- True (Encrypt connection オプションがオンまたは有効) の値が、Encryption の Mandatory にマップされるようになりました。
- False の値 (Encrypt connection オプションがオフになっているか、無効になっています) が、Encryption の Optional にマップされるようになりました。
- 既定では、 Encryption プロパティが Mandatory に設定されるようになりました。
- Encryption プロパティには、新しいオプション Strict (SQL Server 2022 および Azure SQL)が含まれています。これは、以前のバージョンの SSMS では使用できません。
さらに、Encryption および Trust サーバー証明書プロパティは、Connection セキュリティのLogin ページに移動しました。 新しいオプション 証明書のホスト名も追加されました。 ベスト プラクティスは、信頼された暗号化されたサーバーへの接続をサポートすることです。
接続を暗号化するには、信頼されたルート証明機関によって署名された TLS 証明書を使用して SQL Server データベース エンジンを構成する必要があります。
Azure SQL Database と Azure SQL Managed Instance に接続しているユーザーの場合は、最近使用した (MRU) リストの既存の接続を更新して、 Strict (SQL Server 2022 および Azure SQL) 暗号化を使用する必要があります。 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) 暗号化が選択されている場合、Trust サーバー証明書 オプションは使用できません。
Mandatory暗号化が選択され、Trust サーバー証明書有効 (オン) になっている場合、証明書のホスト名オプションは使用できません。
仮想マシン内のオンプレミスの SQL Server または SQL Server に接続するユーザーの場合、暗号化された接続をサポートするようにデータベース エンジンを構成する必要があります。 完全な手順については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。
データベース エンジンで Force Encryption または Force Strict Encryption が有効になっている場合は、信頼された証明機関からの証明書があることを確認します。 詳細については、「SQL Server の証明書要件」を参照してください。 信頼された証明機関からの証明書がなく、接続しようとすると、次のエラーが表示されます。
スクリーンショットのテキストは、次の例のようなエラーを示しています。
MyServer に接続できません
サーバーとの接続は正常に確立されましたが、ログイン プロセスでエラーが発生しました。 (プロバイダー: SSL プロバイダー、エラー: 0 - > 証明書チェーンは、信頼されていない機関によって発行されました。(Microsoft SQL Server、エラー: -2146893019)ヘルプを表示するには、次をクリックします。
https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver--2146893019-database-engine-error
この証明書チェーンは、信頼されていない機関によって発行されました。
詳細については、「 リモート サーバーから受信した証明書が信頼されていない証明機関によって発行されました」エラーを参照してください。
SQL Server Management Studio 20 以降のバージョンの新しい接続
SSMS の新しいインストールを使用するワークステーションの場合、または新しい接続を追加する場合:
- オブジェクト エクスプローラーで Connect を選択するか、現在の接続で新しい> クエリ>File を選択。
- サーバーへの接続ダイアログで、サーバーの接続の詳細を設定します。
接続の詳細の説明
次の表では、接続の詳細について説明します。
設定 | 説明 |
---|---|
サーバー名 | サーバー名をここに入力します。 たとえば、 MyServer 、 MyServer\MyInstance 、 localhost などです。 |
認証 | 使用する認証の種類を選択します。 |
ユーザー名 | 認証に使用するユーザー名を入力します。 Windows 認証が Authentication の種類に対して選択されている場合、ユーザー名が自動的に設定されます。 Microsoft Entra MFA を使用する場合は、ユーザー名を空白のままにすることができます。 |
パスワード | ユーザーのパスワードを入力します (使用可能な場合)。 パスワード フィールドは、特定の 認証 の種類では使用できません。 |
*暗号化 1 | 接続の暗号化レベルを選択します。 デフォルト値は必須です。 |
サーバー証明書を信頼する | サーバー証明書の検証をバイパスするには、このオプションをオンにします。 既定値は False (チェックなし) であり、信頼された証明書を使用してセキュリティを強化します。 |
証明書のホスト名 | このオプションで指定する値は、SSMS が接続しているサーバーのサーバー証明書で、異なる CN または SAN を指定するために使用されます。 このオプションは空白のままにして、証明書の検証によって、証明書の共通名 (CN) またはサブジェクト代替名 (SAN) が、接続先のサーバー名と一致するようにすることができます。 このパラメーターは、サーバー名が CN または SAN と一致しない場合 (DNS エイリアスを使用する場合など) に設定できます。 詳細については、「 Microsoft.Data.SqlClient での証明書の検証と暗号化を参照してください。 |
1 ユーザーが選択した値は、必要な最小レベルの暗号化を表します。 SSMS は(ドライバーを介して) SQL エンジンとネゴシエートして使用される暗号化を決定し、別の (さらに安全な) レベルの暗号化を使用して接続を確立できます。 たとえば、Encryption オプションに Optional を選択し、サーバーで Force Encryption が有効になっていて、信頼された証明書がある場合、接続は暗号化されます。
SQL Server Management Studio 20 へのアップグレード後の接続
SQL Server Management Studio 20 の初回起動時に、以前のバージョンの SSMS から設定をインポートするように求められます。 SSMS 19 からのインポートまたは SSMS 18 からのインポートを選択した場合、選択したバージョンの SSMS から最近使用された接続の一覧がインポートされます。
SSMS 18 または SSMS 19 から設定をインポートしたワークステーションの場合:
- オブジェクト エクスプローラーで Connect を選択するか、現在の接続で新しい> クエリ>File を選択。
- サーバーへの接続ダイアログで、接続先のサーバーを選択します。
- 既存の接続の Encryption および Trust サーバー証明書 で選択されているオプションを確認します。 シナリオによっては、署名付き証明書を構成したり、1 つまたは両方のプロパティの値を変更したりする必要がある場合があります。
- 以前に Encryption で接続 Mandatory に設定されていて、SQL Server で暗号化された接続が有効になっていない場合、または署名された証明書がない場合は、 Trust サーバー証明書 オプションを有効にするように求められます。
- [はい] を選択すると、接続 Trust Server 証明書 が有効になります。 古いバージョンの SSMS からインポートされたすべての接続に対してTrust Server 証明書を有効にすることもできます。
- [いいえ] を選択した場合、 Trust Server 証明書 は有効ではなく、接続できません。 構成を確認して、有効なサーバー証明書がインストールされていることを確認します。
詳細については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。
解説
これらの変更は、Microsoft.Data.SqlClient のドライバー レベルでの更新の結果です。 Microsoft.Data.SqlClient の最近のリリースでは、接続オプションのセキュリティが強化されています。 詳細については、「 Microsoft.Data.SqlClient 名前空間への導入を参照してください。
関連するコンテンツ
- クイックスタート: SQL Server Management Studio (SSMS) を使用して SQL Server インスタンスに接続し、クエリを行う
- クイック スタート: SQL Server Management Studio (SSMS) を使用して Azure 仮想マシン上の SQL Server インスタンスに接続してクエリを実行する
- クイックスタート: SQL Server Management Studio (SSMS) を使用して Azure SQL Database または Azure SQL Managed Instance に接続してクエリを実行する
- クイックスタート: SQL Server Management Studio (SSMS) で Azure Synapse Analytics の専用 SQL プール (旧称 SQL DW) に接続してクエリを実行する