如何讓用戶只能訪問特定的數據庫(MSSQL)
背景
客戶的SQL Server實例上有多個廠商的數據庫,每個數據庫由各自的進行廠進行商維護,
為了限定不同廠商的維護人員只能訪問自己的數據庫,現需要給各個廠商限定權限,讓他們登錄SQL Server只能看到授權的數據庫而無法看到其他數據庫。
解決方案
1.先給不同的廠商創建不同的登錄名(如下以一個廠商為例)
2.將登錄名加入到public服務器角色中,然后點擊確定
3.將待授權的數據庫的dbowner指派給該用戶
Use [xjcs] go EXEC dbo.sp_changedbowner N'provider1'
此時用'provider1'登錄SQL Server,便只能看到指定的用戶數據庫了(系統數據庫除外)
說明:
我之前希望在第2個步驟中設置登錄名的用戶映射來實現這個需求,如下圖,但沒有效果,登錄到SQL Server后還是無法看到用戶數據庫,
所以才采用上述方法:
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!