如何讓使用者只能訪問特定的資料庫 MSSQL

2022-02-14 20:12:45 字數 932 閱讀 8948

背景

客戶的sql server例項上有多個廠商的資料庫,每個資料庫由各自的進行廠進行商維護,

為了限定不同廠商的維護人員只能訪問自己的資料庫,現需要給各個廠商限定許可權,讓他們登入sql server只能看到授權的資料庫而無法看到其他資料庫。

解決方案

1.先給不同的廠商建立不同的登入名(如下以乙個廠商為例)

2.將登入名加入到public伺服器角色中,然後點選確定

3.將public伺服器角色的屬性——>安全物件中取消檢視所有資料庫的許可權

或者執行如下sql:

revoke view any database to [public]

4.將待授權的資料庫的dbowner指派給該使用者

use

[xjcs]go

exec dbo.sp_changedbowner n'

provider1

'

此時用'provider1'登入sql server,便只能看到指定的使用者資料庫了(系統資料庫除外)

說明:我之前希望在第2個步驟中設定登入名的使用者對映來實現這個需求,如下圖,但沒有效果,登入到sql server後還是無法看到使用者資料庫,

所以才採用上述方法:

mysql限制使用者只能訪問指定資料庫

create user username host identified by password host為localhost時,表示可本地登入 使用萬用字元 時,表示可以從任意遠端主機登陸。grant select,insert,update,references,delete,create,dr...

ORACLE 限制特定IP訪問資料庫

1 在9i中真正起作用的是sqlnet.ora檔案,我們修改sqlnet.ora其實是最好最快的方法。在sqlnet.ora中增加如下部分 來自 protocol.ora 的屬性 tcp.validnode checking yes 允許訪問的ip tcp.invited nodes ip1,ip2...

在PB中如何讓使用者只能修改新增的資料

在設計資料視窗時,在所有列的background.color屬性中編寫如下表示式 ifvoqwfzippw isrownew 1090519039,long describe www.cppcns.com 程式設計客棧datawindow.color 程式設計客棧 這樣可以讓使用者知道這些行的資料為...