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ı "İs hatası 10054" sorunlarını çözmenize yardımcı olur.
Hata
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 Native Client 10.0 : İstemci bağlantı kuramadı
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.
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. Ayrıca "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 alırsınız.
Uygulama sunucusu ODBC veri kaynağını başarıyla test etmek için SQL Server Native Client 11 kullanır. SQL Server Native Client 10.0 desteklenmiyorsa aşağıdaki hata iletisini alabilirsiniz:
Bağlantı SQL Durumu: '08001' ile başarısız oldu SQL Server Hata: 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:
bağlantı dizesi SQL Server Native Client 11 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.
Uygulama sürücüsünü desteklenen bir sürücüye yükseltin.
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 makalelere bakın:
Ayrıca bkz.
Mevcut bir bağlantı uzak konak tarafından zorla kapatıldı (işletim sistemi hatası 10054)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin