SQL Server 创建用户并授权

创建用户前需要有一个数据库,创建数据库命令如下:

CREATE DATABASE 数据库名称;

复制代码
CREATE DATABASE database1;

一、创建登录用户

方式1:SQL命令

命令格式:CREATE LOGIN 用户名 WITH PASSWORD = '密码';

例如,创建登录用户名sa1,密码123456 的用户,命令如下:

复制代码
CREATE LOGIN [sa1] WITH PASSWORD = '123456'?

方式2:使用SSMS创建

选择管理员账户--【安全性】--【登录名】--右键--【新建登录名】

二、数据库中创建用户

方式1:SQL命令

命令格式:USE 数据库名称;

CREATE USER 用户名 FOR LOGIN 用户名;

例如,在数据库BLSH中创建用户sa1,命令如下:

复制代码
USE BLSH
CREATE USER sa1

方式2:使用SSMS创建

选择要创建用户的数据库--【安全性】--【用户】--右键--【新建用户】

例如,在数据库test中创建用户sa1,操作如下:

三、给用户授权

方式1:SQL命令

使用 GRANT 命令来授予相应的权限,使用REVOKE命令来撤销相应的权限

授权对表的 SELECT, INSERT, UPDATE 和 DELETE 权限格式:

USE 数据库名称;

GRANT 权限 ON 表名 TO 用户名;

复制代码
-- 授权对表的 SELECT, INSERT, UPDATE 和 DELETE 权限
GRANT SELECT, INSERT, UPDATE, DELETE ON dt_users TO sa1;

-- 对存储过程授予执行权限
GRANT EXECUTE ON YourStoredProcedure TO sa1;
?
-- 撤销对表的 SELECT, INSERT, UPDATE 和 DELETE 权限
REVOKE SELECT, INSERT, UPDATE, DELETE ON dt_users FROM sa1;
?
-- 撤销对存储过程的执行权限
REVOKE EXECUTE ON YourStoredProcedure FROM sa1;
?
-- 撤销创建表的权限
REVOKE CREATE TABLE FROM sa1;
?
-- 撤销创建视图的权限
REVOKE CREATE VIEW FROM sa1;
?
-- 撤销连接数据库的权限
REVOKE CONNECT FROM sa1;

-- 查询用户当前权限
SELECT * FROM sys.database_permissions WHERE grantee_principal_id = USER_ID('sa1');

方式2:使用SSMS创建

* 对整个数据库授权

选择管理员用户--【安全性】--【登录名】--在要授权的登录名上右键--【属性】

例如,给sa1账户授予test数据库所有用户表的查询权限,操作如下:

注:public为可以连接该数据库,db_datareader为可以读取该数据库的数据,其他数据库角色含义请点击查看数据库角色含义

* 对数据库表单独授权

选择要授权的数据库--【安全性】--【用户】--在要授权的用户上右键--【属性】

例如,给sa1_1用户授予test数据库CRM_Shops表的查询权限,操作如下:

查询表时出现以下提示表示没有查询权限:

操作数据库时出现以下提示表示没有给该用户开通此数据库的任何权限:

相关推荐
此时不提桶,更待何时3 分钟前
05-04-B-HBase与时序库面试与生产事故实战
数据库·面试·hbase
Shadow(⊙o⊙)29 分钟前
表的增删查改
数据库·mysql
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue外卖点餐系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
盟接之桥2 小时前
线束数字化--先进先出为什么总是停留在纸面上?
大数据·网络·数据库·人工智能·制造·ai编程
adinnet20263 小时前
预算管控:预算执行与偏差问数
大数据·数据库
Omics Pro5 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
IT枫斗者枫哥12 小时前
MyBatis一对多分页:LIMIT 20,为什么凑不齐20个订单?
java·数据库
Y0012 小时前
PostgreSQL 的锁:为什么你的 ALTER TABLE 会卡住,以及怎么查
数据库·postgresql
灰原喜欢柯南13 小时前
OceanBase 运维管理知识点——OCP 监控、诊断与变更控制
数据库·oceanbase
码农-00413 小时前
Springboot 集成 Ehcache操作数据库显示SQL语句设置
数据库·spring boot·sql