Deskripsi dari sambungan klien SQL Virtual Server

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 273673 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menguraikan beberapa dasar-dasar tentang Microsoft Sambungan SQL Virtual Server klien.

INFORMASI LEBIH LANJUT

Penting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah yang serius dapat terjadi apabila Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasi. Kemudian, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756 Cara membuat cadangan dan memulihkan registri di Windows


SQL Virtual Server klien perilaku

Microsoft Cluster Server (MSCS) memberikan yang handal dan kuat platform yang Anda dapat membangun aplikasi mission-critical SQL Server. Anda tidak perlu untuk memodifikasi kebanyakan server aplikasi dapat menggunakannya dengan MSCS. Namun, aplikasi berbasis transaksi (misalnya, database server, seperti Microsoft SQL Server) biasanya membutuhkan modifikasi tambahan jadi bahwa jika server gagal, failover dukungan benar mencegah hilangnya transaksional integritas. Mengembangkan aplikasi klien untuk beroperasi dengan MSCS adalah relatif langsung. Anda harus desain aplikasi dengan database pemulihan dan kesalahan memeriksa dalam pikiran.

Bahkan tanpa menggunakan cluster, SQL Server server secara otomatis pulih semua database ketika server di-restart. Pada memastikan bahwa database ditemukan dalam keadaan konsisten aplikasi, penggunaan database transaksi sehingga failover terjadi dalam database dengan benar dan dalam negara yang konsisten. Setiap transaksi yang tidak lengkap ketika failover terjadi harus digulung kembali, sementara efek semua transaksi berkomitmen harus dipertahankan.

Selama failover, aplikasi-aplikasi client kehilangan mereka sambungan ke server SQL Server dan harus berhubungan kembali untuk melanjutkan proses. Jika sambungan klien ke server stateless, (misalnya, aplikasi yang dikembangkan dengan menggunakan Microsoft Internet Information Server [IIS] yang ) klien menghubungkan ke server dan terus pengolahan. Kecuali klien dan server memiliki negara umum (misalnya, membuka kursor, sesi variabel, Transact-SQL variabel global, atau data dalam code), failover bukanlah transparan kepada klien. Dalam kasus ini, Anda harus merancang klien aplikasi untuk menginformasikan pengguna bahwa sambungan baik kehilangan, atau mengatur ulang atau memiliki aplikasi yang secara otomatis membangun kembali koneksi ke server. Setiap transaksi yang belum berkomitmen ketika failover terjadi digulung kembali.

Diskusi tentang bagaimana klien berurusan dengan kegagalan server adalah standar untuk aplikasi klien SQL Server apapun, bahkan tanpa menggunakan cluster dan virtual server. Error memeriksa proses sangat mirip untuk aplikasi database klien untuk cluster. Ketika gugus mulai failover, program klien menerima pesan kesalahan pada koneksi database. The pesan kesalahan yang ditemui tergantung pada apa yang klien program berupaya untuk melakukan pada waktu itu.

Jika server SQL Server gagal oleh gugus adminTCP ulang paket yang tidak dikirim. Jika proses SQL Server dihentikan oleh sistem operasi (dengan Kill.exe), adalah paket reset Dikirim.

Hal ini dapat mempengaruhi aplikasi klien jika aplikasi tidak menentukan parameter permintaan timeout atau permintaan timeout nol (0).

Jika aplikasi tidak memiliki permintaan timeout nilai yang kemudian membuka koneksi akan ditinggalkan dalam MENDIRIKAN negara setelah failover terjadi. Fakta bahwa hubungan terbuka tidak tertutup dan yang tidak lebih lanjut TCP paket dikirim dari orang-orang koneksi menunjukkan bahwa orang-orang koneksi benar-benar siaga. Karena failover tidak mengirimkan apapun TCP me-reset paket-paket untuk aplikasi klien, mereka membuka koneksi menunggu hasil pencarian tanpa batas waktu (dengan asumsi tak terbatas permintaan timeout), dan berpotensi menyebabkan koneksi berhenti merespons (hang).

Pada mengatasi masalah ini dari perspektif aplikasi klien, perubahan permintaan waktu untuk sejumlah terbatas.

Virtual database kegagalan perilaku

Ketika server virtual database gagal, link sambungan gagal pesan galat kembali ke klien menunggu. Database pada gagal node cluster adalah menutup dan restart pada node sama per parameter Anda mengatur di:

Start\Programs\Administrative Tools (Common)\Cluster Administrator\Group\Failover\Properties
				
Default kelompok Failover ambang batas adalah me-restart 10 di 6 jam periode sebelum failover terjadi untuk node yang tersisa. Namun, SQL Server restart ambang batas, yang dapat diverifikasi melalui properti SQL Server di cluster SQL Server sumber daya, memiliki ambang default tiga restart pada SQL Server di 900 detik dan secara default mempengaruhi kelompok. Jika klien mencoba untuk menghubungkan ke server sementara database yang ditemukan, klien menerima menunggu pesan kesalahan pemulihan database dan harus coba lagi setelah jeda singkat.

Pertimbangan SQL Server 6,5 dan SQL Server 7.0

SQL Server 6,5 dan SQL Server 7.0 bertindak persis seperti yang dijelaskan dalam sebelumnya "Virtual Database kegagalan perilaku" bagian.

