Tuesday, June 3, 2014

SQL Server Users and Role Assignments


การสร้าง usesr proxyCMAH ด้วย Management Studio
สร้าง role ใน Master database

Role
Permission
CMAH_SYS
EXECUTE ON [sys].[sp_OADestroy]
EXECUTE ON [sys].[sp_OACreate]
EXECUTE ON [sys].[sp_OAMethod]
EXECUTE ON [sys].[sp_OASetProperty]



สร้าง role ใน CMAH database

Role
Permission
CMAH_APP
Default

เพิ่ม user proxyCMAH เข้า role CMAH_APP
db_owner
Add CMAH_APP role to this role




ตรวจสอบ Server Roles



ทำ User Mapping  และตรวจสอบ Database role



การสร้าง user ด้วย SQL script
หากต้องการเปลี่ยนชื่อให้แทนที่ proxyCMAH_RPT ด้วยชื่อที่ต้องการ

  1. สร้าง User login หากยังไม่มี
USE [master]
GO
CREATE LOGIN [proxyCMAH_RPT] WITH PASSWORD=N'P@ssw0rd', DEFAULT_DATABASE=[CMAH], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
  1. สร้าง Role ใหม่และ Grant Privilege เข้า Role ใน Master database เพื่อใช้งาน System Stored Procesure
USE [master]
GO
CREATE ROLE [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OACreate] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OADestroy] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OAGetErrorInfo] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OAGetProperty] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OAMethod] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OASetProperty] TO [CMAH_RPT]
GO
use [master]
GO
GRANT EXECUTE ON [sys].[sp_OAStop] TO [CMAH_RPT]
GO
  1. สร้าง User ใน Master Database และ Assign role ที่สร้างไว้
USE [master]
GO
CREATE USER [proxyCMAH_RPT] FOR LOGIN [proxyCMAH_RPT] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [master]
GO
EXEC sp_addrolemember N'CMAH_RPT', N'proxyCMAH_RPT'
GO
  1. สร้าง User ใน MSDB database และ Assign role วำหรับจัดการ Job ได้
USE [msdb]
GO
CREATE USER [proxyCMAH_RPT] FOR LOGIN [proxyCMAH_RPT] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [msdb]
GO
EXEC sp_addrolemember N'SQLAgentOperatorRole', N'proxyCMAH_RPT'
GO
  1. สร้าง Role ใหม่
USE [CMAH]
GO
CREATE ROLE [CMAH_RPT]
GO
  1. Grant role ที่สร้างขึ้นใหม่เข้าใน role db_owner
USE [CMAH]
GO
EXEC sp_addrolemember N'db_owner', N'CMAH_RPT'
GO
  1. สร้าง User ใน CMAH database และ Assign role ใหม่ที่สร้าง
USE [CMAH]
GO
CREATE USER [proxyCMAH_RPT] FOR LOGIN [proxyCMAH_RPT] WITH DEFAULT_SCHEMA=[dbo]
GO
USE [CMAH]
GO
EXEC sp_addrolemember N'CMAH_RPT', N'proxyCMAH_RPT'
GO


No comments:

Post a Comment