SQL service 安全管理(1)登录名(创建与删除)
确保安全性
这里只讨论与数据库有关的用户身份验证和用户权限管理等技术。
SQLServer的自主存取控制模式中,用户访问数据库数据都要经过三个安全认证过程
第一个过程确认用户是否是数据库服务器的合法账户(具有登录名);
第二个过程确认用户是否是所访问的数据库的合法用户(是数据库用户);
第三个过程确认用户是否具有合适的操作权限(权限认证)。这个过程的示意图如图11-2所示。
用户在登录到数据库服务器后,还是不能访问任何用户数据库,须经第二步认证,让用户成为某个数据库的合法用户。用户成为数据库合法用户之后,对数据库中的用户数据还不具有任何操作权限,须经第三步认证,授予用户合适的操作权限。下面分别介绍在SQLServer2012中如何实现这三个认证过程。
登录名
身份验证模式
SQLServer2012支持两类登录名。一类是由SQLServer自身负责身份验证的登录名;另一类是登录到SQLServer的Windows网络账户,可以是组账户或用户账户。根据不同的登录名类型,SQLServer2012相应地提供了两种身份验证模式:Windows身份验证模式和混合身份验证模式。
windows身份验证
无需密码账号,相当于本地登录
混合身份模式
用sql 设置的用户名和密码登录,默认是sa用户,就是管理员用户
可以在安装过程中设置身份验证模式,也可以在安装完成后在SSMS工具中设置。具体方法是:在要设置身份验证模式的SOLServer实例上右击,从弹出的菜单中选择“属性命令以弹出“服务器属性”窗口,在该窗口左边的“选择页”上,单击“安全性”选项,然后在显示窗口(如图11-3所示)的“服务器身份验证”部分,可以设置身份验证模式(其中的“SQLServer和Windows身份验证模式”即为混合身份验证模式)。
建立登录名
SQLServer建立登录名有两种方法,一种是用SSMS工具通过图形化方法实现,另一种是通过T-SQL语句实现。下面分别介绍这两种实现方法。
图形化SSMS建立用户名
使用Windows登录名连接到SQLServer时,SQLServer依赖操作系统的身份验证,而且只检查该登录名是否已经在SQLServer实例上映射了相应的登录名,或者该Windows用户是否属于一个已经映射到SQLServer实例上的Windows组。使用Windows登录名进行的连接称为信任连(TrustedConnection)。在使用SSMMS工具建立Windows身份验证的登录名之前,应该先在操作系统中建立一个Windows用户,假设我们这里已经在操作系统建立好了Windows用户,用户名为“Win_User1”
在SSMS工具中,建立Windows身份验证的登录名的步骤如下。
1.点击数据库对象–安全性—新建登录名
点击搜索按钮
点击高级
点击立即查找
这里就是可用的Windows组和对象,选择一组,就表明他们可以登录上sql
选择新创建的用户win_user1
创建新用户需要去我的电脑—右键管理–本地用户与组----用户
确定完成创建
这时如果用户用Win_Userl登录操作系统,并连接到SQLServer,则连接界面中的登录名应该是HEYUJIE-PC\Win_Userl。
意思是要用这个用户名登录操作系统,就会显示Windows登录为你登录的
SQL 身份验证模式(混合模式)
先以本地模式即windows 模式登录上再说
安全性—登录名----新建用户
选择sql 登录模式,输入密码
中间几个复选框解释
- 强制实施密码策略:表示对该登录名强制实施密码策略,这样可强制用户的密码具有一定的复杂性。在WindowsServer2003或更高版本环境下运行SQLServer2012时,可以使用Windows密码策略机制(在WindowsXP操作系统下不支持密码策略)。SQLServer2012可以将WindowsServer2003中使用的复杂性策略和过期策略应用于SQLServer内部使用的密码。就是密码规则更加复杂
- 强制密码过期:对该登录名强制实施密码过期策略。必须先选中“强制实施密码策略”
才能启用此复选框。 - 用户在下次登录时必须更改密码:首次使用新登录名时,SQLServer将提示用户输入新密码。
- 默认数据库:指定该登录名初始登录到SSMS时进人的数据库。
- 默认语言:指定该登录名登录到SQLServer时使用的默认语言。一般情况下,都使用“默认值”,使该登录名使用的语言与所登录的SQLSerer实例所使用的语言一致。
这里去掉“强制实施密码策略”复选框,然后单击“确定”按钮,完成对登录名的建立。
用SQL语句实现
举个例子
【例1】创建SQLServer身份验证的登录名。登录名:SQL_Use2,密码:123
语句为:
create login SQL_User2 with password='123';
【例2】创建Windows身份验证的登录名。从Windows域用户选择自己电脑的用户名作为SQLServer登录名。语句为:
用这个Win_User2作为用户名
create login [CHENHAO\Win_User2] from windows;
CHENHAO是window用户组
【例3】创建SQLServer身份验证的登录名。登录名:SQL_User3,密码:123。要求该登录名首次连接服务器时必须更改密码。语句为:
create login SQL_User3 with password='123' MUST_CHANGE
会报错这个
消息 15099,级别 16,状态 1,第 1 行
当 CHECK_EXPIRATION 设为 OFF (关)时,不能使用 MUST_CHANGE 选项。
因为设置密码过期未选
比如SQL_User2
点击确定
ALTER LOGIN SQL_User2 WITH PASSWORD='123' MUST_CHANGE;
修改为必须修改密码
若是变回来怎么办
直接点会报错
说明当必须密码更新为开的时候,不能把强制密码策略和强制密码过期 关闭
MUST_CHANGE------>>>CHECK_POLICK CHECK_EXPIRATION
这时候要
ALTER LOGIN SQL_User2 WITH PASSWORD='123' ;
就能去掉了mustchange
删除用户名
用设计器SSMS实现
1)以系统管理员身份连接到SSMS,在SSMS的对象资源管理器中,依次展开“安全性”→“登录名”节点。
2)在要删除的登录名(NewUser)上右击鼠标,从弹出的菜单中选择“删除”命令。弹出如图11-10所示的删除登录名属性窗口。
3)在图11-10所示的窗口,若确实要删除此登录名,则单击“确定”按钮,否则单击“取消”按钮。我们这里单击“确定”按钮,系统会弹出一个如图11-11所示的提示窗口,该窗口提示用户,在此窗口上单击“确定”按钮,删除NewUser登录名。
用sql语句实现
语句是DROP 删除的登录名
注意:不能删除正在使用的登录名,也不能删除拥有任何数据库对象、服务器级别对象的登录名。
DROP login SQL_User2
SQL service 安全管理(1)登录名(创建与删除)相关推荐
- SQL Server2005设置sa登录名
在我的机子上最初是安装的SQLExpress版的数据库,当时使用windows身份验证方式,现在需要更改为SQL Server身份验证方式,只需简单的三步即可: 第一步: 首先进入windows身份验 ...
- 合肥工业大学—SQL Server数据库实验五:创建和删除索引
创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...
- SQL约束和字段约束的创建和删除
1)禁止所有表约束的SQL select 'alter table '+name+' nocheck constraint all' from sysobjects where type='U' 2) ...
- SQL Server 创建登录名和用户名【详细介绍】
在SQL Server中新建登录名和数据库用户既可通过SSMS可视化窗口创建,也可通过SQL语句创建~
- sql2008 新建登录用户只能修改某一个表 服务器角色,sql语句创建新登录名和设置权限...
use DBName go --新增用户 exec sp_addlogin '用户名','密码','默认数据库名' --添加登录 exec sp_grantdbaccess N'test' --使其成 ...
- ssis sql_使用sp_help_revlogin和SSIS传输登录任务将SQL登录名传输到AG的辅助副本
ssis sql In this article, I am going to explain how we can transfer logins to the secondary replica ...
- SQL Server登录名,用户和安全标识符(SID)
抽象 (Abstract) Logins and Users are basic security concepts in SQL Server. They are often, and incorr ...
- sqlserver 登录名与数据库用户
2.2 登录名 2.2.1 登录名 登录名是服务器级别的一个实体,用于登录到 SQL Server 实例.登录名的元数据保存在 master 数据库的 syslogins 表. 登录名包括以下2类: ...
- SQL Server安全:登录和用户
SQL Server安全:登录和用户 前言 建议配合sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系一起看. 授予 Principal (安全主体)操作 Securable ...
最新文章
- switchyomega规则列表备份_求人不如求己,自己动手写一个CSDN博客备份小工具?...
- vue 数据劫持详解
- Spring-AOP @AspectJ切点函数之args()和@args()
- Python-OpenCV 杂项(一):图像绘制
- matlab 批量缩小图片
- java 四则运算 栈的实现
- 2020哔哩哔哩流量生态白皮书:流量趋势与up主生存状况调研
- Validform实时表单验证插件实例使用
- SQL Server商业智能–在已建立的数据仓库中扩展事实表
- matlab生猪的出售时机,数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型.doc...
- 简述利用PE系统破解Windows密码
- linux 安装codeql环境 (二)codeql database create通过报错分析其流程
- Elasticsearch 快速检索的秘诀
- QT实现图片缩放的同时标记指定坐标
- c语言中\n,\t,\r,\b的用法和区别
- Maven中java/javaweb工程目录结构,<buid>、<properties>标签
- arcgis for android(十)地理(电子)围栏实现
- Oracle 能够tnsping,但程序无法访问
- mybatis plus 格式话_(转)mybatis-plus的使用 ------ 进阶
- GD32 SPI0 REMAP设置
热门文章
- Android 10.0增加低电量弹窗
- 7-40 最佳情侣身高差
- iPhone4翻新机愈演愈烈:回收价格高达4400元
- 人像抠图怎么抠出来?这几种抠图方法一看就会
- Python描述数据结构之数组和特殊矩阵篇
- Java:根据年龄, 来打印出当前年龄的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
- 人生苦短,我用PyCharm
- TortoiseGit删除分支
- TextView 添加删除线
- Makefile自定义函数 / pushd,popd / ifneq / findstring / camke内置变量