SQL Server 設定新使用者只能檢視並訪問特定資料庫
阿新 • • 發佈:2020-08-11
解決方案
1、先給不同的服務商建立不同的登入名(如下以一個服務商為例)
2.將登入名加入到public伺服器角色中
3.將public伺服器角色的屬性——>安全物件中取消檢視所有資料庫的許可權
或者執行如下SQL:
REVOKEVIEWANYDATABASETO[public]
4.將待授權的資料庫的dbowner指派給該使用者
執行sql
USE ZYLTEST go EXEC dbo.sp_changedbowner N'zyl'
效果圖
注意:此處的設定不能手動取消,會有錯誤提示:
解決辦法,執行sql修改該資料庫的所有者
USE ZYLTEST go EXEC dbo.sp_changedbowner N'sa'
效果圖
5、此時用登入名'zyl'登入sql server,便只能看到指定的資料庫了
#TIPS
上述方案實現的是-“設定登入使用者只能看到和操作特定資料庫”,如果你只想實現-“設定登入使用者只能操作特定資料庫,但能看到所有資料庫,只是有的資料庫不能操作”
需要對上述方案稍作修改,具體步驟:
1、取消上述方案的第三步;
2、將上述方案的第四步修改為如下操作:
3、效果圖
可以看到所有的資料庫,但是無法檢視未授權的資料內容,如圖提示