接続文字列のTrusted_ConnectionとIntegratedSecurityの違いは何ですか?


81

SQL Server接続文字列のトークン「Trusted_Connection」と「IntegratedSecurity」の違いに興味があります(他のデータベース/ドライバーはこれらをサポートしていないと思います)。私はそれらが同等であることを理解しています。

回答:


100

これらは相互の同義語であり、互換的に使用できます。

.Netには、SQL Server接続文字列を処理して、文字列の一部を構築するためのタイプセーフプロパティを使用するのに非常に便利なSqlConnectionStringBuilderというクラスがあります。このクラスは、同義語の内部リストを保持しているため、ある値から別の値にマップできます。

+ ---------------------- + ------------------------- +
| 値| 同義語|
+ ---------------------- + ------------------------- +
| アプリ| アプリケーション名|
| 非同期| 非同期処理|
| 拡張プロパティ| attachdbfilename |
| 初期ファイル名| attachdbfilename |
| 接続タイムアウト| 接続タイムアウト|
| タイムアウト| 接続タイムアウト|
| 言語| 現在の言語|
| addr | データソース|
| 住所| データソース|
| ネットワークアドレス| データソース|
| サーバー| データソース|
| データベース| 初期カタログ|
| trusted_connection | 統合セキュリティ|
| 接続寿命| 負荷分散タイムアウト|
| ネット| ネットワークライブラリ|
| ネットワーク| ネットワークライブラリ|
| pwd | パスワード|
| persistsecurityinfo | セキュリティ情報を保持する|
| uid | ユーザーID |
| ユーザー| ユーザーID |
| wsid | ワークステーションID |
+ ---------------------- + ------------------------- +

(Reflectorの助けを借りてコンパイル)

ODBCおよびOleDb接続文字列を処理するための他の同様のクラスがありますが、残念ながら他のデータベースベンダーには何もありません-そのような実装を提供する責任はベンダーのライブラリにあると思います。


これについての将来の観客への補足:信頼できる接続は、SQL Server 2014では機能しません。ただし、統合セキュリティは機能するので、それを使用します。
Stachu 2014

4
SQL Express 2014では、trusted_connectionを使用していますが、機能しています...下線を付けてください。trusted_connectionを使用する場合は、「true」ではなく「yes」を使用する必要があります
Zoran P.

10

それらは同じです。

残念ながら、次のようないくつかのバリエーションがあります。

サーバー/データソース

データベース/初期カタログ

バリエーションの起源はわかりませんが、一部は一般的なものであると思います(データベース中心ではないため、RDBMSに接続する場合とディレクトリサービスに接続する場合など、接続文字列は非常に似ています)。


この用語catalogはリレーショナルデータベースの命名法の一部であり、RDBMS以外のものを指すものではありません。:それは、このSOの答えに非常によく説明されてstackoverflow.com/questions/7022755/...
ProfK

2

それで少し後に、私は名前の衝突の起源を発見しました。トークンのセットがODBCによって使用され、別のセットがOLEDB用に定義されました。従来の理由でSQLServerの場合、これらは引き続き両方を交換可能にサポートします。

Trusted_Connection = trueはODBCであり、Integrated Security = SSPIはOLEDBでした。


1
connectionstrings.com/sql-serverは、どちらもOLEDBで機能すると言っているようです。別のリソースがありますか?
AlignedDev 2012年

1

私の場合、「Trusted_Connection」と「IntegratedSecurity」の違いを発見しました。Microsoft SQL Server 2005を使用しています。元々はWindowsログオン(Integrated Security = SSPI)を使用していました。しかし、ユーザーIDとパスワードを追加してWindows認証をSQL Server認証に置き換えたところ、SSPIを「False」に置き換えることができませんでした。「マルチステップOLEDB操作で生成されたエラー」が返されました。ただし、「Integrated Security = False」を「Trusted_Connection = no」に置き換えると、機能しました。


SQL Server認証を使用していて、ユーザーIDとパスワードを指定する場合は、「統合セキュリティ」や「trusted_connections」について言及する必要はありません。
grahamesd 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.