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