【SQL Server】讓使用者只看見自己能操作的資料庫

在資料庫管理上,使用者只能操作自己的資料庫,但是預設可以看見伺服器上的其他資料庫...感覺上並不是很好...而饅頭嘗試了許久最後向前輩Terry詢問才得到解答。這邊饅頭將當時設定的步驟一一列出,一方面做一個筆記另一方面也幫助正在看這篇文章的你^_^
在開始之前,建立資料庫與新增使用者等部分須請您上網搜尋相關設定與建立方式;另外本篇附註的程式碼均為T-SQL與法

在資料庫管理上,使用者只能操作自己的資料庫,但是預設可以看見伺服器上的其他資料庫...感覺上並不是很好...而饅頭嘗試了許久最後向前輩Terry詢問才得到解答。這邊饅頭將當時設定的步驟一一列出,一方面做一個筆記另一方面也幫助正在看這篇文章的你^_^

在開始之前,建立資料庫與新增使用者等部分須請您上網搜尋相關設定與建立方式;另外本篇附註的程式碼均為T-SQL與法

Step1. 第二部則是先判斷使用者是否已存在於資料庫中了(在SQL Server 2012中會將使用者的權限存放在資料庫中),如果存在的話先把使用著刪除,避免新增權限的時候失敗


USE DBName
go
IF  EXISTS (SELECT * 
            FROM sys.database_principals 
            WHERE name = N'User')
  DROP User
GO

 

Step 2. 新增使用者有權存取資料庫


ALTER AUTHORIZATION ON DATABASE::DBName to User
go

 

Step 3 拒絕使用者看見伺服器上的資料庫


USE MASTER
go 

DENY VIEW ANY DATABASE TO User
go 

 

相關文章

http://www.dotblogs.com.tw/terrychuang/archive/2014/04/24/144855.aspx

 


 

大家好我是饅頭,希望大家喜歡我的文章

如果有錯誤的地方請不吝指教 ^_^