当前位置:首页 » 文件传输 » 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”单击打开。