| 預存程序 | 功能 | 關鍵參數 |
|---|---|---|
sp_addlogin | 建立伺服器層級登入帳號 | @loginame, @passwd, @defdb, @deflanguage |
sp_adduser | 在資料庫建立使用者對應登入 | @loginame, @name_in_db, @grpname |
sp_droplogin | 移除伺服器登入帳號 | @loginame |
sp_dropuser | 移除資料庫使用者 | @name_in_db |
sp_grantdbaccess | 授權登入存取資料庫 (同 sp_adduser) | @loginame |
sp_addrolemember | 將使用者加入資料庫角色 | @rolename, @membername |
sp_droprolemember | 從角色移除使用者 | @rolename, @membername |
sp_password | 變更登入密碼 | @old, @new, @loginame |
sp_defaultdb | 變更預設資料庫 | @loginame, @defdb |
sp_helplogins | 檢視登入帳號資訊 | @loginame (選填) |
-- 1. 建立登入帳號 (master)
EXEC sp_addlogin 'app_user', 'P@ssw0rd!', 'AppDB'
-- 2. 切換至目標資料庫建立使用者
USE AppDB
EXEC sp_grantdbaccess 'app_user'
-- 3. 加入 db_owner 角色
EXEC sp_addrolemember 'db_owner', 'app_user'
db_owner,建立自訂角色僅授必要權限 (SELECT, EXECUTE 等)sp_setapprole 讓應用以角色身分連線,不直接使用 SQL 登入-- 建立登入
CREATE LOGIN app_user WITH PASSWORD = 'P@ssw0rd!', DEFAULT_DATABASE = AppDB;
-- 建立使用者
USE AppDB;
CREATE USER app_user FOR LOGIN app_user;
-- 授權
ALTER ROLE db_owner ADD MEMBER app_user;
-- 或精細權限
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO app_user;
掌握系統預存程序與現代 DDL 語法,配合最小權限與稽核機制,即可建立安全、可維護的 SQL Server 帳號權限管理體系。