SQL Server的权限模型

Posted 程序人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server的权限模型相关的知识,希望对你有一定的参考价值。

  创建登录名

USE [master]
GO
/* For security reasons the login is created disabled and with a random password. */
/****** Object:  Login [lee]    Script Date: 2020/1/1 21:43:33 ******/
CREATE LOGIN login1 WITH 
PASSWORD=N\'login1\',--密码
DEFAULT_DATABASE=[TestDb],--默认登录数据库 
DEFAULT_LANGUAGE=[简体中文],
CHECK_POLICY=ON
GO

此时如果直接用此登录名登录,则会报错;原因是没有与数据库【TestDb】中的任何用户建立映射关系。

USE [TestDb]
GO

/****** Object:  User [User1]    Script Date: 2020/1/1 21:58:13 ******/
CREATE USER [User1] FOR LOGIN [login1] --与登录名建立映射关系
WITH DEFAULT_SCHEMA=[schema1]--设置用户的Schema
GO

再次登录则可以登录成功TestDb,此时没有任何权限,什么也看不到。

 

 

 

 执行以下代码进行授权

USE [TestDb]
GO
--创建schema,将其所有者设置为用户user1
CREATE SCHEMA [schema1] AUTHORIZATION user1
--创建角色
CREATE ROLE [role1]
--设置角色权限
grant create table,create procedure,create view to [role1] 
--将用户User1添加到role1角色中 
 exec sp_addrolemember \'role1\',\'User1 \' 

 

 

以上是关于SQL Server的权限模型的主要内容,如果未能解决你的问题,请参考以下文章

缺少 SQL SERVER 2014 代码片段

使用实体框架迁移时 SQL Server 连接抛出异常 - 添加代码片段

教程4 - 验证和权限

Django REST框架--认证和权限

如何向 SQL Server 添加用户并设置用户权限

SQL Server 授予的权限不起作用