คุณได้รับข้อมูลการเตือน "เตือน SuperSocket ข้อมูล" เมื่อบัญชีบริการ SQL Server เป็นผู้ใช้โดเมน

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

อาการ

เมื่อ SQL Server เริ่มทำงานบนคอมพิวเตอร์ที่กำลังเรียกใช้ Microsoft SQL Server 2000 หรือ Microsoft SQL Server 2005, SQL Server โปรแกรมเสมอพยายามลงทะเบียน เซิร์ฟเวอร์เสมือนในไดเรกทอรีที่ใช้งานอยู่ เหตุการณ์ต่อไปนี้อาจถูกบันทึกในแฟ้มบันทึกเหตุการณ์:

ข้อมูล superSocket: (SpnRegister): ข้อผิดพลาด 8344 SuperSocket ข้อมูล: (SPNRegister): ข้อผิดพลาด 1355 SuperSocket ข้อมูล: SpnUnRegister(): 8344 ข้อผิดพลาด

หมายเหตุข้อผิดพลาด 1355 จะเท่ากับ ERROR_NO_SUCH_DOMAIN ข้อผิดพลาด 8344 จะเท่ากับสิทธิ์ไม่เพียงพอในการดำเนินการลงทะเบียน ซึ่งจะแสดง เป็นคำเตือนสำหรับSPNRegisterฟังก์ชัน และ เป็นข้อผิดพลาดสำหรับฟังก์ชันSpnUnRegister

ข้อความนี้ไม่มีข้อผิดพลาด ข้อความนี้เป็นเพียงการ คำเตือนว่า SQL Server ไม่สามารถลงทะเบียนชื่อบริการหลัก (SPN) บ่งชี้ว่า กลไกการรักษาความปลอดภัยที่จะใช้เป็น รับรองความถูกต้อง Microsoft Windows NT Challenge\Response (NTLM) แทน รับรองความถูกต้องของ Kerberos

ข้อความเหล่านี้เท่านั้นควรมีปัญหาถ้ามีการติดตั้ง SQL Server ของคุณจำเป็นต้องมีการรับรองความถูกต้อง Kerberos หรือการตั้งค่าการรักษาความปลอดภัยเครือข่ายป้องกันไม่ให้ย้อนกลับเพื่อเจรจา NTLM มิฉะนั้น ข้อความเหล่านี้สามารถถูกละเว้นอย่างปลอดภัย

สาเหตุ

ข้อความมักจะปรากฏขึ้นเนื่องจากบริการ SQL Server บัญชีผู้ใช้เป็นผู้ใช้โดเมนที่ไม่มีสิทธิ์ requisite ลงทะเบียน SPNs ด้วย Microsoft Windows 2000 Service Pack 3 (SP3), คุณสามารถเปิดใช้งาน รับรองความถูกต้อง Kerberos ในคลัสเตอร์ของเซิร์ฟเวอร์ สำหรับคำแนะนำเกี่ยวกับวิธีการทำเช่นนี้ ดูบทความในฐานความรู้ของ Microsoft ต่อไปนี้:
319723 ข้อมูลเกี่ยวกับ SQL Server 2000 Kerberos สนับสนุน รวมทั้ง SQL Server เซิร์ฟเวอร์เสมือนในคลัสเตอร์ของเซิร์ฟเวอร์

การแก้ไข

นอกจากนี้คุณสามารถแก้ไขสิทธิ์การเข้าถึงการตั้งค่าการควบคุมของบัญชีในบริการไดเรกทอรี Active Directory เมื่อต้องการเปิดใช้งานสิทธิ์ servicePrincipalName อ่านและเขียน servicePrincipalName สิทธิ์สำหรับบัญชีบริการ SQL

คำเตือน ถ้าคุณใช้สแน็ปอินแก้ไข Active Directory บริการอินเทอร์เฟซ (ADSI) อรรถประโยชน์ LDP หรือไคลเอนต์ใด ๆ อื่น ๆ LDAP เวอร์ชั่น 3 ระบบ และคุณปรับเปลี่ยนแอตทริบิวต์ของวัตถุ Active Directory อย่างไม่ถูกต้อง คุณสามารถทำให้เกิดปัญหาร้ายแรง ปัญหาเหล่านี้อาจทำให้คุณติดตั้ง Microsoft Windows 2000 Server, Microsoft Windows Server 2003, Microsoft Exchange 2000 Server, Microsoft Exchange Server 2003 หรือทั้ง Windows และอัตราแลกเปลี่ยน Microsoft ไม่สามารถรับประกันว่า ปัญหาที่เกิดจากการปรับเปลี่ยนแอตทริบิวต์วัตถุ Active Directory อย่างไม่ถูกต้องจะสามารถแก้ไข ปรับเปลี่ยนแอตทริบิวต์เหล่านี้ในความเสี่ยงของคุณเอง

การหลีกเลี่ยงปัญหา

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

