การเพิ่มผู้ใช้ผู้ดูแลระบบให้กับ SQL Server 2008


คำตอบ:


28

หากคุณทำผ่าน T-SQL:

การให้สิทธิ์การเข้าสู่ระบบ Windows เพื่อเชื่อมต่อกับ SQL Server:

CREATE LOGIN [Domain\User] FROM WINDOWS;

หรือ

CREATE LOGIN [Domain\Group] FROM WINDOWS;

ถ้าเข้าสู่ระบบโดยใช้ SQL Server:

CREATE LOGIN [LoginName] WITH PASSWORD = 'SomePassword';

หลังจากนั้นคุณสามารถทำหนึ่งในสองสิ่งนี้ คุณสามารถเพิ่มลงในการเป็นสมาชิกของบทบาทเซิร์ฟเวอร์ถาวร sysadmin โดยใช้ sp_addsrvrolemember:

EXEC sp_addsrvrolemember 'LoginName', 'sysadmin';

หรือคุณสามารถให้สิทธิ์การควบคุมการเข้าสู่ระบบเซิร์ฟเวอร์:

GRANT CONTROL SERVER TO [LoginName];

12

ก่อนหน้านั้นฉันคิดว่าเราต้องสามารถเข้าสู่ระบบ SQL Server ก่อน ฉันเคยเป็นผู้ดูแลเซิร์ฟเวอร์ แต่ไม่สามารถเข้าสู่ระบบได้เนื่องจาก SQL Server ถูกติดตั้งโดยบัญชี Domain Admin

ดังนั้นคุณอาจต้องเริ่ม SQL Server ด้วยตัวเลือกบรรทัดคำสั่ง-m(โหมดผู้ใช้คนเดียว)

sqlservr.exe -m 

จากนั้นทำตามที่K. Brian Kelley กล่าวหรือเชื่อมต่อผ่านสตูดิโอการจัดการตามที่ Jeff แนะนำไว้ (การล็อกอินจะสำเร็จ)

คำแนะนำเพิ่มเติมทีละขั้นตอนสามารถพบได้ในSQL Server 2008: ลืมที่จะเพิ่มบัญชีผู้ดูแลระบบ?


ขอบคุณสำหรับสิ่งนี้. ฉันเคยติดตั้ง SQL Server 2008 มาก่อนไม่ว่าจะด้วยเหตุผลใดก็ตามฉันไม่สามารถลงชื่อเข้าใช้ด้วย SSMS ได้ การปฏิบัติตามคำแนะนำของคุณเป็นสิ่งที่ฉันต้องทำเพื่อแก้ไขการเข้าสู่ระบบบัญชีดูแลระบบ
Jim Schubert

9

เพื่อความสมบูรณ์วิธีการของ GUI

จาก SQL Server Management Studio ภายใต้โฟลเดอร์Security / Loginsสำหรับฐานข้อมูลคลิกขวาเข้าสู่ระบบและเลือกเข้าสู่ระบบใหม่:

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


3

อืมมีสองสิ่งที่ต่างกันซึ่งอาจหมายถึง

  1. ฉันจะสร้างบัญชีผู้ใช้ใหม่ที่มีสิทธิ์ระดับผู้ดูแลได้อย่างไร
  2. ฉันมีผู้ใช้ windows ที่เป็นผู้ดูแลระบบแล้วฉันจะเพิ่มผู้ใช้นั้นใน SQL ได้อย่างไร

คำตอบ:

  1. ใน SQL Management Studio ให้สร้างการเข้าสู่ระบบใหม่และเพิ่มลงในบทบาทเซิร์ฟเวอร์ sysadmin
  2. ใน SQL Management Studio สร้างล็อกอินที่เชื่อมต่อกับบัญชี Windows หรือกลุ่มที่เป็นสมาชิก คุณอาจพบว่า BUILTIN \ Administrators มีอยู่แล้ว

3

เนื่องจากไม่มีคำตอบที่สมบูรณ์สำหรับฉันในการแก้ปัญหานี้นี่คือสิ่งที่ฉันทำสำหรับ SQLServer 2014

  • หยุดอินสแตนซ์ SQL Server (แท็บบริการ)
  • เริ่มอินสแตนซ์ SQL Server (แท็บบริการใช้พารามิเตอร์เริ่มต้น -m)
  • เปิดคำสั่ง sql shell (ในฐานะผู้ดูแลระบบ): sqlcmd -S <instance name> -E

พิมพ์ต่อไปนี้ในเปลือก

CREATE LOGIN [<DOMAIN>\<user>] FROM WINDOWS
go
exec sp_addsrvrolemember @loginame='<DOMAIN>\<user>', @rolename='sysadmin'
go
  • หยุดอินสแตนซ์ SQL Server (แท็บบริการ)
  • เริ่มอินสแตนซ์ SQL Server (แท็บบริการลบพารามิเตอร์เริ่มต้น -m)

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