實務上, 當我們開放資料庫給其他人存取時, 通常不會給管理者帳密讓他們去連資料庫, 而是新增一個新User並給予適當的權限, 以下就是實作步驟
首先,
建立一個帳號用來登陸SQL Server
(這個SQL語法必須對master資料庫執行)
CREATE LOGIN [abotuserlogin] WITH PASSWORD='ooo12345678'
GO
CREATE USER [aauser] FOR LOGIN [abotuserlogin]
GO
針對要開放的資料庫新增使用者
在Object Explorer上右鍵你想要動的資料庫
CREATE USER [aauser] FOR LOGIN [abotuserlogin]
GO
有了使用者之後我們就可以來設定權限
基本上有兩種方法
- 設定Role(通常一個Role就包含數個權限)
- 直接調整權限
總共有底下這麼多權限可以使用
若只想要開放資料的增刪修查, 那可以增加db_datareader, db_datawrite這兩個Role
EXEC sp_addrolemember 'db_datareader', [aauser];
GO
EXEC sp_addrolemember 'db_datawriter', [aauser];
GO
注意: 上面給的權限只能用來處理資料, 所以如果要加Table或是砍Table的話, 會出現access denied 的喔
最後,
如果這個User用不到了, 想要刪除的話,
可以Security 下找到我們剛剛加的 abotuserlogin
還有我們剛剛新增的aauser
右鍵這些名稱, 我個就可以看到刪除選項
Ref:
https://azure.microsoft.com/en-us/blog/adding-users-to-your-sql-azure-database/
https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles
https://docs.microsoft.com/en-us/sql/t-sql/lesson-2-4-granting-access-to-a-database-object
留言
張貼留言