sql server 用户创建与权限管理

摘要:
假设我们要设置一个用户名数据库帐户来管理数据库mydb。此时,用户名帐户可以连接到SQL Server服务器。这意味着用户“username”正在执行“select*fromt”,实际上是“select*fromdbo.t”。如果您希望SQL Server登录帐户“username”访问多个数据库,例如mydb2。
                    版权声明:本文为博主原创文章,可以转载,但必须以链接形式声明出处。                        https://blog.csdn.net/zhang123456456/article/details/82490672                    </div>
                                                <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
            <div   id="content_views">
                                        <p>要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权:一、获得准许连接 SQL Server 服务器的权利; 二、获得访问特定数据库中数据的权利(select, update, delete, create table ...)。 假设,我们准备建立一个 username 数据库帐户,用来管理数据库 mydb。</p>

一、 windows身份验证

1. 控制面板 > 用户管理 > 创建用户

2. sql server登录名创建

CREATE LOGIN [WIN-5UAU8F9CP3Fandy] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO

3. 数据库权限授权

二、 sql server身份验证

1. 首先在 SQL Server 服务器级别,创建登陆帐户(create login)

create login username with password='sqlstudy', default_database=mydb

登陆帐户名为:“username”,登陆密码:“sqlstudy”,默认连接到的数据库:“mydb”。 这时候,username 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能 访问数据库中的对象(严格的说,此时 username 帐户默认是 guest 数据库用户身份, 可以访问 guest 能够访问的数据库对象)。

要使 username 帐户能够在 mydb 数据库中访问自己需要的对象, 需要在数据库 mydb 中建立一个“数据库用户”,赋予这个“数据库用户” 某些访问权限,并且把登陆帐户“username” 和这个“数据库用户” 映射起来。 习惯上,“数据库用户” 的名字和 “登陆帐户”的名字相同,即:“username”。 创建“数据库用户”和建立映射关系只需要一步即可完成:

2. 创建数据库用户(create user):

create user username for login username with default_schema=dbo

并指定数据库用户“username” 的默认 schema 是“dbo”。这意味着 用户“username” 在执行“select * from t”,实际上执行的是 “select * from dbo.t”。

3. 通过加入数据库角色,赋予数据库用户“username”权限:

exec sp_addrolemember 'db_owner', 'username'

此时,username 就可以全权管理数据库 mydb 中的对象了。
如果想让 SQL Server 登陆帐户“username”访问多个数据库,比如 mydb2。 可以让 sa 执行下面的语句:
use mydb2 go create user username for login username with default_schema=dbo go exec sp_addrolemember 'db_owner', 'username'go
此时,username 就可以有两个数据库 mydb, mydb2 的管理权限了!

4. 禁用、启用登陆帐户:

alter login username disable
alter login username enable

5. 登陆帐户改名:

alter login username with name=username_tom

提示:在 SQL Server 2005 中也可以给 sa 改名。 《SQL Server 2005 安全性增强:给超级用户 sa 改名》

6. 登陆帐户改密码:

alter login username with password='sqlstudy.com'

7. 数据库用户改名:

alter user username with name=username_tom

8. 更改数据库用户 defult_schema:

alter user username with default_schema=sales

9. 删除数据库用户:

drop user username

10. 删除 SQL Server登陆帐户:

drop login username

免责声明:文章转载自《sql server 用户创建与权限管理》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇informatica 厂商培训资料SQL SERVER 的模糊查询 LIKE下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

sql server 2008安装图解

本篇文章介绍了安装SQL Server 2008企业版的软硬件配置要求,安装过程的具体步骤,以及须要注意的事项。 步骤/方法 1 在这里我们将用图解的方式。来介绍SQL Server 2008安装和配置过程。希望对大家有所帮助。 2 选择版本号,或者输入密钥自己主动识别版本号...

转:Log Explorer使用说明恢复被误删除的数据

一、介绍 Log Explorer主要用于对MSSQLServer的事物分析和数据恢复。你可以浏览日志、导出数据、恢复被修改或者删除的数据(包括执行过update,delete,drop和truncate语句的表格)。一旦由于系统故障或者人为因素导致数据丢失,它能够提供在线快速的数据恢复,最大程度上保证恢复期间的其他事物不间断执行。 他可以支持SQLSer...

Spring配置-数据库连接池proxool[转]

 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据...

全网最通俗易懂理清mybatis中SqlSession、SqlSessionTemplate、SessionFactory和SqlSessionFactoryBean之间的关系

摘自:https://www.cnblogs.com/xiaoming0601/p/12166160.html 我潇洒的灰大狼又回来啦。今天送大家的一句话是: 保持耐心,永远年轻,永远热泪盈眶。 前言 先容我哭一会儿,呜呜呜~昨晚写了一半的文章,还没保存就盖上盖子准备回家,拔下电源准备把电脑塞进书包带回家完成时,懒惰阻止了我,最终还是没带回家,于是,遭报...

SQL Server ErrorLog 错误日志(如果数据库所占空间变大)

默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为: ErrorLog ErrorLog.1 ErrorLog.2 ErrorLog.3 ErrorLog.4 ErrorLog.5 ErrorLog.6 在 APACS OS 版本 6.1 中,ErrorLog 文件保存在 c:\Program Files\Microsoft...

SQLServer 错误: 15404,维护计划无法执行

   错误症状: D:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOG下面的ERROELOG,用文本打,查看运行维维计划不成功是生成的错误日志详细信息:2011-08-11 14:16:48 - ! [298] SQLServer 错误:  15404,无法获取有关 Windows NT 组/用户 '计算...