116  
查询码: 00000241
sql server 创建用户与授权 - 段小波 - 博客园
来源:https://www.cnblogs.com/applebox/articles/11416552.html?ivk_sa=1024320u
作者: 周杨 于 2022年06月28日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER ,于 2022年06月28日 编辑
username 数据库 数据 用户 帐户 登陆 server 创建 schema create

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




 历史版本

备注 修改日期 修改人
CREAT 2022-06-28 11:29:28[当前版本] 系统管理员

  目录
    知识分享平台 -V 5.1.4 -大信谛威