Sql-Server

如何限制 SSMS 列出特定使用者的數據庫(Windows 2012 + Plesk)

  • November 24, 2019

我們使用帶有 Plesk 的 windows 2012 R2 伺服器並為我們的客戶提供共享主機。

版本詳細資訊:MSSQL 伺服器 2012 和 SSMS 11.0.2100.60

在 SSMS 中,如果我們使用特定使用者登錄,它會顯示所有數據庫而不是特定使用者的數據庫。向所有使用者顯示所有數據庫,這是一個安全問題。(雖然,他們無法訪問數據庫,只顯示名稱)。

我該如何限制它,只顯示屬於該特定使用者的數據庫。

至少使用 SQL Server Management Studio -16.3,您可以右鍵點擊DatabasesSSMS 中的節點並添加過濾器以限制顯示該使用者擁有的數據庫。

在此處輸入圖像描述

在 SQL Server 中,限制只能查看一個數據庫是不可能的。您可以看到所有內容,也可以什麼也沒有看到(master 和 tempdb 除外)。隱藏所有數據庫可以通過以下步驟實現:

右鍵點擊對象資源管理器中的實例 –> 屬性 –> 權限 –> 公共 –> 取消選中授予:‘查看任何數據庫’。

在這種情況下,只有 db_owner 和 sysadmin 可以看到數據庫。db_owner 只能看到他擁有的那個,而 sysadmin 可以看到所有。再次授予 db_owner 權限不是一個好主意,因為在 db 級別它是最高權限。一個數據庫也只能有一個所有者。希望 MS 能盡快解決這個問題。

引用自:https://dba.stackexchange.com/questions/203747