Bagaimana memecahkan masalah pesan galat "Tidak dapat menghasilkan SSPI konteks"

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

Memahami masalah

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Bagian ini memberikan informasi latar belakang mengenai mengapa pesan kesalahan "Tidak dapat menghasilkan SSPI konteks" terjadi dan bagaimana untuk mengatasi masalah galat. Anda mungkin menerima pesan galat ini jika kondisi berikut ini benar:
  • Anda tautan langsung ke Microsoft SQL Server.
  • Anda menggunakan keamanan terintegrasi.
  • otentikasi Kerberos digunakan untuk melakukan delegasi keamanan.
Memahami terminologi Kerberos dan nama Layanan kepala
Sopir SQL Server di komputer klien menggunakan keamanan terintegrasi untuk menggunakan token keamanan Windows dari account pengguna berhasil tersambung ke komputer yang menjalankan SQL Server. Token keamanan Windows yang didelegasikan dari klien ke komputer yang menjalankan SQL Server. Sopir SQL Server melakukan delegasi ini ketika pengguna token keamanan yang didelegasikan dari komputer lain dengan menggunakan salah satu konfigurasi sebagai berikut:
  • NTLM atas bernama pipa (tidak menggunakan antarmuka penyedia dukungan keamanan [SSPI])
  • NTLM atas soket TCP/IP dengan SSPI
  • otentikasi Kerberos atas soket TCP/IP dengan SSPI
Penyedia keamanan dukungan antarmuka (SSPI) adalah seperangkat api Windows yang memungkinkan untuk delegasi dan saling otentikasi melalui layer transport generik data apapun, seperti soket TCP/IP. Oleh karena itu, SSPI memungkinkan untuk komputer yang menjalankan sistem operasi Windows aman mendelegasikan token keamanan pengguna dari komputer lain atas setiap layer transport yang dapat mengirimkan mentah byte data.

Kesalahan "Tidak dapat menghasilkan SSPI konteks" yang dihasilkan ketika SSPI menggunakan otentikasi Kerberos mendelegasikan over TCP/IP dan otentikasi Kerberos tidak dapat menyelesaikan operasi yang diperlukan untuk berhasil mendelegasikan token keamanan pengguna ke tujuan komputer yang menjalankan SQL Server.
Mengapa Antarmuka Penyedia Dukungan Keamanan menggunakan otentikasi NTLM atau Kerberos
otentikasi Kerberos menggunakan pengidentifikasi yang bernama "Nama Layanan kepala" (SPN). Mempertimbangkan SPN sebagai domain atau hutan pengenal unik dari beberapa contoh dalam sumber daya server. Anda dapat memiliki SPN untuk Layanan Web, sebuah layanan SQL, atau untuk Layanan SMTP. Anda juga dapat memiliki beberapa contoh Layanan Web pada komputer fisik yang sama yang memiliki SPN unik.

SPN untuk SQL Server terdiri dari unsur-unsur berikut:
  • ServiceClass: ini mengidentifikasi kelas umum layanan. Ini adalah alwaysMSSQLSvc untuk SQL Server.
  • Host: ini adalah nama domain berkualifikasi lengkap DNS thatis komputer yang menjalankan SQL Server.
  • Port: nomor port yang layanan yang mendengarkan pada hal ini.
Sebagai contoh, SPN khas untuk komputer yang menjalankan SQL Server adalah sebagai berikut:
MSSQLSvc/SQLSERVER1.northamerica.corp.mycompany.com:1433
Format SPN misalnya default dan format SPN misalnya bernama yang tidak berbeda. Nomor port adalah apa hubungan SPN untuk sebuah contoh khusus.

Ketika sopir SQL Server di klien menggunakan keamanan terintegrasi untuk tautan langsung ke SQL Server, kode driver pada klien mencoba untuk menyelesaikan DNS memenuhi syarat dari komputer yang menjalankan SQL Server dengan menggunakan WinSock jaringan api. Untuk melakukan operasi ini, sopir kode panggilan gethostbyname dan gethostbyaddr WinSock api. Bahkan jika alamat penyuratan IP atau host nama berlalu sebagai nama dari komputer yang menjalankan SQL Server, SQL Server sopir mencoba menetapkan DNS memenuhi syarat komputer jika komputer yang menggunakan keamanan terintegrasi.

