การสร้าง user สำหรับฐานข้อมูล SQL Server

ในการพัฒนาระบบสารสนเทศจะมีการสร้างฐานข้อมูลสำหรับเก็บข้อมูลต่าง ๆ ซึ่งในการสร้างฐานข้อมูลควรคำนึงถึงความปลอดภัยในการเข้าถึงข้อมูล โดยการสร้าง user และกำหนดสิทธิ์การเข้าถึงในแต่ละระบบสารสนเทศ อย่างชัดเจน เพราะส่วนมากแล้วมักจะใช้ user sa กันเป็นส่วนใหญ่ ดังนั้นในการเรียกใช้งานฐานข้อมูล ในแต่ละระบบสารสนเทศ ควรสร้าง user ใหม่และกำหนดสิทธิ์การเข้าถึงข้อมูลอย่างชัดเจน เพราะเมื่อพบปัญหาก็จะสามารถควบคุมสิทธิ์การเข้าถึงข้อมูลได้ง่ายมากยิ่งขึ้น

ขั้นตอนการสร้าง user สำหรับฐานข้อมูล SQL Server มีดังนี้

1.เปิดโปรแกรม SQL Server Management Studio (SSMS) เชื่อมต่อฐานข้อมูลด้วย user : sa

2.คลิกเครื่องหมาย + หน้า security และคลิกขวาที่ Logins เลือก New Login…

3.คลิกเลือก General และกรอกข้อมูล ต่อไปนี้

  • Login name : ชื่อ user ที่ต้องการ
  • เลือก SQL Server authentication
  • Password : รหัสผ่านที่ต้องการ
  • Confirm password : ยืนยันรหัสผ่าน
  • คลิกเครื่องหมาย / ที่ Enforce password expiration ออก (เพื่อไม่ให้ password หมดอายุ)

(กรณีที่ต้องการให้ password มีการหมดอายุ ให้ทำเครื่องหมาย / ที่ Enforce password expiration และสามารถเลือกได้ว่าจะให้มีการเปลี่ยนรหัสผ่านทุกครั้งที่มีการ login มาใหม่หรือไม่ ถ้าต้องการให้เปลี่ยนทุกครั้ง ให้ทำเครื่อง / ที่ User must change password at next login ถ้าไม่ต้องการให้ ทำเครื่อง / ที่ User must change password at next login ออก)

** กรณีที่ลืมนำเครื่องหมาย / ที่ Enforce password expiration ออก และต้องการนำออก ให้ใช้คำสั่งแทน เนื่องจากโปรแกรมจะไม่ให้แก้ไข

USE Master

GO

ALTER LOGIN ชื่อ user ที่ต้องการ WITH PASSWORD = ‘รหัสผ่าน’

GO

ALTER LOGIN ชื่อ user ที่ต้องการ  WITH

CHECK_EXPIRATION = OFF;

ตัวอย่าง

USE Master

GO

ALTER LOGIN newuser WITH PASSWORD = ‘passnewuser

GO

ALTER LOGIN newuser WITH

CHECK_EXPIRATION = OFF;

 

4.คลิกเลือก User Mapping

เป็นส่วนที่สำคัญมาก เนื่องจาก User map จะเป็นการกำหนดสิทธิ์ว่ามีสิทธิ์การเข้าถึงฐานข้อมูลอะไรบ้าง และ สามารถจัดการกับฐานข้อมูลนั้นได้อย่างไรบ้าง ซึ่งจะแบ่งเป็น 2 ส่วน

ส่วนที่ 1 Users mapped to this login จะเป็นการกำหนดสิทธิ์ว่ามีสิทธิ์การเข้าถึงฐานข้อมูลอะไรบ้าง 

ส่วนที่ 2 Database role membership for จะเป็นการกำหนดว่าสามารถจัดการกับฐานข้อมูลนั้นได้อย่างไรบ้าง โดยสามารถเลือกได้หลายหน้าที่การทำงาน แต่ส่วนใหญ่ที่ใช้จะเป็น

db_owner – สามารถจัดการได้เหมือน user : sa

db_ddladmin  – สามารถจัดการเกี่ยวกับ object ต่าง ๆ ภายในฐานข้อมูล ทั้งการสร้าง เปลี่ยนแปลงแก้ไข ตลอดจนการลบ หรือทำลาย object

db_datareader – สามารถ select ข้อมูลจากตารางหรือ view ภายในฐานข้อมูลได้เท่านั้น

db_datawriter – สามารถ insert, delete และ update ข้อมูลผ่านตารางหรือ view ในฐานข้อมูลได้เท่านั้น

กรอกข้อมูลเรียบร้อยแล้วคลิกปุ่ม OK

5.คลิกเครื่องหมาย + หน้า Logins จะเห็น user ที่ได้สร้างใหม่ (ถ้าไม่เห็นให้คลิกขวาที่ Logins แล้วคลิก Refresh)

กรณีที่มีการสร้าง stored procedure ต้องกำหนดเพิ่มเติม ดังนี้

1.คลิกขวาที่ฐานข้อมูล แล้วเลือก Properties

2.คลิกเลือก Permission กรอกข้อมูลดังนี้

  • Users or roles: เลือก user ที่ต้องการ
  • Permissions : แท็บ Explicit  หาคำว่า Execute แล้วคลิกเครื่อง / ที่ Grant

3.เลือกเรียบร้อยแล้วคลิกปุ่ม OK