จะสร้างการล็อกอินของ sql Server สำหรับบัญชีโดเมนได้อย่างไร


14

ทั้งหมด

ฉันติดตั้ง Sql Server 2008 บนเซิร์ฟเวอร์ (สมมติว่าServer1 ) ในโดเมน (สมมุติว่าAD ) ฉันยังมีบัญชีโดเมนที่เรียกว่าAD \ Sql1 นี้ไม่ได้เป็นบัญชีผู้ดูแลระบบในโดเมน ( AD ) แต่ฉันต้องการให้เป็นผู้ดูแลระบบบนServer1 จากนั้นสร้างการเข้าสู่ระบบบนเซิร์ฟเวอร์ SQL สำหรับบัญชีโดเมนนั้น (ไม่ใช่บัญชีท้องถิ่น)

ฉันจะทำอย่างไร

คำถาม:

  1. ผู้ใช้AD \ Sql1ผมต้องการให้เขาเป็นผู้ดูแลระบบServer1 เพื่อที่ฉันจะสร้างบัญชีท้องถิ่นที่มีชื่อผู้ใช้เดียวกัน (สมมติว่าServer1 \ Sql1 ) และทำให้บัญชีท้องถิ่นเป็นผู้ดูแลระบบบนเครื่อง บัญชีท้องถิ่นนั้นจะถูกแมปกับบัญชีโดเมนที่มีชื่อเดียวกันโดยอัตโนมัติหรือไม่ อาจเป็นฉันควรเพิ่มที่นี่ที่CREATE LOGIN [AD\Sql1] FROM WINDOWSไม่ได้ผลสำหรับฉัน ฉันพยายามและได้รับข้อผิดพลาดที่บอกว่าuser does not exist in Windows(เช่นนั้น)
  2. ทีนี้ถ้าเทคนิคข้างต้นใช้ได้ผล ให้ถือว่าAD \ Sql1กลายเป็นผู้ดูแลระบบของSever1 ในทางทฤษฎีแล้วฉันไม่จำเป็นต้องสร้างการเข้าสู่ระบบ Sql สำหรับบัญชี Windows Domain นั้นบนเซิร์ฟเวอร์ Sql ใช่ไหม ผู้ดูแลระบบในพื้นที่ทั้งหมดที่เป็นส่วนหนึ่งของBUILTIT \ Adminsจะมีสิทธิ์ดูแลระบบโดยอัตโนมัติเพื่อเข้าถึง Sql Server ใช่ไหม

ฉันไปผิดที่ไหน โปรดแบ่งปัน URL ที่สามารถอธิบายแนวคิดนี้ได้ดีขึ้น

แก้ไข:ฉันควรเพิ่มว่าคำถาม 1 และ 2 มีความสำคัญอย่างอิสระ ฉันรู้วิธีการเพิ่มโดเมน / sysadminหน้าต่างบัญชีเป็น แต่ฉันสนใจว่าการจับคู่ทำงานระหว่างโดเมนกับบัญชีท้องถิ่นได้อย่างไร เป้าหมายของฉันที่นี่ไม่ใช่วิธีเพิ่มบัญชีท้องถิ่นในฐานะดูแลระบบฉันสามารถทำได้อย่างรวดเร็ว ความตั้งใจของฉันคือไม่หยาบคาย แต่ต้องชัดเจนให้มากที่สุด หากคำถามของฉันยังไม่ชัดเจนโปรดแจ้งให้เราทราบเพื่อให้ฉันสามารถเพิ่มรายละเอียดเพิ่มเติม

ขอบคุณ
_UB

แก้ไข: ไวยากรณ์

คำตอบ:


13

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

  • สร้างการเข้าสู่ระบบสำหรับบัญชีโดเมน: create login [AD\Sql1] from windows;
  • เพิ่มการเข้าสู่ระบบไปยังกลุ่มดูแลระบบ: exec sp_addsrvrolemember 'AD\Sql1', 'sysadmin';