Ketika pengandar SQL Server pada klien menyelesaikan DNS memenuhi syarat dari komputer yang menjalankan SQL Server, DNS sesuai digunakan untuk membentuk SPN untuk komputer ini. Oleh karena itu, masalah tentang bagaimana alamat penyuratan IP atau host nama diselesaikan ke DNS memenuhi syarat oleh WinSock dapat menyebabkan pengemudi SQL Server untuk membuat SPN tidak valid untuk komputer yang menjalankan SQL Server.

Sebagai contoh, tidak valid SPNs yang pengandar SQL Server sisi klien dapat membentuk seperti diselesaikan DNS yang memenuhi syarat sebagai berikut:
  • MSSQLSvc / SQLSERVER1:1433
  • MSSQLSvc/123.123.123.123:1433
  • MSSQLSvc/SQLSERVER1.antartica.corp.mycompany.com:1433
  • MSSQLSvc/SQLSERVER1.dns.northamerica.corp.mycompany.com:1433
Ketika pengandar SQL Server membentuk SPN yang tidak sah, otentikasi masih bekerja karena antarmuka SSPI berusaha Telisik SPN di layanan direktori Active Directory, dan tidak menemukan SPN. Jika antarmuka SSPI tidak menemukan SPN, otentikasi Kerberos tidak dilakukan. Pada saat itu, lapisan SSPI beralih ke modus otentikasi NTLM dan log masuk menggunakan otentikasi NTLM dan biasanya berhasil. Jika pengandar SQL Server membentuk SPN yang berlaku tetapi tidak ditetapkan ke wadah yang tepat, itu berusaha menggunakan SPN tetapi tidak dapat. Hal ini menyebabkan pesan kesalahan "Tidak dapat menghasilkan SSPI konteks". Jika account startup SQL Server account sistem lokal, wadah sesuai adalah nama komputer. Untuk akun lain, wadah sesuai adalah account startup SQL Server. Karena otentikasi akan mencoba menggunakan SPN pertama yang ditemukan, pastikan bahwa ada SPNs tidak ditetapkan ke wadah yang salah. Dengan kata lain, SPN masing-masing harus ditetapkan ke satu dan hanya satu wadah.

Faktor bukti kunci yang membuat otentikasi Kerberos sukses adalah fungsi DNS yang berlaku di jaringan. Anda dapat memverifikasi fungsi ini pada klien dan server dengan menggunakan utilitas prompt perintah Ping. Pada komputer klien, jalankan perintah berikut untuk mendapatkan alamat penyuratan IP dari server yang menjalankan SQL Server (di mana nama komputer yang menjalankan SQL Server adalah SQLServer1):
Ping sqlserver1
Untuk melihat apakah utilitas Ping menyelesaikan DNS memenuhi syarat SQLServer1, jalankan perintah berikut:
Ping - IPAddress
Sebagai contoh:
C:\>ping SQLSERVER1

Pinging SQLSERVER1 [123.123.123.123] with 32 bytes of data:
	
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
	
Ping statistics for 123.123.123.123:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum =  0ms, Average =  0ms
C:\>ping -a 123.123.123.123
	
Pinging SQLSERVER1.northamerica.corp.mycompany.com [123.123.123.123] with 32 bytes of data:
	
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Reply from 123.123.123.123: bytes=32 time<10ms TTL=128
Ping statistics for 123.123.123.123:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum =  0ms, Average =  0ms

C:\>
Ketika perintah Ping - IPAddress menyelesaikan ke DNS memenuhi syarat benar dari komputer yang menjalankan SQL Server, sisi klien resolusi ini juga berhasil.
Nama SQL Server layanan kepala penciptaan
Ini adalah salah satu bagian penting otentikasi Kerberos dan interaksi SQL Server. Dengan SQL Server, Anda dapat menjalankan layanan SQL Server di bawah salah satu dari berikut: sebuah LocalSystem account, account lokal pengguna, atau account pengguna domain. Ketika layanan SQL Server misalnya mulai, mencoba untuk mendaftar SPN sendiri di Active Directory dengan menggunakan panggilan DsWriteAccountSpn API. Jika panggilan tidak berhasil, peringatan berikut dicatat dalam Event Viewer:

Sumber: MSSQLServer EventID: 19011 Deskripsi: SuperSocket info: (SpnRegister): kesalahan 8344.

Untuk informasi lebih lanjut tentang fungsi DsWriteAccountSpn , kunjungi website Microsoft berikut:
http://msdn2.Microsoft.com/en-US/Library/ms676056.aspx
Penjelasan yang disederhanakan
Jika Anda menjalankan layanan SQL Server di bawah LocalSystem account, SPN secara otomatis terdaftar dan otentikasi Kerberos berhasil berinteraksi dengan komputer yang menjalankan SQL Server. Namun, jika Anda menjalankan layanan SQL Server di bawah domain account atau rekening lokal, usaha untuk membuat SPN akan gagal dalam kebanyakan kasus karena domain account dan account lokal tidak memiliki hak untuk mengatur SPNs mereka sendiri. Ketika penciptaan SPN ini tidak berhasil, ini berarti bahwa tidak ada SPN telah diatur untuk komputer yang menjalankan SQL Server. Jika Anda menguji dengan menggunakan administrator domain account sebagai account layanan SQL Server, SPN berhasil dibuat karena kredensial administrator level domain yang harus Anda miliki untuk membuat SPN hadir.

Karena Anda mungkin tidak menggunakan administrator domain account untuk menjalankan layanan SQL Server (untuk mencegah risiko keamanan), komputer yang menjalankan SQL Server tidak dapat membuat sendiri SPN. Oleh karena itu, Anda harus secara manual membuat SPN untuk komputer yang menjalankan SQL Server jika Anda ingin menggunakan otentikasi Kerberos bila tersambung ke komputer yang menjalankan SQL Server. Hal ini berlaku jika Anda menjalankan SQL Server di bawah account pengguna domain atau di bawah account lokal pengguna. SPN yang Anda buat harus diberikan untuk account layanan layanan SQL Server di komputer yang sama. SPN tidak ditetapkan ke wadah komputer kecuali komputer yang menjalankan SQL Server dimulai dengan account sistem lokal. Harus ada satu dan hanya satu SPN, dan harus ditetapkan untuk wadah sesuai. Biasanya, ini adalah account layanan SQL Server saat ini, tetapi ini adalah wadah rekening komputer dengan account sistem lokal.
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Penyelesaian masalah

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Bagian ini akan menunjukkan langkah-langkah untuk membantu memastikan bahwa komputer Anda tidak mengalami masalah SSPI.

