SQL Server 設置新用戶只能查看並訪問特定數據庫


解決方案

 

1、先給不同的服務商創建不同的登錄名(如下以一個服務商為例)



2.將登錄名加入到public服務器角色中



3.將public服務器角色的屬性——>安全對象中取消查看所有數據庫的權限

或者執行如下SQL:

REVOKE VIEW ANY DATABASE TO [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、效果圖

  可以看到所有的數據庫,但是無法查看未授權的數據內容,如圖提示

 

原文鏈接:https://www.cnblogs.com/willingtolove/p/9122738.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM