Chapter 2 User Authentication, Authorization, and Security(4):限制SA帐户管理权限
未经作者允许,不论什么人不得以“原创”形式公布,也不得已用于商业用途,本人不负责不论什么法律责任。
前一篇:http://blog.csdn.net/dba_huangzj/article/details/38756693
前言:
SA帐号是SQL Server的系统管理员。在安装过程中就能够启用。在SQL Server 2005之前。这个帐号不能改动,可是从2005開始,能够重命名或者禁用sa来降低被攻击的风险。在兴许版本号中。Sa仅作为向后兼容。
因为SA是众人皆知的帐号,不建议使用。
实现:
1. 禁用sa:
ALTER LOGIN [sa] DISABLE;
2. 重命名sa:
ALTER LOGIN [sa] WITH NAME=[换成不easy被猜到的名字];
3. 重命名sa之后,能够用以下的查询找到原sa是如今的什么帐号:
SELECT * FROM sys.sql_logins WHERE principal_id = 1;
当中principal_id为1,SID是0x01的就是原sa。
原理:
在安装时,假设没有选择混合身份验证。sa是默认禁用的。假设你有sysadmin或者securityadmin固定服务器角色,能够改动sa的密码。当你决定重命名sa时,要检查是否有其它应用在使用这个帐号。重命名将可能导致这些应用执行失败。
当没有管理员权限时怎样管理
本人见过非常多情景。因为有意无意。把全部具有管理员权限的Windows、SQL 帐号删了。而sa又被禁用或不知道密码时。非常多操作都不能进行,解决这样的问题的方法能够是重建master库。详见:http://msdn.microsoft.com/zh-cn/library/dd207003.aspx(又一次生成系统数据库)。可是这会丢失全部登录信息,除非你有近期的master库备份。而且须要停止SQL Server服务。
另一种方法。本人实践过:
启用本地帐户:
1.先看一下本机的帐户是否具有管理员的权限,假设没有加入上。 2.在開始菜单的搜索框中输入 cmd , 右键单击选择以管理员身份执行
3.在命令提示符输入 NET STOP MSSQLSERVRE 停止MSSQLSERVER执行(若已经停止则能够不用此方法)
4.若3有问题,提示报错。则能够在開始 -->SQL SERVER --> 配置工具 -->SQL SERVER 服务 --> 打开SQL SERVER属性-->高级 --> 启动參数里面加上 -m
5.若以上均无问题,则切换到安装路径。即Binn下sqlservr.exe的路径
如:cd C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
6.执行 sqlservr.exe,即单用户模式进入了
7.再以管理员帐户又一次登陆开启一个窗体,输入SQLCMD -A
8.输入你要更改的操作命令就可以,在此处我须要的是把本机帐户加入
如:
USE master
GO
CREATE LOGIN [须要加入的帐号,一般格式是 机器名\登录账号名] FROM WINDOWS WITH DEFAULT_DATABASE=[Master]
GO
EXEC sp_addsrvrolemember @loginame=N'机器名\登录账号名', @rolename=N'sysadmin'
GO
为了避免错误,能够再加一个SQL的帐户以备不时之需。 也能够把sa命令启用
9.以上操作完毕之后又一次启动SQL SERVER服务登陆就可以
另外能够看看以下的博客:
http://www.cnblogs.com/lyhabc/p/3513560.html
下一个:http://blog.csdn.net/dba_huangzj/article/details/38844999
Chapter 2 User Authentication, Authorization, and Security(4):限制SA帐户管理权限的更多相关文章
- Chapter 2 User Authentication, Authorization, and Security(11):在已还原的数据库中修正登录映射错误
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39496517,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(8):创建映射到登录名的数据库用户
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38944121,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(10):创建包含数据库
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39473895,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(9):防止登录名和用户查看元数据
原文出处:http://blog.csdn.net/dba_huangzj/article/details/39003679,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(3):保server避免暴力袭击
原版的:http://blog.csdn.net/dba_huangzj/article/details/38756693,专题文件夹:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(7):创建和使用用户自定义服务器角色
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38895357,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(6):服务器权限授予粒度
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38867489,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(5):使用固定服务器角色
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38844999,专题目录:http://blog.csdn.net/dba_huangzj ...
- Chapter 2 User Authentication, Authorization, and Security(4):限制SA帐号的管理权限
原文出处:http://blog.csdn.net/dba_huangzj/article/details/38817915,专题目录:http://blog.csdn.net/dba_huangzj ...
随机推荐
- linux下golang
linux下golang的配置 linux下golang的配置 之前开发golang一直在windows下,今天在linux下试了一下 ,遇到一些梗,比如go 找不到 sync包.花了一小时全部解决, ...
- c++野指针 之 实战篇
一:今天做poj上的3750那个题,用到了list的erase方法.提交之后总是报runtime error! 纠结了好长时间.曾有一度怀疑过vector的erase和list的erase处理方式不一 ...
- 一些周期性GC的理由为何
1.供tomcat:防止内存泄漏监听器 JreMemoryLeakPreventionListener在上班,每隔一小时默认触发一次System.gc Class clazz = Class.forN ...
- 关于Velocity加减法等四则运算的迷思
曾今有一个FreeMarker摆在我面前. 我没有好好珍惜, 遇到了Velocity我才想起失去的美好... 需求是把PC网页点击. 手机网页点击.App点击相加得到总点击量显示出来: $articl ...
- Effective C++:条款28:避免返回 handles 指向对象内部成员
(一) 有时候为了让一个对象尽量小,能够把数据放在另外一个辅助的struct中,然后再让一个类去指向它.看以下的代码: class Point { public: Point(int x, int y ...
- Java命令参数说明
Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令 JAVA_HOME"bin"java –option 来启动,-option为虚 ...
- 字符串拼接 拆分 NameValueCollection qscoll = HttpUtility.ParseQueryString(result)
string result = "sms&stat=100&message=发送成功"; string d = HttpUtility.ParseQueryStri ...
- Kruskal(克鲁斯卡尔)
设有一个有n个顶点的连通网N={V,E},最初先构造一个只有n个顶点, 没有边的非 连通图 T={V, E}, 图中每个顶点自成一个连通分量. 当在E中选到一条具有最小权值的边时,若该边的两个顶点落在 ...
- 两个div在同一行,两个div不换行
方法一: <div style="display:inline"> <div id="div1" style="float:left ...
- Android 5.0 开发者官方网站疏理知识结构
Android 5.0 开发人员官网知识结构疏理 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公 ...