Verifikasi domain
Memverifikasi bahwa domain yang Anda log on dapat berkomunikasi dengan domain yang dimiliki oleh komputer yang menjalankan SQL Server. Juga harus ada resolusi benar nama domain.
  1. Anda harus memastikan bahwa Anda dapat berhasil masuk ke Windows dengan menggunakan domain account dan sandi yang sama sebagai account startup layanan SQL Server. Misalnya, kesalahan SSPI dapat terjadi di salah satu situasi berikut:
    • Domain account terkunci.
    • Sandi account berubah. Namun, Anda tidak pernah restart layanan SQL Server setelah password berubah.
  2. Jika log masuk domain berbeda dari domain dari komputer yang menjalankan SQL Server, periksa hubungan kepercayaan antara domain.
  3. Periksa apakah domain server milik dan domain akun yang Anda gunakan untuk tautan langsung di forest yang sama. Hal ini diperlukan untuk SSPI untuk bekerja.
  4. Penggunaan Account dipercaya untuk delegasi pilihan di Active Directory pengguna dan komputer ketika Anda mulai SQL Server.

    Catatan ' Akun dipercaya untuk delegasi ' tepat diperlukan hanya ketika Anda sedang mendelegasikan kredensial dari target SQL server ke SQL server remote seperti double hop skenario seperti didistribusikan query (pertanyaan terkait server) yang menggunakan Windows otentikasi.
  5. Menggunakan nama Layanan kepala memanipulasi untuk utilitas account (SetSPN.exe) Windows 2000 Resource Kit. Account administrator domain Windows 2000 atau Windows Server 2003 domain account administrator dapat menggunakan utilitas untuk mengontrol SPN yang ditetapkan untuk layanan dan account. Untuk SQL Server, harus ada satu dan hanya satu SPN. SPN harus ditetapkan ke wadah sesuai, account layanan SQL Server saat ini dalam kebanyakan kasus, dan account komputer ketika SQL Server dimulai dengan account sistem lokal. Jika Anda menjalankan SQL Server sementara login dengan LocalSystem account, SPN secara otomatis ditetapkan. Namun, jika Anda menggunakan domain account untuk memulai SQL Server, atau ketika Anda mengubah account yang digunakan untuk memulai SQL Server, Anda harus menjalankan SetSPN.exe untuk menghapus kedaluwarsa SPNs, dan kemudian Anda harus menambahkan SPN berlaku. Untuk selengkapnya, lihat "Keamanan Account delegasi" topik dalam SQL Server 2000 buku Online. Untuk melakukan ini, pergi ke website Microsoft berikut:
    http://msdn2.Microsoft.com/en-US/Library/aa905162 (SQL.80).aspx
    Untuk informasi selengkapnya tentang Windows 2000 Resource Kit, kunjungi website Microsoft berikut:
    http://www.Microsoft.com/TechNet/prodtechnol/windows2000serv/reskit/default.mspx?MFR=True
  6. Pastikan bahwa resolusi nama terjadi dengan benar. Nama resolusi metode mungkin termasuk DNS, menang, host file, dan Lmhosts file. Untuk informasi lebih lanjut tentang masalah resolusi nama dan pemecahan masalah, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    169790 Cara memecahkan masalah dasar TCP/IP
  7. Untuk informasi lebih lanjut tentang bagaimana memecahkan masalah aksesibilitas dan isu-isu firewall dengan Active Directory, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    291382 pertanyaan yang sering diajukan tentang Windows 2000 DNS dan Windows Server 2003 DNS
    224196 Membatasi lalu lintas replikasi Active Directory dan lalu-lintas RPC klien ke port tertentu
Mengkonfigurasi layanan SQL Server untuk membuat SPNs secara dinamis untuk contoh-contoh SQL Server
Untuk mengkonfigurasi layanan SQL Server untuk membuat SPNs secara dinamis, Anda harus mengubah pengaturan kontrol akses account di layanan direktori Active Directory. Anda harus memberikan izin "Baca servicePrincipalName" dan "Menulis servicePrincipalName" izin untuk account layanan SQL Server.

Peringatan Jika Anda menggunakan Antarmuka layanan direktori Aktif (ADSI) Edit snap-in, utilitas LDP, atau Versi LDAP lain 3 klien dan Anda keliru mengubah atribut objek direktori aktif, Anda dapat menyebabkan masalah serius. Masalah ini mungkin mengharuskan Anda untuk menginstal ulang Windows Server 2003, Microsoft Windows 2000 Server, Microsoft Exchange Server 2003, Microsoft Exchange 2000 Server, atau Windows maupun asing. Kami tidak dapat menjamin bahwa masalah yang disebabkan oleh salah mengubah atribut objek direktori aktif dapat diselesaikan. Mengubah atribut ini risiko Anda sendiri.

Catatan Untuk memberikan izin yang sesuai dan hak pengguna ke rekening startup SQL Server, Anda harus login sebagai administrator domain, atau Anda harus meminta administrator domain Anda untuk melakukan tugas ini.

