SQL Server: วิธีหลีกเลี่ยงสิทธิ์ดูแลระบบ แต่ให้สิทธิ์อย่างเพียงพอ


9

ฉันมีเพื่อนร่วมงานที่ต้องการเข้าถึงอินสแตนซ์ SQL Server 2008 หนึ่งรายการ ฉันจะต้องให้สิทธิ์กับเขาในกรณีนี้ เขาควรมีสิทธิ์ทำเช่น

  • เพิ่มและแก้ไขการเข้าสู่ระบบเซิร์ฟเวอร์
  • เพิ่มและแก้ไขแผนการบำรุงรักษา (เช่นสร้างการสำรองข้อมูลจากฐานข้อมูล)
  • ตัวแทนกำหนดการ

ฉันไม่ต้องการให้สิทธิ์ดูแลระบบแก่เขาเขาควรจะได้รับสิทธิอะไรบ้าง

คำตอบ:


10

สำหรับการเข้าสู่ระบบเซิร์ฟเวอร์คุณสามารถให้สิทธิ์"securityadmin" วิธี "ที่ใหม่กว่า" คือการเรียกใช้

GRANT ALTER ANY LOGIN TO AColleague

แก้ไข: Securityadmin อนุญาตให้ใครบางคนบูตตัวเองเพื่อดูแลระบบ ไม่ดี. ไม่ทราบวิธีแก้ปัญหานี้ในระดับเซิร์ฟเวอร์

สำหรับงานดูที่"บทบาทเซิร์ฟเวอร์ฐานข้อมูลตัวแทนคงที่ของSQL"

สำหรับแผนการบำรุงรักษาดูเหมือนว่า "ดูแลระบบ" เท่านั้น


ขอบคุณมีการระบุไว้ใน BOL: msdn.microsoft.com/en-us/library/ms188659.aspx?ppud=4ว่า securityadmin ควรได้รับการปฏิบัติเหมือนเป็นบทบาทเซิร์ฟเวอร์ sysadmin มีวิธี จำกัด สิทธิ์การเข้าถึงความปลอดภัยให้กับการเข้าสู่ระบบหรือไม่? หรือว่า "แกรนท์จะเปลี่ยนการเข้าสู่ระบบของ AColleagu" ทำเช่นนั้นหรือไม่?
jrara

@jrara: securityadmin เพียงพอหรือแกรนท์
gbn

2
ควรถือว่าเป็น sysadmin เนื่องจากการให้สิทธิ์ securityadmin อนุญาตให้ผู้ใช้อนุญาตสิทธิ์ sysadmin สำหรับบทบาทของตนเอง

@jrara: ในกรณีนี้คุณไม่สามารถใช้ securityadmin ในบทบาท db% หลักการและสิทธิ์จะถูกแยกออกจากกัน มันเป็นเรื่องปกติที่จะไม่ให้บทบาทของเซิร์ฟเวอร์ใด ๆ ยกเว้นบางที BulkAdmin
GBN

5

เพียงแค่คุณมีสิ่งที่จะรอใน SQL Server Denali นี้จะมีความยืดหยุ่นมากยิ่งขึ้น แทนที่จะให้สิทธิ์แบบทีละตัวคุณจะสามารถกำหนดบทบาทเซิร์ฟเวอร์ที่กำหนดเองกำหนดสิทธิ์ทั้งหมดให้กับบทบาทจากนั้นเพิ่มสมาชิกในบทบาท บางคนมีบล็อกเกี่ยวกับมัน:

http://www.sqlsoldier.com/wp/sqlserver/customserverrolesindenali

http://www.straightpathsql.com/archives/2010/11/create-your-own-sql-server-server-roles/

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