ฉันจะทำให้เซิร์ฟเวอร์ที่เชื่อมโยงทำงานโดยใช้การรับรองความถูกต้อง Windows ได้อย่างไร


20

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

"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'".

ใน Active Directory ฉันเห็นว่าบัญชีบริการสำหรับ ServerB เชื่อถือได้สำหรับการมอบหมายให้ MSSQLSvc แต่ฉันสังเกตเห็นว่าบัญชีบริการสำหรับ ServerA ยังไม่ได้เปิดใช้งาน "เชื่อใจผู้ใช้นี้สำหรับการมอบหมาย" เซิร์ฟเวอร์เป้าหมายต้องเปิดใช้งานตัวเลือกนั้นด้วยหรือไม่ มีสิ่งใดอีกที่จำเป็นในการใช้การเข้าสู่ระบบ Windows ปัจจุบันเพื่อใช้เซิร์ฟเวอร์ที่เชื่อมโยงหรือไม่

คำตอบ:


22

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

"การเข้าสู่ระบบล้มเหลวสำหรับผู้ใช้ 'NT AUTHORITY \ ANONYMOUS เข้าสู่ระบบ'" มักจะบ่งบอกถึงปัญหาการมอบหมาย

  • บัญชี Windows ของคุณต้องมีสิทธิ์เข้าถึงทั้ง ServerA และ ServerB
  • คุณต้องไม่มีการตั้งค่า "บัญชีมีความละเอียดอ่อนและไม่สามารถมอบหมายได้"
  • ทั้ง ServerA และ ServerB ต้องลงทะเบียน SPN ของตัวเอง
  • เซิร์ฟเวอร์จะต้องเป็น TCP / IP หรือเชื่อมต่อไปป์ที่มีชื่อ

บทความ SQL Server Books Online ที่ให้รายละเอียดเพิ่มเติมบางอย่างคือ "การกำหนดค่าเซิร์ฟเวอร์ที่เชื่อมโยงสำหรับการมอบหมาย": http://msdn.microsoft.com/en-us/library/ms189580(v=sql.105).aspx


1
บล็อก MSDN ที่มีประโยชน์เพื่อดูรายละเอียดเกี่ยวกับ SPN และ Kerberos
Jan Zahradník

ตรวจสอบด้วยว่าคุณใช้ชื่อแทน DNS กับเซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งหรือไม่ SPN นั้นต้องตรงกัน
เกร็ก

-1

สองสิ่งที่นี่:

  1. เมื่อใช้เซิร์ฟเวอร์ที่มีการเชื่อมโยงโดยไม่มีการแมปล็อกอินเซิร์ฟเวอร์ภายในเครื่องกับเซิร์ฟเวอร์ระยะไกลไม่ต้องลงชื่อเข้าใช้เครื่องระยะไกลและใช้การเข้าสู่ระบบ Windows เพื่อเรียกใช้สคริปต์ ปัญหา double hop เกิดขึ้นเนื่องจากใช้การเลียนแบบ

  2. นอกจากนี้คุณจะต้องตั้งค่า DTC ท้องถิ่นผ่าน DCOMCNFG เพื่อการสื่อสาร ดูรูปที่แนบมา

(DCOMCNFG -> บริการคอมโพเนนต์ -> คอมพิวเตอร์ -> คอมพิวเตอร์ของฉัน -> ผู้ประสานงานธุรกรรมแบบกระจาย -> LocalDTC -> คุณสมบัติ -> ความปลอดภัย)

ป้อนคำอธิบายรูปภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.