Untuk mengkonfigurasi layanan SQL Server untuk membuat SPNs dinamis, ikuti langkah berikut:
  1. Klik mulai, klik menjalankan, jenis ADSIEDIT.MSC, lalu klik OK.
  2. Di ADSI Edit snap-in, memperluas Domain [DomainName], memperluas DC =<b00> </b00> RootDomainName, memperluas CN = pengguna, klik kanan-atas CN =<b00> </b00> AccountName, kemudian klik properti.

    Catatan
    • DomainName adalah pengganti untuk nama domain.
    • RootDomainName adalah pengganti untuk nama domain akar.
    • AccountName adalah placeholder untuk account yang Anda tetapkan untuk memulai layanan SQL Server.
    • Jika Anda menetapkan account sistem lokal untuk memulai layanan SQL Server, AccountName adalah placeholder untuk account yang Anda gunakan untuk masuk ke Microsoft Windows.
    • Jika Anda menetapkan account pengguna domain untuk memulai layanan SQL Server, AccountName adalah placeholder untuk account pengguna domain.
  3. Dalam CN =<b00> </b00> AccountName Dialog properti kotak, klik keamanan tab.
  4. Pada tab keamanan , klik lanjutan.
  5. Dalam Advanced pengaturan keamanan kotak dialog, pastikan bahwa diri tercantum di bawah izin entri.

    Jika diri tidak tercantum, klik Tambahkan, dan kemudian tambahkan diri.
  6. Di bawah izin entri, klik diri, dan kemudian klik mengedit.
  7. Di kotak dialog Izin masuk , klik tab properti .
  8. Pada Properties tab, klik objek ini hanya di menerapkan ke daftar, dan kemudian pastikan bahwa kotak centang untuk izin berikut yang dipilih di bawah izin:
    • Baca servicePrincipalName
    • Menulis servicePrincipalName
  9. KlikOke tiga kali , dan kemudian keluar ADSI Edit snap-in.
Untuk bantuan dengan proses ini, hubungi dukungan produk Active Directory, dan menyebutkan artikel Pangkalan Pengetahuan Microsoft ini.

Penting Kami merekomendasikan bahwa Anda tidak memberikan WriteServicePrincipalName hak untuk account layanan SQL ketika kondisi berikut ini benar:
  • Ada beberapa pengendali domain.
  • Berkerumun SQL Server.
Dalam skenario ini, SPN untuk SQL Server mungkin dihapus karena latency di replikasi direktori aktif. Ini dapat menyebabkan masalah konektivitas ke SQL Server misalnya.

Asumsikan bahwa Anda memiliki yang berikut:
  • Contoh virtual SQL yang bernama Sqlcluster dengan dua node: Node A dan Node B.
  • Node A disahkan oleh pengendali domain A dan Node B disahkan oleh pengendali domain B.


Berikut mungkin terjadi:
  1. Contoh Sqlcluster aktif pada Node A dan terdaftar SPN SQL di pengontrol domain A selama start up...
  2. Contoh Sqlcluster gagal atas Node B ketika Node A biasanya shutdown.
  3. Contoh Sqlcluster tersebut telah dengan SPN dari domain controller A selama proses shutdown pada Node A.
  4. SPN akan dihapus dari domain controller A tetapi perubahan ini belum belum dapat ditiru ke pengendali domain B.
  5. Ketika memulai pada Node B, contoh Sqlcluster mencoba untuk mendaftar SQL SPN dengan pengontrol domain B. Karena, SPN masih ada Node B tidak mendaftar SPN.
  6. Setelah beberapa waktu, pengendali domain A bereplikasi penghapusan SPN (dari langkah 3) untuk pengendali domain B sebagai bagian dari replikasi direktori aktif. Hasil akhirnya adalah bahwa ada SPN tidak sahih untuk contoh SQL dalam domain dan karenanya Anda melihat masalah sambungan ke Sqlcluster instance.

