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');
相关推荐
zh1570232 分钟前
c++ 零知识证明库 c++如何使用bellman或libsnark
jvm·数据库·python
2401_898717665 分钟前
mysql如何利用cron定时备份_mysql自动化配置说明
jvm·数据库·python
会编程的土豆8 分钟前
MySQL DDL(数据定义语言)总结
数据库·mysql·oracle
zhoutongsheng10 分钟前
SQL利用子查询实现复杂条件排序_嵌套逻辑实现业务规则
jvm·数据库·python
一直有一个ac的梦想12 分钟前
cmu15445 2025fall lec15 query optimiaztion Pt1
java·服务器·数据库
2301_7662834412 分钟前
如何在 Go 中使用 gocql 执行本地 CQL 脚本文件
jvm·数据库·python
dFObBIMmai13 分钟前
MongoDB防注入攻击指南
jvm·数据库·python
彳亍10114 分钟前
如何解决Oracle启动ORA-00119错误_网络服务名与listener相关性
jvm·数据库·python
weixin_4597539416 分钟前
c++怎么编写多线程安全的跨平台文件日志库_无锁队列与异步IO【附源码】
jvm·数据库·python
夏恪16 分钟前
如何用 IDBKeyRange 范围匹配检索特定区间的本地数据
jvm·数据库·python