Dengan TLS 1.0 dinonaktifkan atas nama kepatuhan PCI, saya tidak dapat menjalankan aplikasi ASP Klasik 32-bit.
Per rekomendasi MS / Stack Exchange, saya telah menginstal:
- SQL Server 2014 SP1 CU1
- .NET Framework 4.6
Ini telah menjalankan aplikasi ASP.NET / SSMS kami. Tetapi aplikasi Classic ASP kami, yang menggunakan ADODB.Connection
objek tidak berfungsi.
Saya sudah mencoba koneksi string yang digunakan Provider=SQLNCLI11;
, tetapi sepertinya tidak membantu juga. Penyedia Shared Memory masih mengeluh tentang tidak ada yang di ujung pipa. Pesan eror:
Microsoft SQL Server Native Client 11.0 kesalahan '80004005'
Shared Memory Provider: Tidak ada proses di ujung pipa yang lain.
Saya juga mencoba menggunakan Named Pipes dengan string koneksi Provider=SQLNCLI11;Server=np:\\.\pipe\MSSQL$SQLEXPRESS\sql\query;Database=northwind;Trusted_Connection=Yes;
dan menerima pesan kesalahan ini:
Microsoft SQL Server Native Client 11.0 kesalahan '80004005'
Named Pipes Provider: Tidak ada proses di ujung pipa yang lain.
Apakah ada patch untuk ADODB yang harus saya ketahui? Haruskah saya mempertimbangkan menggunakan Pipa Bernama dengan cara lain atau sejenisnya sebagai gantinya? (walaupun saya sedikit bingung mengapa memori bersama tidak berfungsi, terlepas dari pengaturan TLS)
Pembaruan dari komentar:
Server web dan SQL Server berada di kotak yang sama.
Ini adalah contoh bernama SQLExpress. String koneksi yang berfungsi dengan TLS 1.0 diaktifkan adalah:
"Driver={SQL Server}; Server=.\SQLExpress; Database=northwind; Trusted_Connection=Yes; Integrated_Security=True;"
Saya juga sudah mencoba:
"Provider=SQLNCLI11; Server=.\SQLExpress; Database=northwind; Trusted_Connection=Yes;"
Tidak berfungsi setelah TLS 1.0 dinonaktifkan. Saya tahu Trusted_Connection / Integrated_Security adalah mubazir, tetapi bermain-main dengan ini tampaknya tidak membantu juga.
Saya sudah mengaktifkan, menonaktifkan, dan memesan untuk TCP dan pipa bernama. Nama pipa yang digunakan dalam string koneksi di atas adalah langsung dari Konfigurasi Server untuk contoh itu. Saya juga mencoba menonaktifkan Shared Memory untuk memastikan pipa bernama berfungsi. Saya belum mencoba TCP (seolah-olah Memori Bersama tidak berfungsi karena TLS, mengapa TCP?) Memori Bersama dan Pipa Bernama keduanya bekerja dengan TLS 1.0 diaktifkan. Segera setelah saya membalik kunci registri untuk menonaktifkan TLS 1.0 (dan reboot), pesan kesalahan di atas terjadi. Kami mungkin hanya akan menempatkan mesin ini di belakang proxy.
Layanan SQL server tidak akan mulai setelah menonaktifkan TLS 1.0 dan SSL 3.0
Masalah yang dijelaskan dalam tautan tersebut ditangani oleh CU1 dalam pertanyaan yang diajukan di atas. Contoh SQL Server TIDAK dimulai dengan TLS 1.0 dinonaktifkan (berkat pembaruan MS). Aplikasi berbasis .NET berfungsi dengan baik dengan contoh SQL (setelah pembaruan ke 4.6). Pertanyaan ini khusus untuk aplikasi Classic ASP (32-bit). Pemahaman saya adalah bahwa klien asli juga ditambal oleh CU1, maka kebingungan saya mengapa ini tidak berhasil.