在數據庫管理中,常需精確控制特定用戶的訪問權限。例如,僅授予某用戶訪問特定表的權限,甚至細化到該表的 CRUD(增刪改查)操作,或進一步限制到幾個敏感欄位。本文將通過圖文並茂的方式,詳細演示這一操作流程,幫助初學者快速掌握 SQL Server 2005 的權限管理基礎。
打開 SQL Server Management Studio,展開伺服器節點,依次進入【安全性】→【登錄名】,右鍵選擇【新建登錄名】。

圖 1:新建登錄名介面
在【常規】頁籤中,輸入登錄名(如 TestUser),選擇「SQL Server 驗證」並設定密碼,指定預設資料庫為目標資料庫(如 TestLog)。

圖 2:設定登錄名與預設資料庫
切換到【用戶映射】頁籤,勾選目標資料庫(TestLog),在「架構」欄選擇 dbo(或其他所需架構),點擊【確定】完成用戶建立。

圖 3:映射資料庫與設定架構
展開 TestLog 資料庫,右鍵目標表(如 User 表)選擇【屬性】,進入【權限】頁籤。

圖 4:開啟表屬性視窗
在權限頁籤點擊【添加】→【瀏覽】→【選擇對象】,輸入剛建立的 TestUser,確定後在權限列表中勾選所需權限(如 SELECT、INSERT、UPDATE、DELETE)。

圖 5:為用戶分配表級權限
若需控制特定欄位,點擊右下角【列權限】按鈕,在彈出視窗中為各欄位單獨設定 SELECT 或 UPDATE 權限,完成後點擊【確定】。

圖 6:欄位級權限設定介面
使用 TestUser 登入 SSMS,展開資料庫表節點,將僅能看到已授權的 User 表,其他表將不可見。

圖 7:用戶視角下的表可見性

圖 8:未映射資料庫導致用戶不可見

圖 9:刪除資料庫用戶的提示

圖 10:欄位權限生效時的報錯示例

圖 11:資料庫級可授權的對象類型