Catatan Masalah ini telah diperbaiki pada SQL Server 2012.
Memverifikasi lingkungan server
Periksa pengaturan beberapa dasar di komputer yang terinstal SQL Server:
  1. otentikasi Kerberos tidak didukung pada berbasis Windows 2000 komputer yang menjalankan Windows Clustering kecuali Anda telah menerapkan Service Pack 3 (atau versi yang lebih baru) untuk Windows 2000. Oleh karena itu, setiap upaya untuk menggunakan otentikasi SSPI pada contoh berkerumun SQL Server mungkin gagal. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    235529 Dukungan otentikasi Kerberos pada cluster server berbasis Windows 2000
  2. Pastikan bahwa server menjalankan Windows 2000 Service Pack 1 (SP1). Untuk informasi selengkapnya tentang otentikasi Kerberos dukungan pada server berbasis Windows 2000, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    267588 "Tidak dapat menghasilkan SSPI konteks" pesan kesalahan ditampilkan ketika Anda tautan langsung ke SQL Server 2000
  3. Pada sebuah cluster, jika account yang digunakan untuk memulai SQL Server, SQL Server agen atau lengkap-teks pencarian layanan perubahan, seperti password baru, ikuti langkah-langkah yang diberikan dalam artikel Pangkalan Pengetahuan Microsoft berikut:
    239885 Bagaimana mengubah account layanan untuk berkerumun komputer yang menjalankan SQL Server
  4. Pastikan bahwa account yang Anda gunakan untuk memulai SQL Server memiliki izin yang sesuai. Jika Anda menggunakan account yang tidak Kelompok anggota administrator lokal, lihat "Pengaturan up Windows layanan akun" topik dalam SQL Server buku Online untuk daftar rinci tentang izin yang account ini harus memiliki:
    http://msdn2.Microsoft.com/en-US/Library/aa176564 (SQL.80).aspx
Memverifikasi lingkungan klien
Verifikasi berikut pada klien:
  1. Pastikan bahwa NTLM Security Support Provider diinstal dengan benar dan diaktifkan pada klien. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    269541 Pesan galat ketika Anda tautan langsung ke SQL Server jika bukti kunci registri Windows NT LM Security Support Provider hilang: "tidak dapat menghasilkan SSPI konteks"
  2. Menentukan apakah Anda menggunakan kredensial cache. Jika Anda masuk ke klien menggunakan kredensial cache, log keluar komputer dan kemudian login kembali ketika Anda dapat terhubung ke pengendali domain untuk mencegah cache kredensial yang digunakan. Untuk informasi lebih lanjut tentang cara menentukan apakah Anda menggunakan kredensial cache, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    242536 Pengguna tidak diberitahu ketika penebangan di dengan domain cache kredensial
  3. Verifikasi tanggal klien dan server valid. Jika tanggal yang terlalu berjauhan, sertifikat Anda dapat dianggap tidak valid.
  4. SSPI menggunakan sebuah file yang bernama Security.dll. Jika aplikasi lainnya menginstal file yang menggunakan nama ini, file lain dapat digunakan SSPI sebenarnya file. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    253577 Galat: 80004005 - driver ODBC MS SQL Server tidak dapat menginisialisasi SSPI paket
  5. Jika sistem operasi pada klien Microsoft Windows98, Anda harus menginstal klien untuk Microsoft Networks komponen pada klien. Untuk informasi lebih lanjut, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
    267550 BUG: "pernyataan gagal" ketika Anda tautan langsung ke SQL Server melalui TCP/IP
Memverifikasi utilitas jaringan klien
Klien jaringan Utility (CNU) akan dikirim bersama-sama dengan Microsoft Data akses komponen (MDAC) dan digunakan untuk mengkonfigurasi konektivitas ke komputer yang menjalankan SQL Server. Anda dapat menggunakan utilitas MDAC Cliconfg.exe CNU untuk mengkonfigurasi konektivitas:
  1. Pada tab umum , cara protokol aredefined bervariasi menurut versi MDAC. Dengan versi sebelumnya dari MDAC, Anda dapat memilih sebuah protokol "default". Pada versi terbaru dari MDAC, Anda canenable satu atau lebih protokol dengan satu di bagian atas daftar ketika Anda connectto SQL Server. Karena SSPI berlaku hanya untuk TCP/IP, Anda dapat menggunakan differentprotocol, seperti pipa bernama, untuk menghindari kesalahan.
  2. Periksa tab Alias di CNU untuk memverifikasi bahwa alias didefinisikan untuk server yang Anda mencoba untuk menyambung. Jika server alias didefinisikan, periksa pengaturan untuk bagaimana komputer ini dikonfigurasi untuk tautan langsung ke SQL Server. Anda dapat memverifikasi ini dengan menghapus server alias untuk melihat apakah perubahan perilaku.
  3. Jika alias server tidak didefinisikan pada CNU, menambahkan alias untuk server yang tersambung. Ketika Anda melakukan tugas ini, Anda juga jelas mendefinisikan protokol dan opsional menentukan alamat penyuratan IP dan port.
