Kami menggunakan Otentikasi SQL (untuk mengurangi jumlah kumpulan koneksi) & string koneksi .NET 4.0 untuk tersambung ke SQL Server Enterprise Edition 2012 SP1 pada Windows 2008 R2 Enterprise Server:
Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (X64)
19 Okt 2012 13:38:57
Hak cipta (c) Microsoft Corporation
Enterprise Edition (64-bit) pada Windows NT 6.1 (Build 7601: Paket Layanan 1)
Kami menggunakan sekitar 50 server yang dipecah menjadi 8 grup yang berbeda di berbagai bagian situs web.
Situs web kami menggunakan SQL Server ini untuk mencatat data pelacakan kunjungan. Selama beberapa hari terakhir ini telah memuntahkan pesan berikut tentang pengaturan ulang koneksi pool:
Klien tidak dapat menggunakan kembali sesi dengan SPID 1327, yang telah diatur ulang untuk pooling koneksi. ID kegagalan adalah 46. Kesalahan ini mungkin disebabkan oleh kegagalan operasi sebelumnya. Periksa log kesalahan untuk operasi yang gagal segera sebelum pesan kesalahan ini.
Log galat berbunyi:
Kesalahan: 18056, Severity: 20, State: 46.
Klien tidak dapat menggunakan kembali sesi dengan SPID 959, yang telah diatur ulang untuk penyatuan koneksi. ID kegagalan adalah 46. Kesalahan ini mungkin disebabkan oleh kegagalan operasi sebelumnya. Periksa log kesalahan untuk operasi yang gagal segera sebelum pesan kesalahan ini.
Gagal masuk untuk pengguna 'xxxx'. Alasan: Gagal membuka basis data 'xxxxxxxx' yang dikonfigurasikan dalam objek login saat memvalidasi ulang login pada koneksi. [KLIEN: 10.xx.xx.xxx]
Setelah beberapa penggalian, saya menemukan dokumen ini di blog CSS: Bagaimana Cara Kerjanya: Kesalahan 18056 - Klien tidak dapat menggunakan kembali sesi dengan SPID ##, yang telah disetel ulang untuk pooling koneksi dan yang ini oleh Aaron Bertrand: Troubleshooting Error 18456 . Saya tahu nomor kesalahannya berbeda tetapi ID kegagalannya sama dengan jumlah pesannya sama).
ID Kegagalan 46 menunjukkan bahwa login tidak memiliki izin. Login kami secara default ke database master dan nama db dikhususkan dalam string koneksi.
Saya ingin memeriksa jumlah kumpulan string koneksi, dll. Dan memeriksa semua penghitung di Perfmon .Net Data Provider for SqlServer
. Itu hanya memberi saya pilihan defaultdomain9675
untuk contoh, jadi saya memilih asumsi bahwa itu adalah sistem yang menghasilkan nama ID untuk jaringan Datacentre kami. Sayangnya semua penghitung membaca nol. Pada salah satu server utama kami yang lain, kumpulan koneksi melayang di sekitar 10 yang merupakan apa yang saya harapkan untuk dilihat pada server yang sehat dengan beban semacam itu.
Pertanyaan saya 3 kali lipat
Adakah yang bisa menyarankan mengapa Windows 2008 R2 Server tidak muncul
.Net Data Provider for SqlServer
?Adakah yang mengalami hal ini karena saya jelas percaya bahwa login yang tidak memiliki izin adalah herring merah?
Jika berbagai grup server web memiliki sintaksis string koneksi yang sama tetapi dengan spasi yang sedikit berbeda, apakah ini akan menyebabkan server menggunakan kumpulan koneksi lain?
Pengaturan memori min & maks masing-masing 20GB & 58GB. Server adalah server basis data khusus dengan 64GB RAM. Saya tidak berpikir memori adalah masalah karena kotak tampaknya memiliki harapan halaman lfe yang layak. Tutup otomatis tidak diaktifkan. Server selalu menyala: ini adalah situs web 24x7 dengan penggunaan berat.