เสร็จสิ้น คุณจะได้ผลลัพธ์เดียวกันหากคุณเพิ่มAD\Sqlบัญชีไปยังผู้ดูแลระบบท้องถิ่นผ่านทางnet localgroup Administrators /add AD\Sql1(จากเชลล์ CMD) แต่นั่นไม่ใช่วิธีการแก้ไขที่ถูกต้องเนื่องจากจะให้AD\Sql1สิทธิ์ผู้ดูแลระบบ NT ทั้งหมดนอกเหนือจากการให้สิทธิ์ผู้ดูแลระบบ SQL แก่เขา ตามที่ระบุไว้ในข้อกำหนดดังนั้นจึงเป็นการยกระดับที่ไม่จำเป็น BTW กฎที่สมาชิกของกลุ่มผู้ดูแลระบบท้องถิ่นคือผู้ดูแลระบบ SQL ไม่ได้มีความหมายโดยนัยเป็นสิทธิ์ที่ชัดเจนที่ได้รับตามค่าเริ่มต้นในระหว่างการติดตั้ง SQL และสามารถเพิกถอนได้ดังนั้นคุณต้องตรวจสอบ


ขอบคุณความคิดเห็นนี้มีข้อมูลบางอย่างที่ฉันสามารถใช้ได้ แต่ฉันมีคำถามติดตาม เมื่อฉันพยายามเพิ่มการเข้าสู่ระบบโดยใช้ Sql CREATE LOGIN [AD\Sql1] FROM WINDOWSฉันพบข้อผิดพลาดว่าผู้ใช้ไม่มีอยู่ใน Windows ดังนั้นฉันต้องเพิ่มเขาเหมือนที่เคยใช้กับเครื่องของท้องถิ่น
UB01

ฉันจะดูในจุดที่คุณพูดถึงเกี่ยวกับ 'ผู้ดูแลระบบในท้องที่โดยค่าเริ่มต้นsysasminsบนเครื่อง' ขอบคุณฉันจะอ่านให้ดี แต่การทำแผนที่ทำงานอย่างไร ระหว่างบัญชีโดเมนกับบัญชีท้องถิ่นที่มีชื่อเดียวกัน
UB01

หากเครื่องที่ติดตั้งอินสแตนซ์ของ SQL Server เป็นส่วนหนึ่งของโดเมนคุณควรจะสามารถเพิ่มบัญชีโดเมนได้โดยไม่มีปัญหาใด ๆ
JackLock

เอาล่ะนั่นคือสิ่งที่ผมคิดว่า ...user could not be found in windowsแต่ฉันเก็บรับข้อผิดพลาดนี้: อาจจะมีสิ่งอื่นเกิดขึ้น ฉันจะตรวจสอบอีกครั้ง
UB01

1
ผมได้รับข้อผิดพลาดว่าที่ผู้ใช้ไม่ได้อยู่ใน Windows : หมายความว่าเครื่องโฮสต์ SQL ADของคุณไม่ได้เป็นสมาชิกของโดเมนโฆษณาหรือสมาชิกของโดเมนที่ไว้ใจ คุณควรเพิ่มเครื่องในโดเมน AD ตอนนี้คุณกำลังดำเนินการตามวิธีการ 'บัญชีที่ทำมิเรอร์ NT' (อาจไม่มีที่รู้ว่าคุณกำลังทำ ... ) และนี่เป็นวิธีการที่ผิด เพิ่มเครื่องโฮสต์ SQL ไปยังโดเมน AD
Remus Rusanu

2

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


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

SID ถูกสร้างใน db หลักสำหรับบัญชีใด ๆ โดเมนหรือเซิร์ฟเวอร์ SQL บัญชีเท่านั้น
Eric Higgins

SID created for each account..เป็นแนวคิดที่ฉันเข้าใจ ให้ฉันยกตัวอย่างให้คุณ: เป็นAD\Sql1เหมือนบัญชีServer1\Sql1บนเซิร์ฟเวอร์ แต่ละคนมีรหัสความปลอดภัยแยกต่างหากซึ่งถูกแมปเพื่อให้ระบบปฏิบัติการทราบว่าเป็นรหัสเดียวกันหรือไม่ สิ่งนี้เกิดขึ้นหรือไม่ (ฉันเดาได้เท่านั้นฉันไม่รู้)
UB01

ฉันเห็น. คุณพยายามเข้าใจ Windows มากกว่าที่ฉันคิด บัญชี AD และ Windows ท้องถิ่นไม่เหมือนกัน (แม้ว่าชื่อจะเหมือนกัน) ต่อไปนี้เป็นข้อมูลเกี่ยวกับวิธีการใช้ SID ของโดเมนการเข้าถึงโทเค็น ฉันหวังว่านี่จะช่วยได้: technet.microsoft.com/en-us/library/cc785913(v=ws.10).aspx
Eric Higgins

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