Secara manual mengatur nama Layanan kepala untuk SQL Server
Untuk informasi lebih lanjut tentang bagaimana secara manual mengatur nama Layanan kepala untuk SQL Server, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
319723 Cara menggunakan otentikasi Kerberos di SQL Server
Dukungan penyedia keamanan antarmuka (SSPI) adalah antarmuka untuk keamanan Microsoft Windows NT yang digunakan untuk otentikasi Kerberos, dan mendukung skema otentikasi NTLM Security Support Provider. Otentikasi terjadi pada tingkat sistem operasi ketika Anda log on ke Windows domain. otentikasi Kerberos tersedia hanya di komputer berbasis Windows 2000 yang memiliki otentikasi Kerberos diaktifkan dan yang menggunakan Active Directory.

SSPI hanya digunakan untuk koneksi TCP/IP yang dibuat dengan menggunakan Windows otentikasi. Windows otentikasi ini juga dikenal sebagai koneksi dipercaya atau keamanan terintegrasi. SSPI tidak digunakan oleh bernama pipa atau multi-protokol sambungan. Oleh karena itu, Anda dapat menghindari masalah dengan mengkonfigurasi klien untuk terhubung dari sebuah protokol selain TCP/IP.

Ketika klien SQL Server mencoba menggunakan keamanan terintegrasi melalui soket TCP/IP ke remote komputer yang menjalankan SQL Server, SQL Server klien jaringan Perpustakaan menggunakan SSPI API melakukan keamanan delegasi. SQL Server jaringan klien (Dbnetlib.dll) membuat panggilan ke fungsi AcquireCredentialsHandle dan melewati "bernegosiasi" untuk pszPackage parameter. Ini akan memberitahu penyedia keamanan dasar untuk melakukan negosiasi delegasi. Dalam konteks ini, menegosiasikan berarti untuk mencoba otentikasi NTLM atau Kerberos pada komputer berbasis Windows. Dengan kata lain, Windows menggunakan Kerberos delegasi jika tujuan komputer yang menjalankan SQL Server telah terkait, dikonfigurasi dengan benar SPN. Jika tidak, Windows menggunakan NTLM delegasi.

Catatan Pastikan bahwa Anda tidak menggunakan account bernama "Sistem" untuk memulai salah satu layanan SQL Server (MSSQLServer, SQLServerAgent, MSSearch). Kata bukti kunci sistem dapat menyebabkan konflik dengan pusat distribusi bukti kunci (KDC).
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Mengumpulkan informasi untuk membuka kasus dukungan pelanggan Microsoft (CSS)

Perkecil gambar iniPerbesar gambar ini
assets folding start collapsed
Jika Anda tidak bisa mendapatkan penyebab masalah dengan menggunakan langkah pemecahan masalah dalam artikel ini, mengumpulkan informasi berikut dan membuka kasus dukungan pelanggan Microsoft (CSS).

