Aracılığıyla paylaş


SQLCMD yardımcı programı kullanılırken aralıklı bağlantı hataları oluşuyor

Bu makale, SQLCMD komut satırı aracını kullandığınızda oluşan aralıklı bağlantı "İşletim sistemi hatası 10054" sorunlarını çözmenize yardımcı olur.

Hatalar

Aşağıdaki uyarı ve hata iletilerini alırsınız:

UYARI: proc_procname HResult 0x2746, Düzey 16, Durum 1 döndürdü

TCP Sağlayıcısı: Var olan bir bağlantı uzak konak tarafından zorla kapatıldı.

SQLCMD.EXE: Sqlcmd: Hata: Microsoft SQL Server Yerel İstemcisi 10.0 : İstemci bağlantı kuramıyor

Bu hataların olası nedenlerinden biri desteklenmeyen bir sürücüdür.

Dikkate alınması gereken sorular

Sorununuza uygun olup olmadığını belirlemek için aşağıdaki senaryoları gözden geçirin:

  • Bir ağ izlemesi toplar ve TLS 1.0 ve 1.1'in devre dışı bırakıldığını ve TLS 1.2'nin etkinleştirildiğini öğrenirsiniz. SQL Server çalıştıran sunucuda, uygulama sunucusunda TLS 1.0, 1.1 ve 1.2 etkinleştirilir.

    Uygulama sunucusunda TLS 1.0, 1.1 ve 1.2'nin etkinleştirildiğini gösteren ekran görüntüsü.

  • Hem SQL Server için Microsoft OLE DB Sağlayıcısını hem de SNAC 11 sağlayıcısını kullanarak uygulama sunucusunda bir UDL testi çalıştırırsınız. Bağlantı başarısız oluyor. "SQL Server için Microsoft OLE DB Sağlayıcısı" sürücüsünün kullanım dışı bırakıldığını ve TLS 1.2'yi desteklemediğini belirten bir ileti de alırsınız.

  • Uygulama sunucusu, ODBC veri kaynağını başarıyla test etmek için SQL Server Yerel İstemci 11'i kullanır. SQL Server Native Client 10.0 desteklenmiyorsa aşağıdaki hata iletisini alabilirsiniz:

    Bağlantı SQL Durumu: '08001' SQL Server Hatası: 10054 [Microsoft][SQL Server Native Client 10.0]TCP Sağlayıcısı: Var olan bir bağlantı uzak konak tarafından zorla kapatıldı. [Microsoft][SQL Server Native Client 10.0] İstemci bağlantı kuramıyor.

    Uygulama sunucusu Diffie-Hellman algoritmasının eski sürümünü (v1) ve SQL Server daha yeni sürümü (v2) kullandığından bu ileti görüntülenebilir. Bu uyuşmazlık aralıklı TLS hatalarına neden olur.

Çözüm

Bu sorunları çözmek için şu adımları izleyin:

  1. bağlantı dizesi SQL Server Yerel İstemcisi 11'i belirtin.

    Not

    Microsoft artık SNAC 11'i desteklememektedir. SNAC 11 kullanırken herhangi bir sorunla karşılaşırsanız, teknik destek sağlanabilmesi için önce Microsoft sürücüsünün desteklenen bir sürümüne yükseltmeniz gerekir.

  2. Uygulama sürücüsünü desteklenen bir sürücüye yükseltin.

  3. Bağlantı için şifreleme kullanmıyorsanız MSOLEDBSQL v18 veya ODBC v17 kullanın. Uygulama sunucusundaki bağlantı için şifreleme kullanıyorsanız MSOLEDBSQL v19 veya ODBC v18 kullanın. Varsayılan olarak, bu sürücüler şifrelemeyle birlikte eklenir. Daha fazla bilgi için aşağıdaki makaleleri inceleyin:

Ayrıca bkz.

Var olan bir bağlantı uzak konak tarafından zorla kapatıldı (işletim sistemi hatası 10054)