sql server 创建用户与授权

Sql Server 中 用T-SQL的形式创建新用户并授权

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

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

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

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

2. 声明服务器级别的角色

alter server role [sysadmin] add member username;

将username 的服务器角色修改为 sysadmin

3. 创建数据库用户(create user)注意在当前数据库中执行该命令use mydb 切换数据库

use mydb
go
create
user username for login username with default_schema=dbo
go

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

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

use mydb
go
exec
sp_addrolemember 'db_owner', 'username'
go

此时,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 的管理权限了!

5. 禁用、启用登陆帐户

alter login username disable;
alter login username enable;

6. 登陆帐户改名

alter login username with name=username_tom

7. 登陆帐户改密码

alter login username with password='sqlstudy.com'

8. 数据库用户改名

alter user username with name=username_tom

9. 更改数据库用户 defult_schema

alter user username with default_schema=sales

10. 删除数据库用户

drop user username

11. 删除 SQL Server登陆帐户

drop login username

 

posted @ 2019-08-27 10:05  段小波  阅读(1405)  评论(0编辑  收藏  举报