Ketika SQL Server 7,0 berjalan sebagai virtual server SQL Server 7.0 mendukung hanya satu alamat IP tetapi mungkin mendengarkan pada port tambahan dikonfigurasi oleh pelanggan. Ini adalah dijelaskan dalam "Beberapa mendengarkan pada TCP/IP Port" topik berikut Artikel Basis Pengetahuan Microsoft:
254321 INF: Berkerumun SQL Server Do 's, Don'ts dan peringatan dasar

Microsoft SQL Server 2000 pertimbangan

SQL Server 2000 memiliki beberapa perbedaan dalam perilaku dari Versi SQL Server 6,5 dan SQL Server 7.0.

Penggunaan pelabuhan SQL Server 2000

Secara default, misalnya bernama mendengarkan pada port dinamis. Pertama kalinya server dimulai dengan port diatur ke nol (0), server meminta sejumlah pelabuhan bebas dari sistem operasi dan kemudian server mendengarkan pada port. Server Catatan ini ke registri dan kemudian menggunakan port yang sama setiap waktu.

Jika server dikonfigurasi untuk mendengarkan pada port yang dinamis dan server gagal untuk mendengarkan pada port dinamis pada startup, kemudian server memilih port lain.

Jika Anda mengkonfigurasi statis pelabuhan selama penataan atau setelah penataan dengan menggunakan utilitas jaringan server gagal untuk mendengarkan pada TCP/IP jika port ini digunakan.

Klien mendeteksi nomor untuk menyambung ke dalam kasus dari contoh bernama atau satu dengan port nomor port non-standar.

Informasi koneksi ditulis untuk "LastConnect" cache dalam kunci registri ini:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\supersocketnetlib\lastConnect
Anda akan menemukan entri untuk setiap server dan metode yang digunakan untuk menghubungkan kepada mereka dalam registri.

Klien mencoba untuk kembali menggunakan informasi koneksi pada setiap koneksi kecuali gagal dan kemudian re-negotiates informasi baru. Ini mungkin terjadi jika nomor port telah berubah karena seseorang telah mengubah itu atau jika itu pelabuhan dinamis yang Re-assigned karena menjadi pelabuhan digunakan.

Koneksi rusak

Ada tiga cara sambungan dapat rusak:
  1. Server gagal; proses dihentikan oleh dibunuh (sistem server proses ID [spid] membunuh) atau pelanggaran akses (AV) atau sesuatu yang lain penyebab sistem operasi atau layanan yang diperlukan untuk gagal.
  2. Kegagalan perangkat keras mesin atau kehilangan kekuasaan.
  3. Server shutdown.
Masing-masing sambungan ini rusak menunjukkan perilaku yang berbeda melihat pada komputer klien.
  1. Dalam kasus di mana sebuah server gagal, klien menerima koneksi rusak galat segera. Anda dapat mensimulasikan perilaku ini menghubungkan dengan OSQL, menjalankan query panjang dan kemudian menggunakan MEMBUNUH untuk mengakhiri proses SQL Server Anda. Klien keluar dengan Pesan galat ODBC.
  2. Kegagalan mesin lebih rumit. Perilaku dapat perubahan yang sedikit didasarkan pada bagaimana sambungan kerugian terdeteksi.

    Jika klien adalah di tengah-tengah membaca informasi, sambungan kerugian dapat terdeteksi segera karena data berhenti.

    Jika klien tidak hanya menunggu hasil, perilaku ini sedikit berbeda. Perilaku tergantung setelah konfigurasi tetap hidup komputer klien.

    Pada Microsoft Windows 2000 Keep Alive diatur oleh kode klien pada per sambungan dasar. Secara default, tetap hidup diatur untuk 30 detik. Ini berarti bahwa jika soket dies terdeteksi dalam 30 detik dan klien menerima kesalahan kepada kami. Microsoft Windows NT 4.0, tetap hidup tidak dapat diatur pada setiap sambungan dasar. Menjaga Alive harus ditetapkan untuk seluruh komputer, sehingga mempengaruhi semua aplikasi pada server.

    Kunci registri yang sedang disebut adalah:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime\REG_DWORD 30000

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval\REG_DWORD 1000
  3. Ketika Anda memulai server shutdown, server menunggu Sementara untuk klien untuk menyelesaikan. Namun, jika klien masih berjalan Server membunuh benang di dalam server. Membunuh benang juga dapat menyebabkan pesan kesalahan yang berbeda pada klien. Pesan kesalahan dapat menyertakan sambungan rusak galat; Namun, sebagian besar waktu Anda melihat pesan kesalahan ini:
    "Galat tidak diketahui terjadi, sambungan mungkin dihentikan oleh server".
    Kode kesalahan asli ODBC diatur ke nol (0) di ini, tetapi kasus kembali sebagai pesan kesalahan untuk klien.

REFERENSI

Untuk informasi lebih lanjut tentang SQL Virtual Server klien perilaku dalam SQL Server 2005, kunjungi Web site Microsoft Developer Network (MSDN) berikut:
http://msdn2.Microsoft.com/en-us/library/ms189585.aspx

Properti

ID Artikel: 273673 - Kajian Terakhir: 22 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft SQL Server 6.5 Enterprise Edition
  • Microsoft SQL Server 7.0 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
Kata kunci: 
kbhowto kbsql2005cluster kbclientserver kbinfo kbmt KB273673 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:273673

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com