วิธีการตรวจสอบให้แน่ใจว่า คุณกำลังใช้การรับรองความถูกต้องของ Kerberos เมื่อคุณสร้างการเชื่อมต่อระยะไกลให้กับอินสแตนซ์ของ SQL Server 2005

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 909801 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

เนื้อหาบนหน้านี้

บทนำ

บทความนี้อธิบายวิธีการตรวจสอบให้แน่ใจว่า คุณกำลังใช้การรับรองความถูกต้องของ Kerberos เป็นวิธีการรับรองความถูกต้องของ Microsoft Windows เมื่อคุณสร้างการเชื่อมต่อระยะไกลให้กับอินสแตนซ์ของ Microsoft SQL Server 2005

ข้อมูลเพิ่มเติม

sql Server 2005 สนับสนุนการรับรองความถูกต้อง Kerberos โดยทางอ้อมผ่าน Windows Security ฝ่ายสนับสนุนของผู้ให้บริการอินเทอร์เฟซ (SSPI) เมื่อคุณกำลังใช้การพิสูจน์ตัวจริงแบบรวมของ Windows แทนการรับรองความถูกต้องของ SQL อย่างไรก็ตาม SQL Server จะใช้เฉพาะรับรองความถูกต้อง Kerberos ภายใต้สถานการณ์บางอย่างเมื่อ SQL Server สามารถใช้ SSPI การเจรจาโพรโทคอลการรับรองความถูกต้องให้ใช้ ถ้าเซิร์ฟเวอร์ SQL ไม่สามารถใช้ Kerberos รับรองความถูกต้อง Windows จะใช้ NTLM รับรองความถูกต้อง เพื่อเหตุผลด้านความปลอดภัย เราขอแนะนำให้ คุณใช้การรับรองความถูกต้อง Kerberos แทนการรับรองความถูกต้องของ NTLM ผู้ดูแลระบบและผู้ใช้ควรทราบวิธีการตรวจสอบให้แน่ใจว่า จะใช้การรับรองความถูกต้องของ Kerberos สำหรับการเชื่อมต่อระยะไกล

เมื่อต้องการใช้การรับรองความถูกต้องของ Kerberos คุณต้องมั่นใจว่า เงื่อนไขต่อไปนี้ทั้งหมดเป็นจริง:
  • เซิร์ฟเวอร์และคอมพิวเตอร์ไคลเอนต์ต้องเป็นสมาชิกของโดเมนเดียวกันของ Windows หรือสมาชิกของโดเมนที่เชื่อถือได้
  • ของเซิร์ฟเวอร์บริการชื่อหลัก (SPN) ต้องถูกลงทะเบียนในบริการไดเรกทอรี Active Directory
  • อินสแตนซ์ของ SQL Server 2005 ต้องเปิดใช้งาน TCP/IP โพรโทคอล
  • ไคลเอ็นต์ต้องเชื่อมต่อกับอินสแตนซ์ของ SQL Server 2005 โดยใช้โพรโทคอล TCP/IP ตัวอย่างเช่น คุณสามารถวางโพรโทคอล TCP/IP ที่ด้านบนของใบสั่งโพรโทคอลของไคลเอ็นต์ หรือคุณสามารถเพิ่มคำนำหน้า " tcp: " ในสายอักขระการเชื่อมต่อเพื่อระบุว่า การเชื่อมต่อจะใช้โพรโทคอล TCP/IP

วิธีการลงทะเบียนข้อ SPN ในโดเมน

เมื่อคุณลงทะเบียนข้อ SPN สำหรับบริการ SQL Server คุณ essentially สร้างการแมประหว่าง SPN อินของ Windows บัญชีเริ่มต้นของการบริการอินสแตนซ์ของเซิร์ฟเวอร์

คุณต้องลงทะเบียน SPN เนื่องจากไคลเอ็นต์ต้องใช้ SPN ที่ลงทะเบียนในการเชื่อมต่อกับอินสแตนซ์ของเซิร์ฟเวอร์ SPN ประกอบด้วย โดยใช้ชื่อคอมพิวเตอร์ของเซิร์ฟเวอร์และพอร์ต TCP/IP ถ้าคุณไม่ลงทะเบียน SPN, SSPI ไม่สามารถระบุบัญชีที่เกี่ยวข้องกับการ SPN ดังนั้น การรับรองความถูกต้อง Kerberos จะไม่มีใช้

เมื่อเซิร์ฟเวอร์ SQL กำลังทำงานภาย ใต้บัญชีระบบภายใน หรือภาย ใต้บัญชีผู้ดูแลโดเมน อินสแตนซ์ที่จะลงโดยอัตโนมัติทะเบียน SPN ที่ในรูปแบบต่อไปนี้เมื่อเริ่มต้นอินสแตนซ์:
MSSQLSvc /fqdn:tcpport
หมายเหตุ:fqdnชื่อโดเมนที่ครบถ้วนของเซิร์ฟเวอร์ได้tcpportมีหมายเลขพอร์ต TCP/IP

