SERVER本地管理员和SA帐号都无法访问的问题和解决方案,错误问题小结
分类:web前端

开机后发现 SQL Server 服务没有启动,于是手动启动之,却出现“由于登录失败而无法启动服务”的故障。

这几天在讲SQL Server 2008的课程,今天头一天,因为主办方准备的环境是用做好的同一个虚拟机,然后分发到很多台实验用的机器后,用sysprepare这种工具,修改了电脑名称。一早就遇到大家无法登录到SQL Server的问题,不管是用本地管理员,还是SA帐号。

sa账号启用(sql server 2008 错误 18452):

在“控制面板”里打开“管理工具”->“服务”,找到“MSSQLSERVER”,双击弹出“属性”对话框,在“登录”标签中,更改登录帐户的密码,重新启动 SQL Server,成功。

 

      提示:无法连接到服务器

我分析下来,本地管理员无法登录的原因就是因为电脑名称修改了之后,现在的本地管理员的SID已经不是修改之前那个本地管理员的SID了,而SQL Server里面其实保存的是SID,并不是用户名称,所以导致他无法登录服务器。而至于用SA帐号无法登录,是因为主办方在准备这个环境的时候,并没有启用混合验证模式。

服务器:消息18452, 级别16,状态1

 

[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联

以前也遇到过类似的一个问题,但一下子忘记怎么解决的了。不管怎样,我们还是想办法解决掉了这个问题,参考了下面的博客文章

该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接,解决方法如下

设置允许SQL Server身份登录 (基本上这个很有用)

 

解决:  1.在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称

大致的步骤就是:

         2.选择"属性"

  1. 用本地管理员登录,停止SQL Server服务
  2. 修改SQL Server服务的启动参数,在原先的启动参数后面添加 “;-m”(不要带双引号),这是将SQL Server设置进入单用户模式
  3. 启动SQL Server服务,使用sqlcmd登录到SQL Server服务器
  4. 执行exec sp_addsvrrolemember ‘MachineNameAdministrator’ ‘sysadmin’;GO;(请注意,红色部分要替换为你的本地管理员帐号)
  5. 停止SQL Server服务,将原先添加的启动参数“;-m”删除掉
  6. 启动SQL Server服务

         3.再选择"安全性"选项卡

建议大家安装SQL Server的时候,还是设置混合验证模式和SA密码,然后要保护好这个密码。

         4.在"身份验证"下,选择"SQL Server和 Windows"

         5.确定,并重新启动SQL Server服务

 

Microsoft SQL Server,错误:233

      提示:已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)

      解决:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2008 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server就可以了。

 

用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联

     提示:sa 登录失败,提示该用户与可信 SQL Server 连接无关联

     解决:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。检查计算机1433连接端口,1434数据端口是否打开。

     针对sql 2008 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”把状态改成enable,退出管理器重新登录(用户验证模式)

Microsoft SQL Server, 错误:4064

  解决:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了

 

SQL Server   错误代码:17058

环境:

Windows 2008 r2 x64

SQL Server 2008 r2 x64 

安装过程:

1、安装Windows 2008

2、安装SQL Server 2008(C盘下默认安装路径,默认实例名:MSSQLSERVER,混合登陆方式)

3、安装AD 

出现错误:SQL Server默认实例(MSSQLSERVER)无法启动,错误代码:17058

日志错误信息:

initerrlog: Could not open error log file 'C:Program FilesMicrosoft SQL 
  ServerMSSQL.1MSSQLLOGERRORLOG'. Operating system error = 5(Access is    denied.).    The event ID in the application log is 17058.    Also the following error message appears in the system log 
  The SQL Server (MSSQLSERVER) service terminated with service-specific error    17058 (0x42A2). 

分析原因:安装AD后,系统改为使用域用户登陆,原先安装SQL时设置的“本地用户”信息已经修改,当前(域)用户没有权限访问MSSQLSERVER实例文件夹或整个SQL文件夹。 

解决方法:

1、打开“服务”,找到SQL Server(MSSQLSERVER)服务(或设置实例所对应的服务),查看属性,在“登陆”标签中选择“本地系统账户”。

2、为保险起见,进行这步操作:打开SQL Server Configuration Manager(SQL Server配置管理器),在SQL Server Service(SQL Server服务)中找到对应实例(名称和“服务”中的名称相同)。在“登陆”标签中选择“内置账户”,并选择“Local System”(全其他如NETWORK SERVICE也可以,但要保证有权限)。

3、启动SQL Server(MSSQLSERVER)服务。

4、如果还是出错(如126错误),那么进入SQL Server的安装目录,给整个安装目录分配NETWORK SERVICE及当前登录用户的权限,特别是实例所在目录,以及数据库文件相关目录,分配写权限。完成后再次启动服务。 

结果:成功启动SQL Server(MSSQLSERVER)服务。

  

Microsoft  SQL Server  错误:916

  解决:SQL Server 2008 服务器主体 "某用户" 无法在当前安全上下文下访问数据库 "某数据库"。 (.Net SqlClient Data Provider)

本文由10bet手机官网发布于web前端,转载请注明出处:SERVER本地管理员和SA帐号都无法访问的问题和解决方案,错误问题小结

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文