เมื่อต้องการเปิดใช้งานบัญชีผู้ใช้บริการ SQL Server เพื่อสร้าง SPNs เมื่อเริ่มต้นระบบได้อย่างถูกต้อง ให้ทำตามขั้นตอนเหล่านี้:
  1. คลิก เริ่มคลิก เรียกใช้ชนิด Adsiedit.mscแล้ว คลิก ตกลง.
  2. ในการ แก้ไข ADSI หน้าต่าง ขยาย [โดเมนDomainName]ขยาย DC = RootDomainNameขยาย CN =ผู้ใช้คลิกขวา CN =ชื่อแล้ว คลิก คุณสมบัติ.

    บันทึกย่อ
    • DomainName แสดงชื่อของโดเมน
    • RootDomainName คือตัวยึดสำหรับชื่อของโดเมนหลัก
    • ชื่อ หมายถึงบัญชีที่คุณระบุการเริ่มบริการ SQL Server
    • ถ้าคุณได้ระบุระบบภายในเครื่องเมื่อต้องการเริ่มบริการ SQL Server ชื่อ หมายถึงบัญชีที่คุณใช้เข้าสู่ระบบ Microsoft Windows
    • ถ้าคุณได้ระบุบัญชีผู้ใช้โดเมนสำหรับบริการ SQL Server ชื่อ หมายถึงบัญชีผู้ใช้โดเมน
  3. ในการ CN =ชื่อ คุณสมบัติ กล่องโต้ตอบ คลิก รักษาความปลอดภัย แท็บ
  4. ในการ รักษาความปลอดภัย แท็บ คลิก ขั้นสูง.
  5. ในการ ตั้งค่าความปลอดภัยขั้นสูง กล่องโต้ตอบกล่อง ตรวจสอบให้แน่ใจว่า ผู้ใช้ของตนเองอยู่ภายใต้ รายการสิทธิ์. ถ้าผู้ใช้ของตนเองที่ไม่มีอยู่ คลิก เพิ่มแล้ว เพิ่มผู้ใช้ของตนเอง
  6. ภายใต้ รายการสิทธิ์คลิก ตัวเองแล้ว คลิก แก้ไข.
  7. ในการ รายการสิทธิ์ กล่องโต้ตอบ คลิก คุณสมบัติ แท็บ
  8. ในการ คุณสมบัติ แท็บ คลิก วัตถุนี้เท่านั้น ในการ นำไปใช้กับ รายการ และจากนั้น ตรวจสอบให้แน่ใจว่า มีเลือกสิทธิ์ต่อไปนี้ภายใต้ การอนุญาต:
    • อ่าน servicePrincipalName
    • เขียน servicePrincipalName
  9. คลิก ตกลง สามครั้ง และปิดแล้วนี้ แก้ไข ADSI หน้าต่าง
สำหรับความช่วยเหลือเกี่ยวกับกระบวนการนี้ ติดต่อฝ่ายสนับสนุนผลิตภัณฑ์ของไดเรกทอรีที่ใช้งานอยู่ อ้างอิงถึงบทความฐานความรู้ของ Microsoft นี้ถ้าคุณติดต่อบริการสนับสนุนผลิตภัณฑ์

เมื่อคุณทำการแก้ปัญหานี้ คุณขจัดปัญหา SPN สำหรับการติดตั้งใหม่หรือติดตั้งที่มี TCP/IP พอร์ตหรือโดเมนชื่อปรับเปลี่ยน

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

สมมติว่า คุณมีตัวเลือกต่อไปนี้:
  • ตัวอย่างเสมือน SQL ที่ชื่อ Sqlcluster มีสองโหนด: โหนด A และโหนด B.
  • โหนด A จะได้รับการรับรอง โดยตัวควบคุมโดเมน A และโหนด B จะได้รับการรับรอง โดยตัวควบคุมโดเมน B.


ต่อไปนี้อาจเกิดขึ้น:
  1. อินสแตนซ์ของ Sqlcluster ที่จะเปิดใช้งานบนโหนด A และลงทะเบียน SPN SQL ในตัวควบคุมโดเมน A ในระหว่างการเริ่มต้นขึ้น...
  2. อินสแตนซ์ของ Sqlcluster ไม่ผ่านการโหนด B เมื่อโหนด A คือ ปิดเครื่องปกติ
  3. อินสแตนซ์ของ Sqlcluster deregistered ของ SPN จากตัวควบคุมโดเมน A ในระหว่างกระบวนการปิดระบบบนโหนดก.
  4. SPN จะถูกเอาออกจากตัวควบคุมโดเมน A แต่การเปลี่ยนแปลงได้ไม่ได้ถูกทำสำเนาไปยังตัวควบคุมโดเมน B.
  5. เมื่อเริ่มต้นบนโหนด B อินสแตนซ์ Sqlcluster พยายามที่จะลงทะเบียน SPN SQL กับตัวควบคุมโดเมน B. เนื่องจาก SPN ยังคงอยู่โหนด B ลงทะเบียน SPN ไม่
  6. ในบางเวลา ตัวควบคุมโดเมน A เหมือนกับการลบของ SPN (จากขั้นตอนที่ 3) ไปยังตัวควบคุมโดเมน B เป็นส่วนหนึ่งของการจำลองแบบไดเรกทอรีที่ใช้งานอยู่ ผลลัพธ์สุดท้ายคือ SPN ไม่ถูกต้องสำหรับอินสแตนซ์ SQL ในโดเมนอยู่ และนั้น คุณเห็นปัญหาในการเชื่อมต่อกับอินสแตนซ์ของ Sqlcluster

หมายเหตุ ปัญหานี้ได้รับการแก้ไขใน SQL Server 2012

สถานะ

Microsoft ได้ยืนยันว่า นี่เป็นปัญหาใน SQL Server 2000 และ SQL Server 2005

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

สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
235529สนับสนุน Kerberos ในคลัสเตอร์ของเซิร์ฟเวอร์ที่ใช้ Windows 2000
269229 วิธีสร้างบัญชีผู้ใช้บริการคลัสเตอร์ด้วยตนเอง

คุณสมบัติ

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

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

 

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