เนื่องจากหมายเลขพอร์ต TCP ถูกรวมในการ SPN, SQL Server ต้องเปิดใช้โพรโทคอล TCP/IP สำหรับผู้ใช้ในการเชื่อมต่อ โดยใช้การรับรองความถูกต้องของ Kerberos กฎที่เหมือนกันที่ใช้สำหรับการกำหนดค่าคลัสเตอร์ นอกจากนี้ ถ้าลงทะเบียนอินสแตนซ์โดยอัตโนมัติไว้ SPN เมื่อเริ่มต้นอินสแตนซ์ SPN จะไม่ลงทะเบียนโดยอัตโนมัติเมื่อหยุดอินสแตนซ์

เฉพาะบัญชีผู้ดูแลโดเมนหรือบัญชีระบบเฉพาะที่มีสิทธิ์ที่จำเป็นต้องใช้เพื่อลงทะเบียนข้อ SPN ดังนั้น ดีถ้ามีเริ่มบริการ SQL Server ภายใต้บัญชีไม่ใช่ผู้ดูแล SQL Server ไม่สามารถลงทะเบียน SPN สำหรับอินสแตนซ์ ลักษณะการทำงานนี้จะไม่ป้องกันอินสแตนซ์ที่เริ่มต้น อย่างไรก็ตาม ข้อความต่อไปนี้จะถูกบันทึกไว้ในบันทึกของโปรแกรมประยุกต์ของแฟ้มบันทึกเหตุการณ์ของ Windows:

ชนิดเหตุการณ์: ข้อมูล
แหล่งที่มาของเหตุการณ์: $ MSSQLInstanceName
ประเภทเหตุการณ์: (2)
รหัสเหตุการณ์: 26037
วันที่:วันที่
เวลา:เวลา
ผู้ใช้: n/a
คอมพิวเตอร์:computername
คำอธิบาย::
ไลบรารีของอินเทอร์เฟซเครือข่ายของ SQL ไม่สามารถลงทะเบียนการบริการหลักชื่อ (SPN) สำหรับการบริการเซิร์ฟเวอร์ SQL ข้อผิดพลาด: 0x54b ความล้มเหลวในการลงทะเบียน SPN อาจทำให้เกิดการพิสูจน์ตัวจริงจะอยู่ในกลับไปยัง NTLM แทนของ Kerberos นี่คือข้อความที่ให้ข้อมูลนั้น การกระทำเพิ่มเติมได้เฉพาะถ้าจำเป็นต้อง Kerberos ที่จำเป็นต้องตรวจสอบ โดยนโยบายการรับรองความถูกต้อง
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ 'ศูนย์บริการช่วยเหลือและวิธีใช้' ที่ http://support.microsoft.com

ถ้าข้อความนี้ถูกบันทึกไว้ คุณต้องลงด้วยตนเองทะเบียน SPN สำหรับอินสแตนซ์ภายใต้บัญชีผู้ดูแลโดเมนเพื่อใช้การรับรองความถูกต้องของ Kerberos การลงทะเบียน SPN คุณสามารถใช้เครื่องมือ SetSPN.exe ที่มีอยู่ใน Microsoft Windows 2000 Server ทรัพยากร Kit เครื่องมือนี้จะยังอยู่ในเครื่อง Microsoft Windows Server 2003 มือสนับสนุน The Windows Server 2003 Support Tools are included in Microsoft Windows Server 2003 Service Pack 1 (SP1).

For more information about how to obtain the Windows Server 2003 Service Pack 1 Support Tools, click the following article number to view the article in the Microsoft Knowledge Base:
892777เครื่องมือสนับสนุน Windows Server 2003 Service Pack 1
You can use a command that is similar to the following to register an SPN for an instance:
SetSPN –A MSSQLSvc/<computername>.<domainname>:1433 <accountname></accountname></domainname></computername>
หมายเหตุ:If an SPN already exists, you must delete the SPN before you can reregister it. You may have to do this if the account mapping has changed. To deleted an existing SPN, you can use the SetSPN.exe tool together with the-Dสลับไป

How to make sure that you are using Kerberos authentication

After you connected to an instance of SQL Server 2005, run the following Transact-SQL statement in SQL Server Management Studio:
select auth_scheme from sys.dm_exec_connections where session_id=@@spid
If SQL Server is using Kerberos authentication, a character string that is listed as "KERBEROS" appears in the auth_scheme column in the result window.

ข้อมูลอ้างอิง

สำหรับข้อมูลเพิ่มเติม ให้ดูหัวข้อต่อไปนี้ในMicrosoft SQL Server 2005 Books Online:
  • ลงทะเบียนของชื่อบริการหลัก
  • How to enable Kerberos authentication including SQL Server virtual servers on server clusters

คุณสมบัติ

หมายเลขบทความ (Article ID): 909801 - รีวิวครั้งสุดท้าย: 16 มกราคม 2554 - Revision: 4.0
ใช้กับ
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Express Edition
Keywords: 
kbsql2005connect kbinfo kbmt KB909801 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:909801

ให้ข้อเสนอแนะ

 

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