数据库操作
创建数据库
CREATE DATABASE 数据库名称 ON PRIMARY
(
NAME='数据库逻辑文件名称',--主文件逻辑文件名
FILENAME='路径/数据库文件名.mdf', --主文件文件名,windows:D:\data\data.mdf linux:/data/data.mdf
SIZE=5mb,--系统默认创建的时候会给主文件分配初始大小
MAXSIZE=500MB,--主文件的最大值
filegrowth=15%-- 主文件的增长幅度
)
LOG ON
(
name='日志逻辑文件名称',--日志文件逻辑文件名
filename='路径/日志文件名.ldf',--日志文件屋里文件名,windows:D:\log\log.ldf linux:/log/log.ldf
SIZE=5MB,--日志文件初始大小
filegrowth=0 --启动自动增长
)
删除数据库
drop database 数据库名称;
用户操作
sqlserver数据库对于用户方面分三部分:登录名、数据库用户和用户权限。登录名在登录时使用;数据库用户用于操作具体的数据库,他拥有数据库的各项权限;用户权限就是数据库用户所能操作的权限范围。其中登录名需要与数据库用户做映射,这样登录后才可以正常使用数据库。
用户创建
# 创建登录名,默认数据库名称是指登录后默认显示的数据库
create login 登录名 with password = '密码', default_database = 默认数据库名称(可选);
# 创建用户,同时映射到登录名
create user 用户名 form login 用户名;
用户删除
drop user 用户名;
用户授权
数据库对象权限
数据库对象权限是对数据库下一级内容的权限操作,包括表、视图、存储过程、函数等的数据处理操作,不包括定义操作。
# 授权,如果加上with grant option代表该用户可将被授予的权限赋予其他人
grant 权限名 on 表名 to 数据库用户名 with grant option;
# 示例
grant select on student to user1,user2;#将student表的查询权限赋予user1和user2
grant select(table1) on student to user1,user2;# 将table1的查询权限授予user1和user2
# 拒绝权限,被授予的用户禁止操作
deny 权限名 on 表名 to 数据库用户名;
# 撤销权限
revoke 权限名 on 表名 to 用户名;
数据库权限
数据库权限是指数据库用户对于数据库及其中内容的定义权限。
# 授权
grant 数据库权限 to 用户名;
# 实例
grant create table to user1;# 给user1授予创建表权限
# 撤销权限
revoke 数据库权限 to 用户名;
# 实例
revoke create table to user1;# 撤销user1的创建表权限
数据库角色管理
创建数据库角色
create role 角色名 authorization 拥有者;
授予用户数据库角色
除了可以自己创建数据库角色也可以使用系统自带的一些。
数据库角色 | 权限含义 |
db_owner | 该数据库所有权限 |
db_securityadmin | 修改数据库角色成员并管理权限 |
db_accessadmin | 可以为登录名添加数据库访问权限 |
db_backupoperator | 备份数据库 |
db_ddladmin | 数据定义操作 |
db_datawriter | 数据库内用户表添加、删除、更新操作 |
db_datareader | 数据库内用户表读取操作 |
db_denydatawriter | 不能再数据库内执行用户表添加、删除、更新操作 |
db_denydatareader | 不能读取用户表数据 |
# 授权,使用存储过程为其授权
execute sp_addrolemember 数据库角色,数据库用户;
# 收回角色
execute sp_droprolemember 数据库角色,数据库用户;
本文暂时没有评论,来添加一个吧(●'◡'●)