สำนักวิทยบริการและเทคโนโลยีสารสนเทศ (สวส.)

Office of Academic Resources and Information Technology

รู้จักกับ Server Role และ Database Role

การกำหนด Server Role
เป็นการแบ่งกลุ่มมาตรฐานที่ SQL Server เตรียมไว้ให้ตามความสามารถในการจัดการกับ ตัวของระบบ มีด้วยกัน 8 กลุ่ม ดังนี้
 
1.sysadmin (System Administrators)
- เป็น Admin ของระบบ สามารถทำได้ทุกงานที่ SQL Server มีให้ทำ
 
2.serveradmin (Server Administrators)
- สามารถแก้ไข เปลี่ยนแปลงค่าคอนฟิกกูเรชั่น (Configuration) ต่าง ๆ ของระบบ
- สามารถสั่ง Shutdown ระบบได้
 
3.setupadmin (Setup Administrators)
- สามารถติดตั้งและคอนฟิก Linked Server รวมทั้ง Replication และกำหนดเกี่ยวกับ Stored Procedures ที่ใช้ในตอนเริ่มต้นของระบบ
 
4.securityadmin (Security Administrators)
- สามารถทำหน้าที่เกี่ยวกับระบบความปลอดภัย เช่น การสร้างและควบคุม login ดูแลสิทธิสำหรับการสร้างฐานข้อมูล รวมถึงการตรวจสอบ SQL Server error log
 
5.processadmin (Process Administrators)
- สามารถทำหน้าที่ควบคุมและดูแลความเป็นไปในการทำงานของระบบ รวมทั้งการ kill process ที่ไม่สมควรออกจากระบบ
 
6.dbcreator (Database Creators)
- สามารถทำหน้าที่จัดการฐานข้อมูล เช่น การสร้าง เปลี่ยนแปลง และลบ
 
7.diskadmin (Disk Administrators)
- ทำหน้าที่ในการกำหนด และจัดการเกี่ยวกับไฟล์ฐานข้อมูล เช่น การกำหนดลักษณะการขยายขนาดฐานข้อมูลด้วยค่า File Growth การนำเข้าฐานข้อมูล (Attach) หรือออก (Detach) จากระบบได้
 
8.bulkadmin (Bulk Insert Administrators)
- ทำคำสั่งเกี่ยวกับ operation Bulk เช่น Bulk Insert
 
การกำหนด Database Role
เป็นการจัดแบ่งกลุ่มความสามารถตามการใช้งานของแต่ละฐานข้อมูล แบ่งออกเป็น 2 ประเภท ดังนี้
- Pre-Defined Database Role
- User-Defined Database Role
 
Pre-Defined Database Role
มีด้วยกัน 9 กลุ่ม ดังนี้
db_owner                             
- ทำหน้าที่ทุกอย่างภายในขอบเขตสำหรับฐานข้อมูลนั้น ๆ รวมถึงการมอบอำนาจให้กับผู้อื่น เข้ามามีสิทธิใน object ที่อนุญาตได้
db_accessadmin                  
- ทำหน้าที่อนุญาตให้ User เข้าถึงฐานข้อมูลได้ หรือเป็นผู้ที่คอยแก้ไขความสามารถในการเข้าถึงฐานข้อมูล ตามสิทธิของแต่ละ user
db_securityadmin                              
- ทำหน้าที่เกี่ยวกับการจัดการระบบรักษาความปลอดภัยภายในฐานข้อมูล เช่น การกำหนด permission, Role และ Object owner ต่าง ๆ
db_ddladmin                       
- ทำหน้าที่จัดการเกี่ยวกับ object ต่าง ๆ ภายในฐานข้อมูล ทั้งการสร้าง เปลี่ยนแปลงแก้ไข ตลอดจนการลบ หรือทำลาย object
db_backupoperator           
- ทำหน้าที่เกี่ยวกับการ backup ฐานข้อมูล
db_datareader                    
- สามารถอ่านข้อมูลจากตารางหรือ view ภายในฐานข้อมูลได้เท่านั้น
db_datawriter                     
- สามารถ insert, delete และ update ข้อมูลผ่านตารางหรือ view ในฐานข้อมูลได้
db_denydatareader                            
- ไม่สามารถอ่านข้อมูลจากตารางหรือ view ภายในฐานข้อมูลได้
db_denywriter                    
- ไม่สามารถทำการแก้ไขหรือเปลี่ยนแปลงข้อมูลด้วยการ insert, delete และ update ข้อมูลผ่าน ตารางหรือ view ในฐานข้อมูลได้
 
User-Defined Database Role
เป็นการกำหนด database role นอกเหนือจากกลุ่มมาตรฐานที่ SQL Server กำหนดให้ เราสามารถสร้างกลุ่มหรือ Role ขึ้นมาได้เองด้วย EM
.