`
liuxx.adam
  • 浏览: 80892 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql server 用户访问权限设置

阅读更多
[转载]
原文地址:http://topic.csdn.net/u/20080106/20/84b91329-d680-40a1-b09f-af601e83647d.html

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 [用户名]
分享到:
评论

相关推荐

    SqlServer用户权限设置

    SqlServer 用户权限设置是数据库管理系统中的一项重要功能,它允许数据库管理员控制用户对数据库的访问权限和操作权限。通过设置用户权限,数据库管理员可以限制用户对数据库的访问,防止非法操作和数据泄露。 在 ...

    SQLSERVER远程访问Access数据库

    在本文中,我们将详细介绍如何使用 SQLSERVER 远程访问 Access 数据库,包括对 Access 数据库的加密和权限设置、SQLSERVER 的链接数据库配置、远程访问的设置和测试等。 一、Access 数据库的加密和权限设置 在使用...

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

    在SQL Server数据库管理系统中,权限控制是至关重要的,它确保了数据的安全性和访问的合规性。本主题将深入探讨如何使用SQL语句进行数据库权限设置,以及SQL Server中的权限层次结构。 首先,我们需要理解SQL ...

    SQL Server的用户及权限

    在SQL Server中,用户管理和权限控制是确保系统安全和数据保护的重要组成部分。SQL Server的用户主要分为两类:SQL服务器用户(登录账号)和数据库用户。安装完毕后,系统默认创建一个名为sa的SQL服务器用户,它是...

    SQL Server登陆权限操作

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

    sqlServer 权限设置器

    1. 角色管理:允许用户创建、编辑和删除数据库角色,然后批量分配权限给这些角色,而非逐一为每个用户设置权限,大大提高了工作效率。 2. 用户管理:轻松添加、删除和修改数据库用户,同时可以快速关联已定义的角色...

    SQL Server权限管理

    访问许可确认是 SQL Server 权限管理的第二步,即使用户通过了认证阶段,但是他还必须通过许可确认,才能够访问 SQL Server 中的数据。用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下...

    sqlserver2005创建用户并授予权限

    ### SQL Server 2005 创建用户并授予权限详解 #### 一、概述 在 SQL Server 2005 中,为了确保数据的安全性和完整性,管理员需要能够有效地管理数据库用户及其相应的权限。本文将详细介绍如何在 SQL Server 2005 中...

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

    8. **权限测试**:使用xp_cmdshell存储过程测试SQL Server对Exchange Server的访问权限,确保账户有访问Exchange Server的权限。 这些步骤详细地解释了如何在不同的SQL Server版本中设置邮件通知,包括SQL Server ...

    SqlServer连接工具

    对于远程访问和跨平台需求,我们可以使用SQL Server的Web版管理工具,如Azure Data Studio。它是一款轻量级且跨平台的工具,支持Windows、macOS和Linux,提供类似SSMS的功能,但更加专注于云和现代数据库工作流。...

    SQL Server数据库建用户授权

    * 企业可以使用数据库用户来控制数据库中的访问权限。 九、结论 本文详细介绍了 SQL Server 数据库用户授权的过程,包括创建登陆帐户、创建数据库用户、赋予数据库用户权限、管理数据库用户和删除数据库用户等。...

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

    SQL Server采用基于角色的访问控制(RBAC)机制,允许管理员创建角色并将用户添加到这些角色中,从而简化权限分配和管理。权限可以授予用户、角色或公共组(public)。此外,权限可以是显式的(直接授予对象)或隐式...

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

    ### SQL Server 数据库迁移孤立用户的解决方法 在进行SQL Server数据库迁移时,经常会遇到一个棘手的问题:迁移完成后,部分用户无法与原有的登录名相对应,导致这些用户成为“孤立用户”。这种情况下,用户虽然...

    在32位sql server 使用4G以上的内存设置

    如果是非域环境,可以打开组策略,计算机配置----》windows 设置----》用户权限分配,找到“内存中锁定页面”,添加能够运行sqlserver.exe的用户。如果是域环境,可以从管理工具打开域安全策略,域控制器安全策略---...

    SQL Server Native Client 10.0

    SQL Server Native Client 10.0 是微软为SQL Server 2008和2008 R2设计的一个数据库访问接口,它集成了ODBC(Open Database Connectivity)和OLE DB(Object Linking and Embedding, Database)接口。在SQL Server ...

    SSH权限管理详细sql server

    用户可以被授予对特定数据库的访问权限,并且可以通过角色进行权限的批量分配。SQL Server的角色有固定服务器角色和固定数据库角色两种。固定服务器角色如sysadmin,包含了广泛的系统管理权限,而固定数据库角色如db...

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

    SQL Server提供了多种角色,用于控制不同级别的访问权限,确保数据安全和系统稳定: - **sysadmin**:拥有最高权限,可以执行任何操作。 - **serveradmin**:可以进行服务器级的管理,如安装、配置等。 - **...

    SQLSERVER新建用户

    SQL Server 新建用户权限管理 SQL Server 是一个功能强大的关系数据库管理系统,它提供了丰富的...通过这些步骤,我们可以轻松地新建用户,并授予该用户相应的权限和数据库访问权限,以确保数据库的安全性和可靠性。

    SQLSERVER_大内存选项开启

    接着,使用此用户身份启动SQL Server服务,并在SQL Server Management Studio中,设置“使用AWE分配内存”选项,以确保数据库服务能够访问并利用大内存。 #### 实施效果 通过上述步骤,SQL Server成功启用了大内存...

Global site tag (gtag.js) - Google Analytics