SQLServer修改登陆账户信息
修改登陆账户信息注意事项
如果 CHECK_POLICY设置为ON,则无法使用 HASHED参数。
如果 CHECK_POLICY更改为ON,则将出现以下行为:
用当前的密码哈希值初始化密码历史记录。
如果 CHECK_POLICY 更改为 OFF,则将出现以下行为:
CHECK_EXPIRATION 也设置为 OFF。
清除密码历史记录。
重置 lockout_time 的值。
如果指定MUST_CHANGE,则CHECK_EXPIRATION和CHECK_POLICY必须设置为ON。 否则,该语句将失败。
如果CHECK_POLICY设置为OFF,则CHECK_EXPIRATION不能设置为ON。 包含此选项组合的 ALTER LOGIN 语句将失败。
不能使用带DISABLE 参数的ALTER_LOGIN来拒绝对Windows 组的访问。 例如,ALTER_LOGIN [domain\group] DISABLE将返回下列错误信息:
"消息 15151,级别 16,状态 1,第 1 行"
"无法更改登录名 'Domain\Group',因为它不存在,或者你没有相应权限。"
这是设计的结果。
在SQL Database中,对连接和服务器级别的防火墙规则进行身份验证时所需的登录数据会暂时缓存在每个数据库中。 此缓存定期刷新。 若要强制刷新身份验证缓存并确保数据库具有最新版本的登录名表,请执行DBCC FLUSHAUTHCACHE (Transact-SQL)。
需要ALTER ANY LOGIN权限。
如果使用CREDENTIAL选项,则还需要ALTER ANY CREDENTIAL权限。
如果正在更改的登录名是sysadmin固定服务器角色的成员或CONTROL SERVER权限的被授权者,则进行以下更改时还需要CONTROL SERVER权限:
在不提供旧密码的情况下重置密码。
启用MUST_CHANGE、CHECK_POLICY或CHECK_EXPIRATION。
更改登录名。
启用或禁用登录名。
将登录名映射到其他凭据。
主体可更改用于自身登录的密码、默认语言以及默认数据库。
使用SSMS数据库管理工具修改登陆账户信息
1、连接数据库-》展开安全性-》展开登陆名-》选择要修改的登陆账户-》右键点击-》选择属性。
2、在登陆属性弹出框-》点击常规-》修改登陆名、密码、证书、映射到凭据、默认数据库、语言等。
3、在登陆属性弹出框-》点击服务器角色-》修改服务器角色(数据库角色指定了可以访问相同数据库对象的一组数据库用户)。
4、在登陆属性弹出框-》点击服务器角色-》修改用户映射(登录名用于授权并访问服务器资源,如果需要访问数据库,需要对数据库内部的用户进行映射。用户是数据库级别的安全主体,访问数据库资源是授予给用户,而不是登录名。)。
5、在登陆属性弹出框-》点击安全对象-》修改数据库安全对象和安全对象权限(安全对象,是SQL Server 数据库引擎授权系统控制对其进行访问的资源。通俗点说,就是在SQL Server权限体系下控制的对象,因为所有的对象(从服务器,到表,到视图触发器等)都在SQL Server的权限体系控制之下,所以在SQL Server中的任何对象都可以被称为安全对象)。
6、在登陆属性弹出框-》点击状态-》修改登陆账户状态(禁用用户登陆或者连接数据库)。
使用T-SQL脚本修改登陆账户信息
启用或禁用此登录名
语法
--声明数据库引用
use database_name;
go --创建登录用户
alter login login_name { enable | disable }
go
语法解析
--database_name
--数据库名
--login_name
--指定正在更改的SQL Server登录名的名称。 域登录名必须用方括号括起来,其格式为[domain\user]。
--enable | disable
--启用或禁用此登录名。 禁用登录名不会影响已连接登录名的行为。
--(使用 KILL 语句终止现有连接。)禁用的登录名将保留它们的权限,且仍然可以模拟。
示例
--声明数据库引用
use testss;
go --创建登录用户
alter login testuser
disable
go
示例结果
更改登录帐户的属性
语法
--声明数据库引用
use database_name;
go --修改登录账户属性
alter login login_name
with
password={ 'password' | hashed_password hashed [old_password='oldpassword' [must_change | unlock] ]}[,]
default_database=database[,]
default_language=language[,]
name=login_name[,]
check_policy={ on | off }[,]
check_expiration={ on | off }[,]
credential=credential_name[,]
no credential[,]
add credential credential_name[,]
drop credential credential_name
语法解析
--database_name
--数据库名称
--login_name
--指定正在更改的SQL Server登录名的名称。 域登录名必须用方括号括起来,其格式为 [domain\user]。
--password='password*'
--仅适用于SQL Server登录名。指定正在更改的登录名的密码。密码是区分大小写的。
--与SQL数据库持续保持活动连接需要至少每隔10小时进行重新授权(由数据库引擎执行)。
--数据库引擎使用最初提交的密码尝试重新授权,且无需用户输入。出于性能原因,在SQL数据库中重置密码时,连接将不会重新进行身份验证,即使该连接因连接池而重置。
--这与本地SQLServer的行为不同。如果自最初授权连接时已更改密码,则必须终止连接,并使用新密码建立新连接。具有KILL DATABASE CONNECTION权限的用户可使用KILL命令,显式终止与SQL数据库的连接。
--password=hashed_password
--仅适用于HASHED关键字。指定要创建的登录名的密码的哈希值。
--hashed
--仅适用于SQL Server登录名。 指定在PASSWORD参数后输入的密码已经过哈希运算。
--如果未选择此选项,则在将密码存储到数据库之前,对其进行哈希运算。此选项只能用于在两台服务器之间同步登录名。 切勿使用HASHED选项定期更改密码。
--old _password='oldpassword'
--仅适用于SQL Server登录名。要指派新密码的登录的当前密码。密码是区分大小写的。
--must_change
--适用范围: SQL Server 2008 到 SQL Server 2017、并行数据仓库。
--仅适用于SQL Server 登录名。 如果包括此选项,则SQL Server将在首次使用已更改的登录名时提示输入更新的密码。
--unlock
--适用范围:SQL Server 2008到SQL Server 2017、并行数据仓库。
--仅适用于SQL Server登录名。 指定应解锁被锁定的登录名。
--default_database=database
--适用范围:SQL Server 2008到SQL Server 2017。
--指定将指派给登录名的默认数据库。
--default_language=language
--适用范围: SQL Server 2008 到 SQL Server 2017。
--指定将指派给登录名的默认语言。 所有SQL数据库登录名的默认语言为英语,并且无法更改。
--Linux上SQL Server的sa登录名的默认语言是英语,但可以更改。
--name=login_name
--正在重命名的登录的新名称。
--如果是Windows登录,则与新名称对应的Windows主体的SID必须匹配与SQL Server中的登录相关联的SID。
--SQL Server登录名的新名称不能包含反斜杠字符 (\)
--check_expiration={ on | off }
--适用范围:SQL Server 2008到SQL Server 2017、并行数据仓库。
--仅适用于SQL Server登录名。指定是否应对此登录帐户强制实施密码过期策略。默认值为OFF。
--check_policy={ on | off }
--适用范围:SQL Server 2008到SQL Server 2017、并行数据仓库。
--仅适用于SQL Server登录名。指定应对此登录名强制实施运行SQL Server的计算机的Windows密码策略。 默认值为ON。
--credential=credential_name
--适用范围:SQL Server 2008到SQL Server 2017。
--将映射到SQL Server登录的凭据的名称。该凭据必须已存在于服务器中。
--有关详细信息,请参阅凭据(数据库引擎)。凭据不能映射到sa登录名。
--no credential
--适用范围:SQL Server 2008到SQL Server 2017。
--删除登录到服务器凭据的当前所有映射。
--add credential
--适用范围:SQL Server 2008到SQL Server 2017。
--将可扩展的密钥管理 (EKM) 提供程序凭据添加到登录名。有关详细信息,请参阅可扩展的密钥管理(EKM)。
--drop credentiil
--适用范围:SQL Server 2008到SQL Server 2017。
--从登录名删除可扩展密钥管理 (EKM) 提供程序凭据。有关详细信息,请参阅可扩展的密钥管理(EKM)。
示例
--声明数据库引用
use testss;
go --修改登陆账户属性
alter login testuser
with
password='1234',
--default_database=database[,]
--default_language=language[,]
name=testuser,
check_policy=on,
check_expiration=on
--credential=credential_name [,]
--no credential[,]
--add credential credential_name[,]
--drop credential credential_name --可以添加多个服务器角色
--创建服务器角色, 服务器角色用于向用户授权服务器范围内的安全特权
--alter server role [bulkadmin] drop member [testuser];
--go
--alter server role [dbcreator] drop member [testuser];
--go
--alter server role [diskadmin] drop member [testuser];
--go
--alter server role [processadmin] drop member [testuser];
--go
--alter server role [securityadmin] drop member [testuser];
--go
--alter server role [serveradmin] drop member [testuser];
--go
--alter server role [setupadmin] drop member [testuser];
--go
--alter server role [sysadmin] drop member [testuser];
--go --创建用户映射,映射到此登录名的用户
--use [master]
--go
--drop user [testuser]
--go --use [msdb]
--go
--drop user [testuser]
--go --use [ReportServer]
--go
--drop user [testuser]
--go --use [ReportServerTempDB]
--go
--drop user [testuser]
--go --use [tempdb]
--go
--drop user [testuser]
--go --use [testss]
--go
--drop user [testuser]
--go ----声明数据库引用
--use [testss]
--go ----授予不安全的程序集
--grant unsafe assembly to testuser;
--go ----授予查看服务器状态
--grant view server state to testuser;
--go ----授予查看任意定义
--grant view any definttion to testuser;
--go ----授予查看任意数据库
--grant view any database to testuser;
--go ----授予创建DDL事件通知
--grant create ddl event notification to testuser;
--go ----授予创建端点
--grant create endpoint to testuser;
--go ----授予创建服务器角色
--grant create server role to testuser;
--go ----授予创建跟踪事件通知
--grant create trace event notification to testuser;
--go ----授予创建可用性组
--grant create availability group to testuser;
--go ----授予创建任意数据库
--grant create any database to testuser;
--go ----授予更改服务器状态
--grant alter server state to testuser;
--go ----授予更改跟踪
--grant alter trace to testuser;
--go ----授予更改任何服务器角色
--grant alter any server role to testuser;
--go ----授予更改任何可用性组
--grant alter any availability group to testuser;
--go ----授予更改任意登录名
--grant alter any login to testuser;
--go ----授予更改任意端点
--grant alter any endpoint to testuser;
--go ----授予更改任意服务器审核
--grant alter any server audit to testuser;
--go ----授予更改任意权限
--grant alter any connection to testuser;
--go ----授予更改任意连接服务器
--grant alter any linked server to testuser;
--go ----授予更改任意凭据
--grant alter any credential to testuser;
--go ----授予更改任意事件会话
--grant alter any event session to testuser;
--go ----授予更改任意事件通知
--grant alter any event notification to testuser;
--go ----授予更改任意数据库
--grant alter any database to testuser;
--go ----授予更改设置
--grant alter settings to testuser;
--go ----授予更改资源
--grant alter resources to testuser;
--go ----授予关闭
--grant shutdown to testuser;
--go ----授予管理大容量操作
--grant administer bulk operations to testuser;
--go ----授予控制服务器
--grant control server to testuser;
--go ----授予连接SQL
--grant connect sql to testuser;
--go ----授予外部访问程序集
--grant external access assembly to testuser;
--go ----授予验证服务器
--grant authenticate server to testuser;
--go --设置是否允许连接到数据库引擎
--deny connect sql to testuser;
--go
--是否允许登录
--alter login testuser disable;
--go ----用户状态
----声明默认数据库引用
--use [testuser]
--go
----是否允许用户连接到数据库引擎
--deny connect sql to [testuser];
--go
----是否允许登录
--alter login [testuser] { enable | disable }
--go
示例结果
SQLServer修改登陆账户信息的更多相关文章
- 关于SqlServer修改数据库常用信息的方法
--系统表里存放各个数据库属性信息的表之一SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [Fi ...
- 用 Flask 来写个轻博客 (19) — 以 Bcrypt 密文存储账户信息与实现用户登陆表单
目录 目录 前文列表 修改 User Model Flask Bcrypt 将 Bcrypt 应用到 User Model 中 创建登陆表单 前文列表 用 Flask 来写个轻博客 (1) - 创建项 ...
- linux登陆欢迎信息及命令提示符修改
登录信息修改 登陆信息显示数据 : /etc/issue and /etc/motd 登陆终端机的时候,会有几行提示的字符串,这些设置在/etc/issue里面可以修改,提示内容在/etc/motd中 ...
- WordPress安装插件提示输入FTP账户信息
在WP后台安装插件时提示输入FTP账户信息,其实出现这个的问题的原因是Apache/Nginx的执行身份非文件属主身份. 如果你使用的是独立服务器或VPS,WordPress的安装目录为 /home/ ...
- sqlserver 修改数据库表所有者
SQLServer修改表所有者 来自:http://www.cnblogs.com/tearer/archive/2012/09/16/2687802.html 批量修改:EXEC sp_MSfor ...
- UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息
应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Gith ...
- git使用记录一:配置账户信息
配置的级别 git config --gloabal 针对当前用户下所有的项目 设置 git config --local 针对当前工作区的项目来进行设置 git config --system 针对 ...
- 07 修改JumpServer网页信息
1.7.修改JumpServer网页信息 注意:在修改相关配置文件之前要先进行备份,防止文件修改错误无法恢复. 1.Luna图标: /opt/luna/static/imgs/logo.png 2.j ...
- 基于Spring MVC + Spring + MyBatis的【银行账户信息管理系统】
资源下载:https://download.csdn.net/download/weixin_44893902/45604661 练习点设计: 模糊查询.删除.新增.修改 一.语言和环境 实现语言:J ...
随机推荐
- box-decoration-break属性
box-decoration-break属性可以指定元素片段在跨行.跨列或跨页(如打印)时候的样式渲染表现.默认情况下,元素的跨行或跨列渲染都是裁剪分割,各得一部分.举个例子<div class ...
- Odoo Linux服务器一键安装脚本使用指南
Odoo安装脚本介绍 为了帮助更多Linux服务器维护人员快速部署Odoo,为此开源智造(OSCG)基于André Schenkels曾经开放的openerp-install-scripts所构建的基 ...
- 全球第一免费开源ERP Odoo仓存功能模块深度应用(一)
基本功能 库位 库位是一个逻辑存货区,可以是一个物理库区,可以是一个货架.货架上的一个货位.库位可以有子库位 库位有虚拟库位和实际库位,实际库位是实际存放货物的库位,虚拟库位是因复式库存记账而虚构的库 ...
- 瑞芯微RKnanC芯片处理器介绍
RKnanC是一种低成本.低功耗.高效率的数字多媒体芯片,它是基于ARM的低功耗处理器结构和硬件加速器.它是专为便携式音频产品应用,如MP3播放器等. RKnanC可以支持各种音频标准的解码,如MP3 ...
- 总结Java常用到的六个加密技术和代码
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- 【机器学习】--Adaboost从初始到应用
一.前述 AdaBoost算法和GBDT(Gradient Boost Decision Tree,梯度提升决策树)算法是基于Boosting思想的机器学习算法.在Boosting思想中是通过对样本进 ...
- Redis缓存你必须了解的!
不管你是从事Python.Java.Go.PHP.Ruby等等… Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了set value.get value两 ...
- springboot~使用docker构建gradle项目
这是一篇关系到四个知识点的文章,分别是java,docker,springboot和gradle,我们希望在java环境下,使用springboot框架,通过gradle去构建项目,然后把项目部署和运 ...
- java~springboot~gradle里的docker集成
在springboot里,我们的task任务可以添加docker构建的功能,在gradle集成环境里,直接可以实现编译,测试,打包镜像的流水线作业,很是方便! 下面分享给大家,在gradle里添加do ...
- 避免Linux上错删文件
前言 在linux上我们常见的问题就是一个操作不小心误删除文件,而且在linux想要恢复文件没这么简单.只有当每次删除之后才后悔莫及,参考windows中最常见的做法就是给系统装一个回收站,让每次删除 ...