データベース エンジンへの接続
この記事では、次の製品とサービスで使用される SQL Server データベース エンジンに接続するための概要について説明します。
- SQL Server
- Azure SQL Database
- Azure SQL Managed Instance
- Analytics Platform System (PDW)
- Azure Synapse Analytics
- Azure SQL Edge
前提条件
クライアント ツールまたはクライアント ライブラリを使用してデータベース エンジンに接続します。 クライアント ツールは、グラフィカル ユーザー インターフェイス (GUI) またはコマンド ライン インターフェイス (CLI) で実行されます。
次の表で、より一般的なクライアント ツールのいくつかについて説明します。
クライアント ツール | Type | オペレーティング システム |
---|---|---|
SQL Server Management Studio (SSMS) | GUI | Windows |
Azure Data Studio (ADS) | GUI | Windows、macOS、Linux |
bcp | CLI | Windows、macOS、Linux |
sqlcmd | CLI | Windows、macOS、Linux |
Note
クライアント ツールには、少なくとも 1 つのクライアント ライブラリが含まれています。 クライアント ライブラリへの接続についての詳細は、「Microsoft SQL Database の接続モジュール」を参照してください。
接続オプション
データベース エンジンに接続するときは、インスタンス名 (つまり、データベース エンジンがインストールされているサーバーまたはインスタンス)、ネットワーク プロトコル、接続ポートを次の形式で指定する必要があります。
[<protocol>:]<instance>[,<port>]
プロトコルとポートは既定値であるため、省略可能です。 クライアント ツールとクライアント ライブラリによっては、スキップされる場合があります。
Note
データベース エンジンに接続するためにカスタム TCP ポートを使用する場合は、コロン (:
) はプロトコルを指定するのに使用されるため、コンマ (,
) で区切る必要があります。
設定 | 値 | 既定値 | 詳細 |
---|---|---|---|
プロトコル | tcp (TCP/IP)、np (名前付きパイプ)、および lpc (共有メモリ)。 |
np は、SQL Server に接続するときの既定値です。tcp は、Azure SQL サービスに接続するときの既定値です。 |
プロトコル は省略可能であり、クライアント ツールと同じコンピューター上の SQL Server に接続する場合は、頻繁に省略されます。 詳しくは、次のセクションの「ネットワーク プロトコルの注意点」をご覧ください。 |
インスタンス | サーバー名またはインスタンス名。 たとえば、MyServer または MyServer\MyInstance です。 |
localhost |
データベース エンジンがクライアント ツールと同じコンピューターに配置されている場合は、localhost や 127.0.0.1 、または . (1 つのピリオド) を使用して接続できる場合があります。名前付きインスタンスに接続する場合は、サーバー名とインスタンス名をスラッシュで区切って指定する必要があります。 たとえば、 MyServer\MyInstance のようにします。 ローカル コンピューター上の名前付きインスタンスは、.\MyInstance で指定できる場合があります。 SQL Server Express は MyServer\SQLEXPRESS を使用します。 |
ポート | 任意の TCP ポート。 | 1433 |
SQL Server の既定のインスタンスに接続するための既定の TCP ポートは、1433 です。 ただし、インフラストラクチャ チームがカスタム ポートを構成する場合があります。SQL Server Express エディションを含む Windows 上の SQL Server は、名前付きインスタンスとして構成でき、カスタム ポートを持つ場合もあります。 Azure SQL サービスへの接続については、「Azure SQL への接続」セクションを参照してください。 SQL Server でのカスタム ポートの詳細については、「SQL Server 構成マネージャー」を参照してください。 |
ネットワーク プロトコルに関する注意
Windows 上の SQL Server の場合、クライアント ツールと同じマシン上のインスタンスに接続し、インストールされているエディションに応じて、名前付きパイプ (np
)、TCP/IP (tcp
)、共有メモリ (lpc
) を含む複数のプロトコルで既定のプロトコルを構成できます。 共有メモリ プロトコルは、他のプロトコルが正しく構成されていない可能性がある場合に、トラブルシューティングを行うために使用できます。
TCP/IP ネットワーク経由で SQL Server に接続する場合は、サーバーでも TCP/IP が有効になっていることを確認します。 SQL Server のインストールでは、TCP/IP が既定で無効になっている可能性があります。 詳細については、「SQL Server の既定のネットワーク プロトコル構成」を参照してください。
Azure SQL サービス、SQL Server on Linux、コンテナー内の SQL Server への接続はすべて TCP/IP を使用します。
Azure SQL Database と Azure SQL Managed Instance については、両方とも接続とクエリに関する記事を参照してください。
Azure SQL への接続
このセクションでは、Azure SQL サービスへの接続について説明します。
Azure portal から Azure SQL Database にすばやく接続してクエリを実行するには、Azure SQL Database の Azure portal クエリ エディターを使用します。
外部接続の場合は、セキュリティが既定で設定された Azure SQL Database のデータベース レベルのファイアウォールに注意してください。
アプリケーション接続の例を次に示します。
SQL Server への接続
このセクションでは、SQL Server への接続について説明します。
クライアントと同じマシン上の SQL Server に接続する
名前付きパイプ (np
)、共有メモリ (lpc
)、または TCP/IP (tcp
) を使用してローカル コンピューターに接続できます。 共有メモリは、ネットワーク インターフェイスを使用しないため、最も高速です。
Note
インスタンス名に IP アドレスを使用し、tcp
を指定しない場合、プロトコルは構成済みのプロトコルの場合、既定で np
(名前付きパイプ) になります。
名前付きインスタンスには、動的に割り当てられた TCP ポートがあります。 名前付きインスタンスに接続するには、サーバーでSQL Server Browser サービスが実行されている必要があります。
同じマシン上の既定の SQL Server インスタンスに接続する
既定の設定で構成されたサーバーに接続する場合は、次のいずれかのオプションを使用します。
localhost
127.0.0.1
.
(1 つのピリオド)
51433
のようなカスタム TCP ポートに接続する場合は、次のいずれかのオプションを使用します。tcp:localhost,51433
127.0.0.1,1433
同じマシン上の SQL Server 名前付きインスタンスに接続する
この例では、名前付きインスタンス名として MyInstance
を使用しています。 SQL Server Browser サービスが実行されていることを確認し、次のいずれかのオプションを使用します。
localhost\MyInstance
127.0.0.1\MyInstance
.\MyInstance
ネットワークの SQL Serverに接続する
サーバー名または IP アドレスを使用して接続できます。 この例では、サーバー名 MyServer
は 192.10.1.128
に解決されます。
名前付きパイプを使用して、ネットワーク上の既定の SQL Server インスタンスに接続する
名前付きパイプを使用してローカル ネットワーク上のサーバーに接続するには、次のいずれかのオプションを使用します。
MyServer
np:MyServer
Note
ローカル エリア ネットワークでは、名前付きパイプよりも TCP/IP を使用した方が早く接続できる場合があります。
TCP/IP を使用して、ネットワーク上の既定の SQL Server インスタンスに接続する
既定の TCP ポート
1433
で構成されたサーバーに接続する場合は、次のいずれかのオプションを使用します。tcp:MyServer
tcp:192.10.1.128
51433
のようなカスタム TCP ポートで構成されたサーバーに接続する場合は、次のいずれかのオプションを使用します。MyServer,51433
tcp:MyServer,51433
192.10.1.128,51433
tcp:192.10.1.128,51433
TCP/IP を使用して、ネットワーク上の SQL Server の名前付きインスタンスに接続する
この例では、名前付きインスタンス名として MyInstance
を使用しています。 SQL Server Browser サービスがサーバーで実行されていることを確認し、次のいずれかのオプションを使用します。
tcp:MyServer\MyInstance
tcp:192.10.1.128\MyInstance
ヘルプを取得
- 共有メモリ プロトコルを使用して有効な接続文字列を作成する
- TCP/IP を使用して有効な接続文字列を作成する
- SQL Server での接続に関する問題のトラブルシューティング
- ネットワーク認証プロセスをデータベース エンジンまでトレースする