Sqlserver中 登录用户只能看到自己拥有权限的库
生活随笔
收集整理的這篇文章主要介紹了
Sqlserver中 登录用户只能看到自己拥有权限的库
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Sqlserver中 登錄用戶只能看到自己擁有權(quán)限的庫
轉(zhuǎn)自:https://www.cnblogs.com/huangtailang/p/4209180.html SSMS設(shè)置:https://www.cnblogs.com/willingtolove/p/9122738.html 問題背景:公司的一臺(tái)數(shù)據(jù)庫服務(wù)器上放在多個(gè)數(shù)據(jù)庫,每個(gè)數(shù)據(jù)庫都使用不同的登錄名稱,但在將項(xiàng)目文件發(fā)布到Ftp時(shí),有些Ftp的信息是在客戶那邊的 一旦客戶那邊使用配置文件中的數(shù)據(jù)庫信息連接到數(shù)據(jù)庫他就能夠看到服務(wù)器上所有的數(shù)據(jù)庫,雖然它不能訪問其他的數(shù)據(jù)庫但還是有安全隱患的 現(xiàn)在我需要的是指定的登錄用戶只能看到并訪問它自己的數(shù)據(jù)庫而不能看到其他的數(shù)據(jù)庫,于是在網(wǎng)絡(luò)上找到解決方案 --創(chuàng)建測(cè)試數(shù)據(jù)庫 Create database Test; USE master GO --通過sp_addlogin創(chuàng)建登錄名 --TestUser:用戶登陸賬號(hào) --Test123456:用戶登陸密碼 execute sp_addlogin 'TestUser','Test123456' --在數(shù)據(jù)庫Test里創(chuàng)建數(shù)據(jù)庫TestUser賬號(hào) --每一個(gè)TestUser為登陸名 --第二個(gè)TestUser為數(shù)據(jù)庫賬號(hào) execute sp_grantdbaccess 'TestUser','TestUser' --將TestUser賬號(hào)添加到數(shù)據(jù)庫角色為數(shù)據(jù)庫所有者 execute sp_addrolemember 'db_owner','TestUser'?
在SSMS中使用“TestUser”賬號(hào)登錄后就可能看到所有的數(shù)據(jù)庫 但如果訪問的數(shù)據(jù)庫不是Test則為提示沒有權(quán)限 USE master GO --將所有數(shù)據(jù)庫的查看權(quán)限給Public角色,每個(gè)登錄用戶只能查看指定的數(shù)據(jù)庫 --此語句會(huì)導(dǎo)致服務(wù)器上所有的用戶在沒有設(shè)置數(shù)據(jù)庫權(quán)限的情況下不會(huì)顯示任何數(shù)據(jù)庫,有可能會(huì)影響正常使用 DENY VIEW any DATABASE TO PUBLIC; --將數(shù)據(jù)庫Test的所有權(quán)給TestUser用戶 --TestUser用戶可以查看并訪問Test數(shù)據(jù)庫 ALTER AUTHORIZATION ON DATABASE::Test TO TestUser?
“DENY VIEW any DATABASE TO PUBLIC;”后如果沒有進(jìn)行權(quán)限設(shè)置默認(rèn)的登錄用戶是不能查看任何數(shù)據(jù)庫的 “ALTER AUTHORIZATION ON DATABASE::Test?TO?TestUser”后TestUser就可以只能查看并訪問Test數(shù)據(jù)庫了 參考: 使SQL用戶只能看到自己擁有權(quán)限的庫 MSDN?VIEW ANY DATABASE 權(quán)限? MSDN?ALTER AUTHORIZATION (Transact-SQL)? MSDN?sp_addlogin (Transact-SQL) 來自為知筆記(Wiz) 標(biāo)簽:?Sql Server,?SQL Server 權(quán)限轉(zhuǎn)載于:https://www.cnblogs.com/gered/p/10254560.html
總結(jié)
以上是生活随笔為你收集整理的Sqlserver中 登录用户只能看到自己拥有权限的库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(数据挖掘十个重要算法)
- 下一篇: pyqy5——控件2