1. 程式人生 > 其它 >【MSSQL】SQL Server 設定使用者只能檢視並訪問特定資料庫

【MSSQL】SQL Server 設定使用者只能檢視並訪問特定資料庫

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、效果圖

  可以看到所有的資料庫,但是無法檢視未授權的資料內容,如圖提示

出處:http://www.cnblogs.com/willingtolove/