NOTE: ตรวจสอบ User ก่อนว่า Instane มี User นี้ หรือป่าว ? ถ้าไม่ก็สร้าง

ตรวจสอบ User ก่อนว่า Instane มี User นี้ หรือป่าว ? ถ้าไม่ก็สร้าง

IF  NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = N'intest')

CREATE LOGIN [intest] WITH PASSWORD = 0x0100E1BCBAF63A22EDDC4FCEE2551E32A45C51363F0A9AD4D95F HASHED, SID = 0x1B16028920ADF147BA9744E7CAE21EBF, DEFAULT_DATABASE = [master], CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF

GO

IF  NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = N'bananaa')

CREATE LOGIN [bananaa] WITH PASSWORD = 0x01004D0ACBE8F6923518FBFCE9832985129E2ECB2A2B23DA99C3 HASHED, SID = 0x5AAEDC9C5626F345AD2052EE739879FE, DEFAULT_DATABASE = [master], CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF

GO

จัดการ user ของ DB + สิทธิ

  • จัดการ user ของ DB
  • เอาสิทธิ์การเป็นเจ้าของ Schema จาก ไปให้ dbo
ALTER AUTHORIZATION ON SCHEMA::INVEST TO dbo;
  • ลบ User ของ DB
DROP USER [intest];
DROP USER [bananaa];
  • สร้าง User ใหม่
CREATE USER bananaa FOR LOGIN bonanza WITH DEFAULT_SCHEMA = INVEST;

CREATE USER intest FOR LOGIN invest WITH DEFAULT_SCHEMA = INVEST;

Go
  • ใส่ Role ให้เป็น DB OWNER
EXEC sp_addrolemember 'db_owner', 'bananaa'
Go

EXEC sp_addrolemember 'db_owner', 'intest'
Go
  • คืนสิทธิ์ให้ไป
ALTER AUTHORIZATION ON SCHEMA::INVEST TO bananaa;

ปล. คำสั่งบางส่วนพวก Create user ของ InstanceGen มาจาก http://support.microsoft.com/kb/918992 ผมได้เพิ่ม Store ตาม 2 ตัวใน DB ของ AKTB มันจะมี sp_help_revlogin / sp_hexadecimal

ให้รันตัว sp_help_revlogin จะได้ SQL ตามด้านล่าง

CREATE LOGIN [intest] WITH PASSWORD = 0x0100E1BCBAF63A22EDDC4FCEE2551E32A45C51363F0A9AD4D95F HASHED, SID = 0x1B16028920ADF147BA9744E7CAE21EBF, DEFAULT_DATABASE = [master], CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF

 Reference


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts sent to your email.