`

SqlServer设置用户权限

阅读更多
sql server 用户访问权限设置: /*--示例说明 示例在数据库pubs中创建一个拥有表jobs的所有权限、拥有表titles的SELECT权限的角色r_test 随后创建了一个登录l_test,然后在数据库pubs中为登录l_test创建了用户账户u_test 同时将用户账户u_test添加到角色r_test中,使其通过权限继承获取了与角色r_test一样的权限 最后使用DENY语句拒绝了用户账户u_test对表titles的SELECT权限。 经过这样的处理,使用l_test登录SQL Server实例后,它只具有表jobs的所有权限。 --*/ USE pubs --创建角色 r_test EXEC sp_addrole 'r_test' --授予 r_test 对 jobs 表的所有权限 GRANT ALL ON jobs TO r_test --授予角色 r_test 对 titles 表的 SELECT 权限 GRANT SELECT ON titles TO r_test --添加登录 l_test,设置密码为pwd,默认数据库为pubs EXEC sp_addlogin 'l_test','pwd','pubs' --为登录 l_test 在数据库 pubs 中添加安全账户 u_test EXEC sp_grantdbaccess 'l_test','u_test' --添加 u_test 为角色 r_test 的成员 EXEC sp_addrolemember 'r_test','u_test' -------------------------------补充-------------- --上面的授权为对单表进行授权 --2005可对SCHEMA级别进行授权 --授予安全账户 u_test ,架构interface下的查询权限 GRANT SELECT ON SCHEMA::interface TO u_test --拒绝安全账户 u_test ,架构dbo下的权限 DENY VIEW DEFINITION ON SCHEMA::dbo TO risk ------------------------------------------------- --拒绝安全账户 u_test 对 titles 表的 SELECT 权限 DENY SELECT ON titles TO u_test /*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select权限--*/ --从数据库 pubs 中删除安全账户 EXEC sp_revokedbaccess 'u_test' --删除登录 l_test EXEC sp_droplogin 'l_test' --删除角色 r_test EXEC sp_droprole 'r_test' exec sp_dropsrvrolemember N'aa', sysadmin go exec sp_addsrvrolemember N'aa', securityadmin go --作好SQL的安全管理 首先,做好用户安全: --简单的,只允许sql的用户访问sql(防止利用administrator组用户访问) 1.企业管理器--右键SQL实例--属性--安全性--身份验证--选择"sql server和windows"--确定 2.企业管理器--安全性--登陆--右键sa--设置密码--其他用户也设置密码 3.删除用户: BUILTIN\Administrators \Administrator --这个用户不一定有 这样可以防止用windows身份登陆SQL 4.设置进入企业管理器需要输入密码 在企业管理器中 --右键你的服务器实例(就是那个有绿色图标的) --编辑SQL Server注册属性 --选择"使用 SQL Server 身份验证" --并勾选"总是提示输入登录名和密码" --确定 --经过上面的设置,你的SQL Server基本上算是安全了. ------------------------------------------------------------------------ 其次,改默认端口,隐藏服务器,减少被攻击的可能性 SQL Server服务器 --开始 --程序 --Microsoft SQL Server --服务器网络实用工具 --启用的协议中"TCP/IP" --属性 --默认端口,输入一个自已定义的端口,比如2433 --勾选隐藏服务器 ---------------------------------------------------------------------------- --管好sql的用户,防止访问他不该访问的数据库(总控制,明细还可以控制他对于某个数据库的具体对象具有的权限) --切换到你新增的用户要控制的数据库 use 你的库名 go --新增用户 exec sp_addlogin 'test' --添加登录 exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户 exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限 --这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表 go --删除测试用户 exec sp_revokedbaccess N'test' --移除对数据库的访问权限 exec sp_droplogin N'test' --删除登录 如果在企业管理器中创建的话,就用: 企业管理器--安全性--右键登录--新建登录 常规项 --名称中输入用户名 --身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户) --默认设置中,选择你新建的用户要访问的数据库名 服务器角色项 这个里面不要选择任何东西 数据库访问项 勾选你创建的用户需要访问的数据库名 数据库角色中允许,勾选"public","db_ownew" 确定,这样建好的用户与上面语句建立的用户一样 --------------------------------------------------------------------------- 最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户: exec sp_addlogin '用户名','密码','默认数据库名' --添加到数据库 exec sp_grantdbaccess '用户名' --分配整表权限 GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名] --分配权限到具体的列 GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名]
分享到:
评论

相关推荐

    SQL Server的用户及权限

    用户权限的层次结构是SQL Server权限模型的核心。系统管理员可以进一步细分权限,将CREATE DATABASE权限授予其他用户,使他们成为新的数据库所有者。数据库所有者可以授予用户在数据库内的各种操作权限,比如创建表...

    SqlServer用户权限设置

    SqlServer用户权限设置分为两个主要步骤,首先是创建登录名,其次是给登录名授予权限。 创建登录名是用户权限设置的第一步,这一步骤的目的是创建一个数据库用户账户。只有创建了登录名,用户才能被赋予访问数据库...

    SQL语句进行数据库权限设置

    本主题将深入探讨如何使用SQL语句进行数据库权限设置,以及SQL Server中的权限层次结构。 首先,我们需要理解SQL Server中的权限体系。权限分为两大类:对象权限和服务器权限。对象权限针对数据库内的具体对象,如...

    SQL Server登陆权限操作

    SQL Server 登陆权限操作是指在 SQL Server 中设置用户登录名和权限的操作,包括服务器角色权限和数据库权限。本文将详细介绍如何设置 Test 用户的权限,包括服务器角色的权限 dbcreate、能操作的数据库 Accp50 及...

    sqlServer 权限设置器

    针对这一问题,开发了“SQLServer 权限设置器”这一小应用程序,旨在简化和优化这一过程。 该应用程序的主要功能可能是为SQL Server 2000数据库提供一个图形化的界面,使得管理员能够更直观、高效地分配和管理权限...

    SQL Server权限管理

    用户权限管理是 SQL Server 权限管理的第三步,包括服务器登录帐号和用户帐号管理、许可(权限)管理、角色管理等多个方面。 1. 服务器登录帐号和用户帐号管理:SQL Server 有三个默认的用户登录帐号:即 sa 、...

    sqlserver2005创建用户并授予权限

    授予用户权限是最重要的一步,可以通过以下几种方式来实现: - **授予对整个数据库的权限**: ```sql EXEC sp_addrolemember 'db_owner', 'test' ``` - **授予对特定表或视图的权限**: ```sql GRANT SELECT,...

    Sql Server2005和sql server2008单用户模式设置

    单用户模式是 Sql Server 的一种特殊模式,在这种模式下,Sql Server 只允许一个用户连接数据库,并且该用户拥有最高的权限。在单用户模式下,我们可以进行各种维护任务,如备份和还原数据库、修复数据库、更改...

    关于SYBASE SQL SERVER中用户权限的管理 (1).pdf

    本文通过一个实例实验,介绍了SYBASE SQL SERVER中用户权限的管理,包括基本概念、用户权限管理、实验数据库的建立、权限管理等,为读者提供了一个详细的SYBASE SQL SERVER用户权限管理的指南。

    SQLSERVER新建用户

    SQL Server 新建用户权限管理 SQL Server 是一个功能强大的关系数据库管理系统,它提供了丰富的用户管理和权限管理机制,以确保数据库的安全性和可靠性。在本文中,我们将详细介绍如何在 SQL Server 中新建用户、...

    SQLServer数据库迁移孤立用户的解决方法

    - **备份现有配置**:在进行任何数据库迁移之前,务必备份现有数据库的配置信息,包括登录名和用户权限等。 - **统一命名规则**:确保所有登录名和用户名采用一致的命名规则,方便迁移后的匹配工作。 - **预迁移测试...

    SQL Server数据库建用户授权

    在 SQL Server 中,创建数据库用户、赋予用户权限、管理数据库用户是非常重要的安全性设置。通过本文的介绍,用户可以学习如何使用 SQL 语句创建数据库用户,赋予用户权限,并对用户账户进行管理。 八、应用场景 ...

    SqlServer连接工具

    6. 安全管理:管理用户权限,设置角色,以及执行审计和安全策略。 综上所述,SQL Server连接工具是SQL Server生态系统中不可或缺的一部分,它们为数据库管理员和开发者提供了强大的支持,使得SQL Server的管理和...

    在SQL Server里查看当前连接的在线用户数

    在SQL Server中,掌握如何查看当前连接的在线用户数是一项重要的技能,这有助于数据库管理员(DBA)...通过定期监测在线用户数、特定用户活动以及适时调整权限设置,DBA能够更有效地应对各种挑战,保持系统健康稳定。

    数据库sqlserver安全性角色授权及视图

    在 SQL Server 中,角色是一种非常重要的安全机制,它允许管理员对一组用户进行统一的权限管理。通过角色,可以将特定的权限授予角色成员,从而避免了逐一为每个用户分配权限的繁琐过程。 **1.2 角色类型** SQL ...

    三招教你搞定sql server数据库权限冲突

    这通常涉及到检查涉及的角色和用户的权限设置。使用系统存储过程`sp_helprotect`或`sys.database_role_members`和`sys.database_permissions`等系统视图可以帮助查询特定对象上的权限设置。例如,如果一个用户`sale1...

    SSH权限管理详细sql server

    在SQL Server中,权限管理主要通过登录、用户、角色和权限分配实现。登录是服务器级别的实体,用于控制对SQL Server实例的访问。可以创建基于Windows身份验证的登录,也可以使用SQL Server身份验证模式,后者需要...

    SQL Server Native Client 10.0

    在SQL Server 2012中,虽然主要推荐使用SQL Server Native Client 11.0,但为了兼容旧版本的SQL Server,如SQL Server 2000,仍然需要使用SQL Server Native Client 10.0。 **1. ODBC与OLE DB接口** - **ODBC**: ...

    SQL Server 数据库用户管理

    在SQL Server中,数据库用户是数据库级别的主体,它们控制着对特定数据库的访问权限。通常,一个登录名登录到SQL Server实例后,还需要创建对应的数据库用户才能访问指定的数据库。这是因为数据库用户是与登录名映射...

    在SQL200 SQLServer 2005和SQLServer 2008中设置发送邮件

    ### SQL Server 2005 和 2008 中设置发送邮件的知识点 #### SQL Server 2005 邮件通知设置步骤 在SQL Server 2005中,为了实现在作业(Job)运行后自动发送邮件通知,可以按照以下步骤进行设置: 1. **启用数据库...

Global site tag (gtag.js) - Google Analytics