當前位置:首頁 » 文件傳輸 » sql登錄用戶訪問指定表
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql登錄用戶訪問指定表

發布時間: 2022-05-29 11:52:51

A. sqlserver 怎麼查詢表屬於哪個用戶,或者說,某用戶名可訪問那些表

打開sql管理工具, ——安全性——登錄名——右擊用戶,查看屬性——可以看到用戶映射幾個資料庫

B. sql里如何新建賬戶,如何給這個賬戶分配sql下面訪問某個資料庫的某個表不寫代碼如果操作

在 '安全性' 里有 '登錄名' 上點右鍵 '新建登錄名',彈出窗體的左面有'伺服器角色'裡面可以選擇許可權。----這個是2005的設置方法

C. SQL查詢 根據登入者,查詢該登入者對應許可權的資料庫表

oracle的話
select * from user_role_privs就可以看見當前用戶被賦予的角色
mysql的話
select user();可以看見當前所登陸的用戶
show grants for username(上句查出的用戶名);可以顯示被賦予的許可權

D. 在sql2005中建立一個用戶,如何才能讓這個用戶只能訪問我指定的表或者視圖或則存儲過程了.

你可以創建一個表或者試圖(tablename),用於維護允許訪問的表、視圖、存儲過程,

select 'grant all on'+' '+name+' '+'username' from tablename

E. 對已登錄用戶帳戶進一步授權訪問所設計的資料庫中的某些表的SQL語句怎麼寫急~~

用grant語句
如果是sql server的話 你可以在聯機叢書中查詢grant 裡面有很詳細的解答
下例顯示許可權的優先順序。首先,給 public 角色授予 SELECT 許可權。然後,將特定的許可權授予用戶 Mary、John 和 Tom。於是這些用戶就有了對 authors 表的所有許可權。

USE pubs
GO

GRANT SELECT
ON authors
TO public
GO

GRANT INSERT, UPDATE, DELETE
ON authors
TO Mary, John, Tom
GO

GRANT
在安全系統中創建項目,使當前資料庫中的用戶得以處理當前資料庫中的數據或執行特定的 Transact-SQL 語句。

語法
語句許可權:

GRANT { ALL | statement [ ,...n ] }
TO security_account [ ,...n ]

對象許可權:

GRANT
{ ALL [ PRIVILEGES ] | permission [ ,...n ] }
{
[ ( column [ ,...n ] ) ] ON { table | view }
| ON { table | view } [ ( column [ ,...n ] ) ]
| ON { stored_procere | extended_procere }
| ON { user_defined_function }
}
TO security_account [ ,...n ]
[ WITH GRANT OPTION ]
[ AS { group | role } ]

參數
ALL

表示授予所有可用的許可權。對於語句許可權,只有 sysadmin 角色成員可以使用 ALL。對於對象許可權,sysadmin 和 db_owner 角色成員和資料庫對象所有者都可以使用 ALL。

statement

是被授予許可權的語句。語句列表可以包括:

CREATE DATABASE

CREATE DEFAULT

CREATE FUNCTION

CREATE PROCEDURE

CREATE RULE

CREATE TABLE

CREATE VIEW

BACKUP DATABASE

BACKUP LOG
n

一個佔位符,表示此項可在逗號分隔的列表中重復。

TO

指定安全帳戶列表。

security_account

是許可權將應用的安全帳戶。安全帳戶可以是:

Microsoft® SQL Server™ 用戶。

SQL Server 角色。

Microsoft Windows NT® 用戶。

Windows NT 組。
當許可權被授予一個 SQL Server 用戶或 Windows NT 用戶帳戶,指定的 security_account 是許可權能影響到的唯一帳戶。若許可權被授予 SQL Server 角色或 Windows NT 組,許可權可影響到當前資料庫中該組或該角色成員的所有用戶。若組或角色和它們的成員之間存在許可權沖突,最嚴格的許可權 (DENY) 優先起作用。security_account 必須在當前資料庫中存在;不可將許可權授予其它資料庫中的用戶、角色或組,除非已為該用戶在當前資料庫中創建或給予了訪問許可權。

兩個特殊的安全帳戶可用於 GRANT 語句。授予 public 角色的許可權可應用於資料庫中的所有用戶。授予 guest 用戶的許可權可為所有在資料庫中沒有用戶帳戶的用戶使用。

當授予某個 Windows NT 本地組或全局組許可權時,請指定在其上定義該組的域名或計算機名,然後依次輸入反斜線和組名。但是,若要授予訪問 Windows NT 內置本地組的許可權,請指定 BUILTIN 而不是域名或計算機名。

