SQLServer修改登陆账户信息
修改登陆账户信息注意事项如果 CHECK_POLICY设置为ON,则无法使用 HASHED参数。 如果 CHECK_POLICY更改为ON,则将出现以下行为:
如果指定MUST_CHANGE,则CHECK_EXPIRATION和CHECK_POLICY必须设置为ON。?否则,该语句将失败。 如果CHECK_POLICY设置为OFF,则CHECK_EXPIRATION不能设置为ON。?包含此选项组合的 ALTER LOGIN 语句将失败。 不能使用带DISABLE 参数的ALTER_LOGIN来拒绝对Windows 组的访问。?例如,ALTER_LOGIN [domaingroup] DISABLE将返回下列错误信息: "消息 15151,级别 16,状态 1,第 1 行" "无法更改登录名 ‘DomainGroup‘,因为它不存在,或者你没有相应权限。" 这是设计的结果。 在SQL Database中,对连接和服务器级别的防火墙规则进行身份验证时所需的登录数据会暂时缓存在每个数据库中。?此缓存定期刷新。?若要强制刷新身份验证缓存并确保数据库具有最新版本的登录名表,请执行DBCC FLUSHAUTHCACHE (Transact-SQL)。 需要ALTER ANY LOGIN权限。 如果使用CREDENTIAL选项,则还需要ALTER ANY CREDENTIAL权限。 如果正在更改的登录名是sysadmin固定服务器角色的成员或CONTROL SERVER权限的被授权者,则进行以下更改时还需要CONTROL SERVER权限:
使用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 示例--声明数据库引用
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 --password=‘password*‘ --password=hashed_password --must_change --unlock --default_database=database --default_language=language --name=login_name --check_expiration={ on | off } --check_policy={ on | off } --credential=credential_name --no credential --add credential --drop credentiil 示例--声明数据库引用
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
示例结果(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |