web-dev-qa-db-ja.com

Microsoft OLE SQL Server用DBプロバイダーはTLS 1.2をサポートしますか

クライアントが最近TLS 1.0からTLS 1.2にアップグレードしたため、このソフトウェアはSQLサーバーに接続できません。 SQLサーバーへの接続にOLE DBプロバイダーを使用します。以下はSQLサーバーから返されるエラーです。

[DBNETLIB] [ConnectionOpen SECDoClientHandshake()] SSLセキュリティエラーSQL状態:08001 SQLエラー番号:18

Microsoft OLE DBプロバイダーfor SQL ServerがTLS 1.2をサポートしているかどうかに関する有用な情報が見つかりませんでした。

私が見つけたリンクの1つは、サポートされていないことを示唆しているようです。 https://forums.iis.net/t/1233674.aspx?connecing+SQL+server+DB+issue+after+installingTLS1+2+in+SQL+srver+with+classic+asp+application+

したがって、誰かがこれに関する情報を持っている場合に備えて、stackoverflowをチェックしたかったのです。

10
Amit Rastogi

SQLOLEDBプロバイダーとWindowsに同梱されているSQL Server ODBC=ドライバーは、下位​​互換性のためにのみ提供されているレガシーコンポーネントです。これらはSQL 2005以降廃止されています。

MSSQL Tigerチームによるこのブログ投稿 :によると

SQLOLEDBはTLS 1.2のサポートを受けません。 https://support.Microsoft.com/en-us/kb/3135244 にリストされているサポートされているドライバーのいずれかにドライバーを切り替える必要があります。

SQL Server Native Client 2012をインストールし、そのOLE DBプロバイダーを接続文字列の変更のみ(change Provider=SQLOLEDBからProvider=SQLNCLI11)。もちろん、驚きを避けるために一度テストする必要があります。たとえば、サーバーAPIカーソルが使用されたときにSQL Server Native ClientプロバイダーとADO classicで動作の違いが発生した人を思い出しますが、一般的に使用されるファイアホースカーソルは問題ありませんでした。

[〜#〜] edit [〜#〜]

新しいOLE DBドライバー [〜#〜] msoledbsql [〜#〜] がリリースされました。この新しいドライバーには、最新のTLS 1.2標準のサポートが含まれていますSQL Server Native Client 11(SQLNCLI11)と下位互換性があります Microsoft SQLNCLiチームのブログ発表 を参照してください。

18
Dan Guzman

クライアントが待つことができない将来の修正であるため、これはあなたのための解決策ではないかもしれませんが、どうやらMicrosoftは控えめなOLEDBドライバーであり、新しいリリースをサポートしています2018年第1四半期のTLS 1.2: https://blogs.msdn.Microsoft.com/sqlnativeclient/2017/10/06/announcing-the-new-release-of-ole-db-driver-for-sql- server /

新しいMicrosoft OLE SQL Server用DBドライバー、またはmsoledbsqlは、この最初のリリースでマルチサブネットフェールオーバー機能を導入し、最新のものに対応します。 TLS 1.2標準

また、この最初の今後のリリースは、SQL Serverライフサイクルの帯域外のスタンドアロンインストールパッケージになります。これは、ドライバーがSNACライブラリーにパッケージ化されず、他のドライバーと結合されないことも意味します。

8
SeanG

私の側の次の変更は、AzureクラウドでのTLS1.2アップグレード後の問題を修正しました-

  • 変化する Provider=SQLOLEDBからProvider=SQLNCLI11
  • aDODBバージョンをMicrosoft ActiveX Data Objects 6.0 Libraryに更新します
0
Manish Gohil

これは質問に直接答えないかもしれませんが、TLS 1.2エラーを伴うSQLサーバー接続に関連しています。

私は古いASP以下のエラーで壊れたクラシックWebサイトを維持しています。

Microsoft OLE DB Provider for SQL Server error '80004005'
[DBNETLIB][ConnectionOpen (SECDoClientHandshake()).]SSL Security error. 

ProviderSQLOLEDBからSQL Server Native Client 11.0またはそれ以上のバージョンに変更すると、エラーが修正されました。

したがって、接続文字列を

constr = "Provider=SQLOLEDB;Data Source=..."

constr = "Provider=SQL Server Native Client 11.0;Data Source=...."

うまくいくかもしれない

0
AaA