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 ...
随机推荐
- Nginx对某个文件夹或整个站点进行登录认证的方法
比方要对 站点文件夹下的 test 文件夹 进行加密认证 首先须要在opt 的主文件夹中 /opt/ 创建一个新文件 htpasswd 此文件的书写格式是 username:password 每行一个 ...
- JavaWeb学习总结(一)JavaWeb开发入门
静态网页和动态网页 静态网页:在服务器上没有经过服务器解释执行的网页. 动态网页:在服务器上经过服务器解释执行的网页. 无论是静态网页还是动态网页,客户端看到的网页都是由HTML所构成的,所以Java ...
- 关于多线程的一个例子(UI实时显示)
在开发Window应用程序的时候,经常需要在界面上显示出已经执行到什么步骤了,拿一个简单例子来说,创建一个Winform程序,在窗体上访一个Button和一个Label,点击Button时做100次循 ...
- 使用Maven管理Spring
原文链接: Spring with Maven原文日期: 2013年04月17日翻译日期: 2014年06月29日翻译人员: 铁锚 1. 概述本教程向您展示怎样通过 Maven 管理 Spring 的 ...
- Why 使用TLS记录封装IP层VPN IS A Bad Idea
一个很自然的想法,使用TLS套餐一IP数据报实现第三层VPN.这种想法必须经过深思熟虑的,但不幸的是,.这是一个错误的想法.有文章<Why TCP Over TCP Is A Bad Idea& ...
- hibernate 大对象类型hibernate制图
基础知识: 在 Java 在, java.lang.String 它可以用来表示长串(超过长度 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中 ...
- poj1182食物链(种类并查集)
http://poj.org/problem?id=1182 r[x] = 0 表示x和父亲是同类r[x] = 1 表示x吃父亲r[x] = 2 表示x被父亲吃因为只存在三种动物,且三种动物构成了环形 ...
- net Mvc模块化开发
Asp.net Mvc模块化开发之“部分版本部分模块更新(上线)” 项目开发从来就不是一个简单的问题.更难的问题是维护其他人开发的项目,并且要修改bug.如果原系统有重大问题还需要重构. 怎么重构系统 ...
- Ibatis之3个不经常使用的Query方法
1.queryForObject /** * Executes a mapped SQL SELECT statement that returns data to populate * the su ...
- FPGA开机状态
最近调试FPGA电路时发现一个问题,我从来没有注意过.我们都知道Xilinx的FPGA有三种功率M引脚,这是为了让我们配置三个引脚FPGA装载机模式,什么是主要的字符串.从字符串.并行等.,该手册有. ...