Untuk daftar lengkap nomor telepon dukungan pelanggan Microsoft dan informasi mengenai biaya dukungan, kunjungi website Microsoft berikut:
http://support.Microsoft.com/contactus/?WS=support
  1. Menghasilkan laporan sqldiag dari SQL Server. Untuk moreinformation, lihat "sqldiag utilitas" topik dalam SQL Server BooksOnline.
  2. Capture screen shot kesalahan pada klien.
  3. Buka command prompt pada node yang tidak dapat tautan langsung ke SQL Server, dan kemudian ketik perintah berikut:
    bersih mulai mengatakan started.txt
    Perintah ini menghasilkan sebuah file yang bernama Started.txt di direktori mana Anda menjalankan perintah.
  4. Menyimpan nilai untuk bukti kunci registri di bawah bukti kunci registri berikut pada komputer klien:
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\CLIENT\CONNECTTO
  5. Dalam lingkungan yang berkerumun, menemukan nilai dari bukti kunci registri berikut untuk setiap node cluster:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\LMCompatibilityLevel
  6. Dalam lingkungan yang berkerumun, lihat apakah bukti kunci registri berikut ada pada setiap node cluster server:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTLMSsp
  7. Menangkap hasil jika Anda tautan langsung ke SQL Server dengan menggunakan aUniversal konvensi penamaan (UNC) nama (atau nama jaringan SQL di cluster) dari klien.
  8. Menangkap hasil jika Anda ping nama komputer (atau nama jaringan SQL di cluster) dari klien.
  9. Menyimpan nama akun pengguna yang Anda gunakan untuk memulai masing-masing layanan SQL Server (MSSQLServer, SQLServerAgent, MSSearch).
  10. Dukungan profesional harus tahu apakah SQL Server dikonfigurasi untuk campuran otentikasi atau Windows hanya otentikasi.
  11. Lihat apakah Anda dapat terhubung ke komputer yang menjalankan SQL Server dari klien yang sama dengan menggunakan SQL Server otentikasi.
  12. Lihat apakah Anda dapat terhubung menggunakan protokol pipa bernama.

Referensi

Untuk selengkapnya tentang cara otentikasi Kerberos dan SSPI keamanan bekerja, klik nomor artikel berikut ini untuk melihat artikel di dalam Pangkalan Pengetahuan Microsoft:
266080 Jawaban atas pertanyaan yang sering diajukan otentikasi Kerberos
231789 Proses log masuk lokal untuk Windows 2000
304161 Saling otentikasi SSPI diindikasikan pada sisi klien tetapi tidak pada sisi server
232179 Kerberos administrasi pada Windows 2000
230476 Deskripsi Umum terkait Kerberos kesalahan pada Windows 2000
262177 Cara mengaktifkan pengelogan acara Kerberos
277658 Setspn gagal jika nama domain yang berbeda dari nama NetBIOS yang mana SQL Server SPN terdaftar
244474 Cara memaksa Kerberos untuk menggunakan TCP alih-alih UDP di Windows Server 2003, Windows XP dan Windows 2000
Untuk melihat white paper tentang keamanan Microsoft SQL Server 2000, pergi ke website Microsoft berikut:
http://technet.Microsoft.com/en-US/cc984178.aspx
Perkecil gambar iniPerbesar gambar ini
assets folding end collapsed

Properti

ID Artikel: 811889 - Kajian Terakhir: 10 Oktober 2013 - Revisi: 4.0
Berlaku bagi:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Integration Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Reporting Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Kata kunci: 
kbsqlsetup kbhowtomaster kbhowto kbsmbportal kbmt KB811889 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan oleh perangkat lunak penerjemahan mesin Microsoft, dan mungkin telah diedit oleh Masyarakat Microsoft melalui teknologi CTF dan bukan oleh seorang penerjemah profesional. Microsoft menawarkan baik artikel yang diterjemahkan oleh manusia maupun artikel hasil editan terjemahan oleh mesin/komunitas, sehingga Anda dapat mengakses semua artikel di Sentra Pengetahuan yang kami miliki dalam berbagai bahasa. Namun artikel hasil editan mesin atau bahkan komunitas tidak selalu sempurna. Artikel ini dapat mengandung kesalahan dalam hal kosa kata, sintaksis atau tatabahasa, sangat mirip dengan penutur asing yang membuat kekeliruan ketika berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab atas ketidakakuratan, kesalahan atau kerugian apa pun akibat dari kekeliruan dalam penerjemahan isi atau penggunaannya oleh pelanggan kami. Microsoft juga akan senantiasa memperbarui perangkat lunak penerjemahan mesin dan alat untuk menyempurnakan Editan Hasil Penerjemahan Mesin.
Klik disini untuk melihat versi Inggris dari artikel ini: 811889

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