在SQLServer 中如何创建用户,分配权限
sql_server_2016数据库应用与开发教程
sql server 2016数据库应用与开发教程
1. 引言
1.1 概述
本教程旨在介绍SQL Server 2016数据库的应用与开发,并提供相关教程和实例演示,帮助读者全面了解和掌握SQL Server 2016的各项功能和技术。在今天这个数据爆炸的时代,数据库已经成为企业管理和信息处理的核心组件之一。而作为Microsoft公司推出的关系型数据库管理系统(RDBMS),SQL Server 2016具备了许多强大的功能和特性,使其成为众多企业首选的数据库软件之一。
1.2 文章结构
本文主要分为五个部分:引言、SQL Server 2016数据库应用与开发教程、SQL 查询语言、数据库编程与开发技术以及结论。通过这样的划分,我们将从不同层次和角度全面介绍SQL Server 2016在应用与开发方面涉及到的各项重要知识点和技术,便于读者有针对性地学习和使用。
1.3 目的
本文旨在帮助读者初步认识并深入理解SQL Server 2016数据库的应用与开发,并提供相应教程指导以及实际案例演示。通过学习本文所介绍内容,读者能够学会如何设计、搭建和管理SQL Server 2016数据库,掌握SQL查询语言的基本
语法和使用技巧,了解数据库编程与开发的相关技术,以及探索SQL Server 2016在安全性和权限管理方面的应用。最后,我们还将对SQL Server 2016的应用前景进行展望,并对本文涉及内容进行总结。
通过本文的阅读和学习,读者将具备一定的理论基础和实践经验,在日常工作中能够更好地利用SQL Server 2016数据库实现数据管理、查询分析以及系统开发等任务,提高工作效率并取得更好的业绩。无论是初学者还是有一定数据库经验的开发人员,本教程都能为您提供指导和帮助,让您成为专业的SQL Server 2016数据库应用与开发者。
Sqlserver创建用户并授权的实现步骤
Sqlserver创建⽤户并授权的实现步骤前提,存在⼀个数据库:JIAOGUAN(教务管理系统),其中有⼀个表:Student
接下来,我们所有的操作都是针对这个表进⾏试验
第⼀步,使⽤sa账户登录SqlServer,并创建登录账户 test
create login test with password='test',default_database=JIAOGUAN --此登录账户默认拥有数据库JIAOGUAN的权限
第⼆步:设置⽤户的schema(具体含义⾃⾏查阅),并将⽤户加⼊到dbo
use JIAOGUAN
create user test for login test with default_schema=dbo --dbo为DataBaseOwner的简写,每个数据库都有⼀个dbo⽤户exec sp_addrolemember 'db_owner', 'test' --将test加⼊ db_owner⾓⾊
第三步:拒绝test⽤户对Student表执⾏insert语句
use JIAOGUAN
deny insert on Student to test --拒绝test⽤户对Student表执⾏insert
此时,使⽤test⽤户登录,并尝试对Student表插⼊数据,会提⽰错误,注意:使⽤test⽤户登录
第四步:拒绝test⽤户访问Student的gender和birth字段
use JIAOGUAN
deny select on Student(gender,birth) to test --拒绝test⽤户访问Student表的gender和birth字段使⽤test账户登录之后,尝试使⽤select * from Student,将提⽰错误
【原】SQLServer权限用户设置
【原】SQLServer权限⽤户设置
⼀、为什么要设置权限⽤户
windows 验证登陆,只能在本机访问,⽤sqlserver验证登陆(也就是sa登陆),可以在局域⽹任意⼀台电脑访问登陆。
由于某种原因,给其他软件或者数据库开放接⼝,给对⽅⼀个账号但是要限制对⽅的访问权限的时候,就需要设置权限
⽤户。
⼆、怎么去设置权限⽤户
1、选择安全性---右击新建登录名(我们以test登录名为例)
2、选择"常规"选项---设置你要新建的登录名---设置SQL Server⾝份验证密码---取消强制实施密码策略---选择⽬标数据库
3、选择"服务器⾓⾊"--选择public
服务器⾓⾊:服务器⾓⾊似乎是针对SQL Server登录名、Windows 帐户的,⽽某个数据库中建⽴的⽤户是不能具有服务器⾓⾊的。例如:任何登录名建⽴后默认都是public服务器⾓⾊,public没有权限建⽴新的数据库;如果登录名具有dbcreator服务器⾓⾊,⽤它登录后,就可以创建新数据库;如果登录名具有securityadmin服务器⾓⾊,⽤它登录后,就可以管理其他登录名。
sysadmin 固定服务器⾓⾊的成员可以在服务器中执⾏任何活动
serveradmin 固定服务器⾓⾊的成员可以更改服务器范围内的配置选项并关闭服务器
securityadmin 固定服务器⾓⾊的成员管理登录名及其属性。他们可以 GRANT、DENY 和 REVOKE 服务器级权限。他们还可以GRANT、DENY 和 REVOKE 数据库级权限(如果他们具有数据库的访问权限)。此外,他们还可以重置 SQL Server 登录名的密码。processadmin 固定服务器⾓⾊的成员可以终⽌在 SQL Server 实例中运⾏的进程
SQL语句操作SQLSERVER数据库登录名、用户及权限
SQL语句操作SQLSERVER数据库登录名、⽤户及权限
要想成功访问 SQL Server 数据库中的数据,我们需要两个⽅⾯的授权:
1. 获得准许连接 SQL Server 服务器的权利;
2. 获得访问特定数据库中数据的权利(select, update, delete, create table ...)。
假设,我们准备建⽴⼀个 dba 数据库帐户,⽤来管理数据库 mydb。
1. ⾸先在 SQL Server 服务器级别,创建登陆帐户(create login)
--创建登陆帐户(create login)
create login dba with password='abcd1234@', default_database=mydb
登陆帐户名为:“dba”,登陆密码:abcd1234@”,默认连接到的数据库:“mydb”。这时候,dba 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能访问数据库中的对象(严格的说,此时 dba 帐户默认是 guest 数据库⽤户⾝份,可以访问 guest 能够访问的数据库对象)。
要使 dba 帐户能够在 mydb 数据库中访问⾃⼰需要的对象,需要在数据库 mydb 中建⽴⼀个“数据库⽤户”,赋予这个“数据库⽤户” 某些访问权限,并且把登陆帐户“dba” 和这个“数据库⽤户” 映射起来。习惯上,“数据库⽤户” 的名字和 “登陆帐户”的名字相同,即:“dba”。创建“数据库⽤户”和建⽴映射关系只需要⼀步即可完成:
2. 创建数据库⽤户(create user):
sqlserver 2012 创建数据库实例
sqlserver 2012 创建数据库实例
(最新版)
目录
1.SQL Server 2012 简介
2.创建数据库的步骤
3.创建数据表的步骤
4.创建数据库角色的步骤
5.总结
正文
一、SQL Server 2012 简介
SQL Server 2012 是微软推出的一款关系型数据库管理系统,它具有高性能、安全、可扩展性等特点,适用于各种规模企业和组织的数据存储和管理需求。在 SQL Server 2012 中,用户可以创建数据库、表、视图等各种数据库对象,实现对数据的增、删、改、查等操作。
二、创建数据库的步骤
1.启动 SQL Server 2012
2.登录数据库账户
3.在左侧找到数据库
4.右键选择数据库,找到新建数据库选项
5.打开新建数据库窗口
6.填入要新增的数据库名称
7.设定数据库文件与日志文件的存放位置
8.设定选项和文件组
9.设定完成后,选择 OK 创建成数据库
三、创建数据表的步骤
1.进入选项界面后,选择设计器
2.取消勾选阻止保存要求重新创建表的更改选项
3.点击确定
4.展开数据库,再展开需要创建数据表的数据库
5.右击表,选择新建表
6.在列名中输入属性名,然后选择相应的数据类型
7.勾选是否允许为 null 值
8.在工具栏单击保存
四、创建数据库角色的步骤
1.连接对象资源管理器,点击打开数据库 book,依此找到安全性---角色
2.选中数据库角色,鼠标右键,新建数据库角色,打开新建窗口
3.输入角色名称和所有者
4.点击添加按钮,选择数据库用户或角色,单击浏览按钮,查询用户并确定
5.添加角色权限,如 SELECT、INSERT、UPDATE 等
sqlserver授权函数的权限
在SQL Server中,函数是一种用来处理数据并返回结果的特殊类型的存储过程。在使用函数时,必须考虑对函数的授权和权限管理。因为函数可以包含对数据库的敏感操作,所以需要合理管理和授权函数的权限以保护数据库的安全性和完整性。
对于SQL Server中的函数,授权权限是非常重要的。在授权函数的权限时,需要考虑以下几个方面:
1. 身份验证和授权
在SQL Server中,授权权限是通过对数据库对象的授权来实现的。要想对函数进行授权,首先需要对用户或登入名进行身份验证和授权。这样才能保证只有经过认证和授权的用户才能对函数进行操作。
2. 对函数的执行权限
对于一个函数来说,最基本的权限就是执行权限。只有授权了执行权限的用户才能调用函数并得到结果。在SQL Server中,可以使用GRANT语句对用户进行授权,使其具有执行函数的权限。
3. 对函数的修改权限
除了执行权限之外,还需要考虑对函数的修改权限。因为函数可能需要进行更新和维护,所以需要授权一些用户或角色具有修改函数的权限。可以使用ALTER或CREATE语句对用户进行授权,使其具有对函数进行修改的权限。
4. 对函数的查看权限
除了执行和修改权限之外,有时还需要对函数的查看权限进行授权。
这样可以确保只有经过授权的用户才能查看函数的定义和实现细节。
可以使用GRANT语句对用户进行授权,使其具有查看函数的权限。
5. 对函数的安全性
在授权函数的权限时,还需要考虑函数的安全性。对于一些敏感的函数,可能需要限制其访问权限,确保只有经过授权的用户才能调用和
SQLServer创建用户自定义数据库用户
SQLServer创建⽤户⾃定义数据库⽤户
创建⽤户⾃定义数据库⽤户注意事项
如果已忽略 FOR LOGIN,则新的数据库⽤户将被映射到同名的SQL Server登录名。
默认架构将是服务器为此数据库⽤户解析对象名时将搜索的第⼀个架构。除⾮另外指定,否则默认架构将是此数据库⽤户创建的对象所属的架构。
如果⽤户具有默认架构,则将使⽤默认架构。如果⽤户不具有默认架构,但该⽤户是具有默认架构的组的成员,则将使⽤该组的默认架构。如果⽤户不具有默认架构⽽且是多个组的成员,则该⽤户的默认架构将是具有最低principle_id的Windows组的架构和⼀个显式设置的默认架构。(不可能将可⽤的默认架构之⼀显式选作⾸选架构。)如果不能为⽤户确定默认架构,则将使⽤ dbo 架构。
DEFAULT_SCHEMA可在创建它所指向的架构前进⾏设置。
在创建映射到证书或⾮对称密钥的⽤户时,不能指定DEFAULT_SCHEMA。
如果⽤户是sysadmin固定服务器⾓⾊的成员,则忽略DEFAULT_SCHEMA的值。sysadmin固定服务器⾓⾊的所有成员都有默认架构dbo。WITHOUT LOGIN⼦句可创建不映射到SQL Server登录名的⽤户。它可以作为guest连接到其他数据库。可以将权限分配给这⼀没有登录名的⽤户,当安全上下⽂更改为没有登录名的⽤户时,原始⽤户将收到⽆登录名⽤户的权限。
只有映射到Windows主体的⽤户才能包含反斜杠字符 (\)。
不能使⽤CREATE USER创建guest⽤户,因为每个数据库中均已存在guest⽤户。可通过授予guest⽤户CONNECT权限来启⽤该⽤户,如下所⽰:可以在 sys.database_principals ⽬录视图中查看有关数据库⽤户的信息。
SQLServer创建用户登录
SQLServer创建⽤户登录
创建⽤户登录注意事项
密码是区分⼤⼩写的。
只有创建SQL Server登录时,才⽀持对密码预先进⾏哈希运算。
如果指定MUST_CHANGE,则CHECK_EXPIRATION和 CHECK_POLICY必须设置为 ON。否则,该语句将失败。
不⽀持CHECK_POLICY=OFF和 CHECK_EXPIRATION=ON的组合。
如果CHECK_POLICY设置为OFF,将对lockout_time进⾏重置,并将CHECK_EXPIRATION设置为OFF。
只有在Windows Server 2003及更⾼版本上才会强制执⾏CHECK_EXPIRATION 和 CHECK_POLICY。
从证书或⾮对称密钥创建的登录名仅⽤于代码签名。不能⽤于连接到 SQL Server。仅当master中已存在证书或⾮对称密钥时,才能从证书或⾮对称密钥创建登录名。
有关⽤于传输登录名的脚本,请参阅如何在 SQL Server 2005 和 SQL Server 2008 的实例之间传输登录名和密码。
⾃动创建登录名将启⽤新的登录名,并授予它服务器级CONNECT SQL 权限。
服务器的⾝份验证模式必须匹配登录名类型才能允许访问。
有关设计权限系统的信息,请参阅 Getting Started with Database Engine Permissions。
只有具有针对服务器的ALTER ANY LOGIN权限或securityadmin固定服务器⾓⾊的成员⾝份的⽤户才可创建登录。
sqlserver授权语句
sqlserver授权语句
在使用SQL Server进行数据库操作时,有时会需要对用户或角
色进行授权以实现数据权限管理。本文将围绕“SQL Server授权语句”进行阐述,并提供详细的步骤说明。
事先说明:本文所提及的SQL Server版本为SQL Server 2016。
步骤一:连接到SQL Server
首先,在使用SQL Server前,需要先连接到数据库。可以通过
打开SQL Server Management Studio(简称SSMS),输入数据库的连
接信息来连接数据库。连接成功后,会自动进入到SQL Server Management Studio的主界面。
步骤二:创建新的登录账号
接下来,我们需要为需要授权的用户创建一个新的登录账号。可
以通过以下步骤来实现:
1.在“Object Explorer”窗口中,找到“Security”文件夹,
展开后,右键点击“Logins”文件夹,并选择“New Login...”。
2.在“General”选项卡中,填写新用户的登录名和密码。
3.在“User Mapping”选项卡中,勾选需要授权的数据库,并在“Database role membership”中设置角色。
4.点击“OK”按钮保存设置。新的登录账号就创建好了。
步骤三:对新建账号进行授权
接下来,需要对新建账号进行授权。可以通过以下2个主要的授
权语句来实现:
1.GRANT语句:授予用户或角色的操作权限。
语法:GRANT permission ON object TO user 或 GRANT permission ON object TO role
SQLServer设置新用户只能查看并访问特定数据库
SQLServer设置新⽤户只能查看并访问特定数据库
解决⽅案
1、先给不同的服务商创建不同的登录名(如下以⼀个服务商为例)
2.将登录名加⼊到public服务器⾓⾊中
3.将public服务器⾓⾊的属性——>安全对象中取消查看所有数据库的权限
或者执⾏如下SQL:
REVOKE VIEW ANY DATABASE TO [public]
4.将待授权的数据库的dbowner指派给该⽤户
执⾏sql
USE ZYLTEST
go
EXEC dbo.sp_changedbowner N'zyl'
效果图
注意:此处的设置不能⼿动取消,会有错误提⽰:
解决办法,执⾏sql修改该数据库的所有者
USE ZYLTEST
go
EXEC dbo.sp_changedbowner N'sa'
效果图
5、此时⽤登录名'zyl'登录sql server,便只能看到指定的数据库了
#TIPS
上述⽅案实现的是-“设置登录⽤户只能看到和操作特定数据库”,如果你只想实现-“设置登录⽤户只能操作特定数据库,但能看到所有数据库,只是有的数据库不能操作”
需要对上述⽅案稍作修改,具体步骤:
1、取消上述⽅案的第三步;
2、将上述⽅案的第四步修改为如下操作:
3、效果图
可以看到所有的数据库,但是⽆法查看未授权的数据内容,如图提⽰
SQLServer创建用户自定义数据类型
SQLServer创建⽤户⾃定义数据类型
SQL Server除了常规的数据类型,如int、char、varchar之外,还可以允许⽤户⾃定义数据类型;⽽⽤户⾃定义数据类型是跟具体的数据库有关,创建⾃定义数据库类型,可以有两种⽅法:
第⼀,利⽤对象资源管理器创建;
第⼆,利⽤SQL语句创建。
下⾯分别讲述这两种⽅法创建⽤户⾃定义数据类型,具体操作如下:
第⼀种:选中“⽤户定义数据类型”⿏标右键,单击“新建⽤户定义数据类型”:
填写类型名称,勾选是否允许NULL值等,确定,即可!
第⼆种,利⽤SQL语句创建,新建⼀个查询窗⼝,可以在⾥⾯编写SQL语句:
执⾏后⽣成新的数据类型~
sqlserver2008r2 权限管理说明
sqlserver2008r2 权限管理说明
SQL Server 2008 R2的权限管理是通过授权用户或角色来实现的。以下是一些关于权限管理的基本概念和操作:
1. 登录(Login)和用户(User):
-登录是指用户在SQL Server上的身份标识。登录可以使用SQL Server身份验证或Windows身份验证。
-用户是数据库内的一个实体,与登录关联,用于连接到数据库并执行操作。
2. 角色(Role):
-角色是一组权限的集合,可以将用户添加到角色中,从而为他们赋予一组共同的权限。
- SQL Server有预定义的固定角色(如db_datareader、db_datawriter)和用户定义的角色。
3. 权限(Permission):
-权限定义了用户或角色对数据库对象(表、视图、存储过程等)执行的操作。
-常见的权限包括SELECT、INSERT、UPDATE、DELETE等。
4. 授予(GRANT):
-通过GRANT语句可以向用户或角色授予特定的权限。例如:`GRANT SELECT ON table_name TO user_name;`
5. 拒绝(DENY):
-使用DENY语句可以拒绝用户或角色对特定权限的访问。例如:`DENY INSERT ON table_name TO user_name;`
6. 回收(REVOKE):
-使用REVOKE语句可以撤销已经赋予或拒绝的权限。例如:`REVOKE SELECT ON table_name FROM user_name;`
7. 层次化的权限控制:
sqlserver给用户赋予访问数据库的权限的语句 -回复
sqlserver给用户赋予访问数据库的权限的语句-回
复
如何在SQL Server中给用户赋予访问数据库的权限
在SQL Server中,管理员可以通过给用户分配适当的权限来控制用户对数据库的访问。本文将一步一步地介绍如何在SQL Server中给用户赋予访问数据库的权限。
首先,我们需要登录到SQL Server Management Studio (SSMS)。使用管理员账号和密码登录后,我们将进入SQL Server的管理界面。
第一步:创建一个新的登录账号
在SSMS中,我们可以通过将用户添加为登录账号来赋予他们访问数据库的权限。在“对象资源管理器”窗口中,展开“安全性”文件夹,右键点击“登录名”,然后选择“新建登录名”。接下来,将需要赋予权限的用户名输入到“登录名”字段中。您可以选择使用现有的Windows登录名或SQL Server登录名,具体取决于您的要求。然后设置一个密码,并在“默认数据库”字段中选择目标数据库。
第二步:分配数据库角色
在我们创建了用户登录账号之后,接下来我们需要为他们分配适当的数据库角色。数据库角色是一组预定义的权限集合,用于管理用户对数据库对
象的访问权限。在“对象资源管理器”中,找到并展开目标数据库文件夹,然后展开“安全性”文件夹。在该文件夹上点击右键,选择“新建用户”。在弹出的对话框中,输入用户的登录名并选择默认模式(通常是dbo)。然后在“数据库角色”字段中,选择要为用户分配的角色。常见的数据库角色包括db_datareader(读取数据库中的数据),db_datawriter(写入数据库中的数据)和db_owner(具有对数据库的完全控制权)。在此选择适当的角色,并单击“确定”。
SQLServer如何创建用户呢
SQLServer如何创建用户呢
我们为大家收集整理了关于SQLServer如何创建用户,以方便大家参考。我们需要创建不同的用户,分配权限来管理不同的数据库。
--首先使用sp_addlogin添加登录exec sp_addlogin '用户名','密码',默认数据库
--然后向该用户授予访问某数据库的权限use 数据库名exec sp_grantdbaccess '用户名'
--最后授予该用户的具体权限,比如可以对某个表进行select操作,这要根据该用户需要的权限来设定use 数据库名grant select on 表名
to 用户名比如要新建帐户appuser,密码为pass,并允许该用户对appdb 数据库的test表有select 和update权限,那幺依次执行
exec sp_addlogin 'appuser','pass','appdb' go use appdb exec sp_grantdbaccess
'appuser' go use appdb grant select,update on test to appuser go GRANT 名称GRANT
— 赋予一个用户,一个组或所有用户访问权限语法GRANT privilege [, ...] ON object [, ...] TO { PUBLIC |
GROUP group | username } 输入privilege 可能的权限有:SELECT 访问声明的表/视图的所有列/字段. INSERT
在SQLServer 中如何创建用户 分配权限
s q l s e r v e r2000如何创建用户
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 '用户名','密码','默认数据库名'
项目2创建、管理SQLServer数据库
根据业务需求,设计合理的数据库表结构、索引、视图等,提高数据 查询效率。
实现数据管理功能
开发数据增删改查、备份恢复等管理功能,确保数据安全可靠。
提供技术支持与培训
为项目相关人员提供SQL Server数据库的技术支持和培训,提高团队 技能水平。
预期成果
稳定的数据库环境
实现SQL Server数据库的高效稳定 运行,满足企业日常运营需求。
成功创建并管理了sqlserver数据库,实 现了数据的存储、查询、更新和删除等 功能。
通过对数据库的优化,提高了数据的处理速 度和系统的性能。
建立了完善的数据备份和恢复机制, 确保了数据的安全性和可靠性。
未来发展趋势预测
数据库技术将更加注重数据的实时性、一致性和可扩 展性,以满足不断增长的业务需求。
SQL语言包括数据定义语言(DDL)、数据操作语 言(DML)、数据控制语言(DCL)和事务控制语 言(TCL)等部分。
SQL语句的执行通常需要通过数据库管理系统 (DBMS)进行,DBMS负责解析SQL语句并执行 相应的操作。
03
创建SQL Server数据库
安装与配置SQL Server
下载SQL Server安装包
通过T-SQL脚本创建数据库
打开新的查询窗口
在SSMS中,选择“文件”>“新 建”>“查询”,打开一个新的查询 窗口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
s q l s e r v e r2000如何创建用户
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[用户名]
--------------------------------------------------------------------------------
---------------------
建角色,用户,权限/*--示例说明示例在数据库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'
--拒绝安全账户 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'
--假设你的用户为bb
--1. 报告孤立用户USE db EXEC sp_change_users_login 'Report'GO
--2. 处理孤立用户USE db EXEC sp_change_users_login 'Auto_Fix','bb',null,'bb'