文章出處
文章列表
背景
客戶的SQL Server實例上有多個廠商的數據庫,每個數據庫由各自的進行廠進行商維護,
為了限定不同廠商的維護人員只能訪問自己的數據庫,現需要給各個廠商限定權限,讓他們登錄SQL Server只能看到授權的數據庫而無法看到其他數據庫。
解決方案
1.先給不同的廠商創建不同的登錄名(如下以一個廠商為例)
2.將登錄名加入到public服務器角色中,然后點擊確定
3.將public服務器角色的屬性——>安全對象中取消查看所有數據庫的權限
或者執行如下SQL:
REVOKE VIEW ANY DATABASE TO [public]
4.將待授權的數據庫的dbowner指派給該用戶
Use [xjcs] go EXEC dbo.sp_changedbowner N'provider1'
此時用'provider1'登錄SQL Server,便只能看到指定的用戶數據庫了(系統數據庫除外)
說明:
我之前希望在第2個步驟中設置登錄名的用戶映射來實現這個需求,如下圖,但沒有效果,登錄到SQL Server后還是無法看到用戶數據庫,
所以才采用上述方法:
文章列表
全站熱搜