PRIVILEGES

是可以包含在符合 SQL-92 標準的語句中的可選關鍵字。

permission

是當前授予的對象許可權。當在表、表值函數或視圖上授予對象許可權時,許可權列表可以包括這些許可權中的一個或多個:SELECT、INSERT、DELETE、REFENENCES 或 UPDATE。列列表可以與 SELECT 和 UPDATE 許可權一起提供。如果列列表未與 SELECT 和 UPDATE 許可權一起提供,那麼該許可權應用於表、視圖或表值函數中的所有列。

在存儲過程上授予的對象許可權只可以包括 EXECUTE。在標量值函數上授予的對象許可權可以包括 EXECUTE 和 REFERENCES。

為在 SELECT 語句中訪問某個列,該列上需要有 SELECT 許可權。為使用 UPDATE 語句更新某個列,該列上需要有 UPDATE 許可權。

為創建引用某個表的 FOREIGN KEY 約束,該表上需要有 REFERENCES 許可權。

為使用引用某個對象的 WITH SCHEMABINDING 子句創建 FUNCTION 或 VIEW,該對象上需要有 REFERENCES 許可權。

column

是當前資料庫中授予許可權的列名。

table

是當前資料庫中授予許可權的表名。

view

是當前資料庫中被授予許可權的視圖名。

stored_procere

是當前資料庫中授予許可權的存儲過程名。

extended_procere

是當前資料庫中授予許可權的擴展存儲過程名。

user_defined_function

是當前資料庫中授予許可權的用戶定義函數名。

WITH GRANT OPTION

表示給予了 security_account 將指定的對象許可權授予其它安全帳戶的能力。WITH GRANT OPTION 子句僅對對象許可權有效。

AS {group | role}

指當前資料庫中有執行 GRANT 語句權力的安全帳戶的可選名。當對象上的許可權被授予一個組或角色時使用 AS,對象許可權需要進一步授予不是組或角色的成員的用戶。因為只有用戶(而不是組或角色)可執行 GRANT 語句,組或角色的特定成員授予組或角色權力之下的對象的許可權。

詳細的可以參見sql server的連接叢書!

F. SQLServer中怎麼設定用戶對某張表的許可權

方法一、由Management
Studio中的表上右鍵選屬性(Properties),左邊選許可權(Permissions),右邊中間添加和選中某個User或Role,下面選中或移除某個許可權。
方法二、語句

Grant
許可權
On
table
表名
To
用戶名

G. SQL如何使用授於許可權讓用戶查詢資料庫中的所有表

--創建登錄賬號
CREATE LOGIN USER1 WITH PASSWORD='123';
GO

--打開授權的資料庫(假設給資料庫TEST授權)
USE TEST
GO

--將登錄賬號映射為當前資料庫用戶
CREATE USER USER1 FOR LOGIN USER1
GO

--授予用戶對當前資料庫所有表具有查詢權
EXEC sp_addrolemember 'db_datareader', 'USER1'

H. SQLserver怎樣為資料庫用戶指定查詢表的許可權

1. 查看 SQL 2005 用戶所屬資料庫角色
use yourdb
go
select DbRole = g.name, MemberName = u.name, MemberSID = u.sid
from sys.database_principals u, sys.database_principals g, sys.database_role_members m
where g.principal_id = m.role_principal_id
and u.principal_id = m.member_principal_id
order by 1, 2
go
2. 查看 SQL 2005 登陸帳戶所屬伺服器角色
use master
go
select SrvRole = g.name, MemberName = u.name, MemberSID = u.sid
from sys.server_principals u, sys.server_principals g, sys.server_role_members m
where g.principal_id = m.role_principal_id
and u.principal_id = m.member_principal_id
order by 1, 2
go

3. 查看 SQL 2005 用戶被賦予的許可權
use yourdb
go
exec sp_helprotect @username = 'user name'
go

I. SQL Server怎樣設置許可權從而使用戶只能訪問資料庫裡面的一個表並只能進行查詢操作.謝謝!

在SQL SERVER里新建一個用戶,然後在許可權只給該用所能查詢的表的查詢(SELECT)權即可。

J. 如何設置SQLSERVER 用戶只能訪問資料庫中某幾個表呢

1、打開——「開始」,選擇——「所有程序」,找打「Microsoft SQL Server 2005」單擊打開,然後選擇——「SQL Server Management Studio Express」單擊打開。