SQL Server 创建用户并授权

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

CREATE DATABASE 数据库名称;

sql 复制代码
CREATE DATABASE database1;

一、创建登录用户

方式1:SQL命令

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

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

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

方式2:使用SSMS创建

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

二、数据库中创建用户

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

CREATE USER 用户名 FOR LOGIN 用户名;

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

sql 复制代码
USE BLSH
CREATE USER sa1

三、给用户授权

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

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

USE 数据库名称;

GRANT 权限 ON 表名 TO 用户名;

sql 复制代码
-- 授权对表的 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');
相关推荐
IvorySQL2 小时前
PostgreSQL 日报|恢复期 COPY TO 未日志表修复(10 月 21 日)
数据库·postgresql·区块链
贝猫说python3 小时前
大模型比赛2.3智能体开发(工具调用智能问答助手)
数据库·oracle
许彰午4 小时前
28-ORA-01110数据文件读取错误
数据库·oracle
凯凯姜4 小时前
MySQL 联合索引设计与索引失效
数据库·mysql
猫咪很可爱5 小时前
Oracle TEMP 表空间不足(ORA-01652)问题分析与优化实践
数据库·oracle
九零HTTP6 小时前
10月21号-CSDN配菜-IP池的5个坑
服务器·数据库·tcp/ip
Data-Miner7 小时前
需要做财务数据分析,有什么好用的工具?从准备到出报告的实操指南
大数据·数据库·数据分析
袋鼠云数栈7 小时前
让 SQL 解析不再重复造轮子:SqlParserX 正式开源
数据库·人工智能·sql·开源·数据治理
这个DBA有点耶8 小时前
期货 CTP 系统 Oracle RAC 迁移国产库实战:读写分离架构设计与性能对标
数据库·架构·dba
数据库安全8 小时前
AI数据访问安全 |如何控制AI访问权限,防止越权
数据库·安全