没有sa密码无法集成windows身份验证登录的解决方法
了解到同事刚刚修改了服务器的机器名,因
sql登录时如果采用windows集成身份验证,登录框将会以“机器名\当前系统用户名”的格式显示登录名,而且登录名和密码都是灰色的,不允许用户输入。 了解到同事刚刚修改了服务器的机器名,因此在sql的登陆框中显示“新机器名\当前系统用户名”。要知道windows集成身份验证能登录的原因是在sql的登录名中已经包括了该用户名,原来的用户名在sql安装的时候已经记录到了sql中,如果机器名变更了,“新机器名\当前系统用户名”肯定无法正常登录。 网上看到有人说可以采用osql–s instancename –e(在命令行窗口中输入)登录进去后再去修改sa的密码,一番尝试后发现是扯谈,因为采用这种方式的前提是需要windows集成身份能够登录。 后来在微软的官网上看到一篇文档,原来只要在sql的启动参数中加一个“-m”的选项(记得在-m前加分号),然后需要重启sql服务,再次用sql management studio的windows集成身份验证登陆就可以了。 -m表示单用户登录。细心的读者可能会质疑了:只是加了-m,但最后还是采用的windows集成身份验证,理论说跟之前使用sqlos –s instancename –e有什么区别呢? 这个问得非常专业。当时我也没有搞明白,觉得有点不可思议,但结果就是这样,肯定有其道理。后来在微软的官网上找到了这段话。 start the instance of sql server in single-user mode by using either the -m or -f options. any member of the computer's local administrators group can then connect to the instance of sql server as a member of the sysadmin fixed server role. 大概的意思是说当在sql的启动参数中添加了-m或者-f参数时,计算机本地管理员组的任何一个用户都可以sysadmin的身份登录到sql中。相信读者看到这个地方就明白了。这里其实并没有去检验登录的用户是否在sql在存在验证windows,只是检查该用户是否为本地计算机的管理组中的用户。 好了,相信后面就不用过多累赘了,只是提醒下读者:修改了sa密码后记得把原来添加在sql启动参数的-m删除掉,然后在重启sql服务。 (编辑:沈阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Windows 7:十年了,是时候放手
- 从Windows目录中删除100,000个文件的最佳方法是什么?
- 如何使用Choco在Windows 10上安装Visual Studio代码
- 使用Ansible来管理你的工作站:配置自动化
- 详解EFK搭建过程及ES的生命周期管理
- 在Linux中使用bd命令快速返回到特定的父目录
- iis-7 – Windows Server 2008 R2上的IIS 7.5可以处理的默认
- windows-server-2008 – 没有telnet客户端的Windows Server
- Chrome浏览器在Windows 10上满血了:官方Timeline扩展发布
- powershell – 需要将Windows 2012 R2上的系统区域设置从en