SQLServer疑难杂症
1.无法打开SQL Server服务
【尝试一:更改启动用户】
开始菜单打开->SQL Server配置管理器->右键属性,更改启动用户。
【尝试二:修改安装文件夹的数据权限】
找到sql server 的安装目录,打开文件夹的属性窗口,修改安装文件夹的用户权限,赋予所有者全部权限,再次启动服务。
【尝试三:修改数据库文件夹的权限】
查看系统日志,发现不是因为应用程序的目录权限不对,是因为数据库文件夹的权限不对,我将数据库数据文件和程序安装文件分开了。我随即找到这个文件夹,更改他的权限,但是实际上呢,我没有权限访问这个文件夹,我右键属性,更改所有者,但是这个更改所有者的按钮又是灰色的,无法点击,这不就是一个死循环了吗?要更改用户权限,需要是文件夹的所有者,不是文件夹的所有者,不能更改权限…
最后我进入了安全模式,修改了文件的权限为EveryOne 完全控制。
本以为可以启动了,但是最后,还是不行。我把父元素,子元素,子子文件夹都试了一遍,都不行,所有的文件夹的权限都给了完全控制,最后,还是告诉我无法访问。
【尝试四:修复安装文件】
修复软件,文件夹的权限问题,搞不定,我就尝试在控制面板的程序卸载面板中,进行软件修复,但是没有用,因为修复只是修复了安装文件,但是不会修复数据库文件。
【解决方案】
最后解决的方法,也是挺令人崩溃的,试过了很多种方式,浪费了整整一个下午,从下午三点到下午六点,一直在搞,最后竟然出乎意料的简单,原因其实不是Sql Server的问题,问题是出在了RoseMirrorHA这个软件上面,是这个软件导致了数据库无法启动。这一个问题,还要在RoseMirrorHA的文章中提及。主要有以下几点:
1.SQL Server 服务不能是自动启动的,要是手动启动的。
2.心跳线和对外网线要都连上,即便是不连上,对外网线在不连接外网的时候,最少也要把两台机器用网线连接起来。
3.虚拟IP地址网段要和对外网卡的ip地址网段在同一个网段中。
4.如果还不能连接,需要在属性中,找到数据源,手动指定备份的方向。如果是要从主数据库到备用数据库,也就是从主要的数据库所在向备用的服务器进行数据转移,为了防止丢失数据
1.SQL Server(MSSQLSERVER)无法启动怎么解决?
2.windows不能在本地计算机启动sql server
3.SQL Server请求失败或服务未及时响应 这个有请求失败,未响应查看系统日志的过程
4.如何利用一条命令实现Win10开机按F8键进入安全模式
5.无法枚举容器内对象 访问被拒绝?
6.使用Windows 10如何更改文件的所有者
7.“你必须具有读取权限才能查看此对象属性”解决方法
8.无法添加用户权限
2.数据库主体在该数据库中拥有架构
先右键用户,查看该用户拥有的架构,然后打开 SQL SERVER MANAGEMENT STUDIO–>数据库–>安全性–>构架,先删除对应的构架
1.数据库主体在该数据库中拥有 架构,无法删除解决方法
3.附加数据库失败
我将数据库从SQL Server2000备份,到2008进行还原的时候,出现了错误。
【解决方法】
在还原的时候,选择覆盖现有数据库。
4.windows身份和sa身份都登录不上
忘记了sa的账号密码,并且windows身份认证登录不上的时候,怎么办。
(1) 打开SQL Server配置管理器,在SQL Sever服务之后,双击SQL Server项目,打开高级选项
(2) 在启动参数的后面,添加 ;-m 参数,重新启动。把其他的几个服务全部关掉,特别是SQL Server代理,否则在使用管理工具的时候可能会出现:显示只有一个管理员能够链接
1 | 用户 'DESKTOP-49SRQTD\ZSHL' 登录失败。原因: 服务器处于单用户模式。目前只有一位管理员能够连接。 (Microsoft SQL Server,错误: 18461) |
(3) 打开 SQL Server Management Studio,用WINDOWS集成身份验证登录即可,修改sa密码,将当前用户加入到登录选项中
(4) 去掉启动参数后面的 ;-m 重启SQL Server服务。
1.sqlserver的sa账户的密码忘了(修改方法) 这里有一个情况二:忘记了密码,而且从sysadmin中删除了builtin\Administrators帐号,现在没其他人是sysadmin了,这里使用了-m进行了单用户的登录模式
2.SQL Server 2008无法使用Windows身份验证登陆
3.sqlserver ‘sa’密码忘记,windows集成身份验证都登录不了解决办法 用SQL Server Configuration Manager工具打开后双击SQL SERVER 项目后打开高级选项,找到启动参数,在最后加上:;-m即可。我加了-m参数,还是无法使用window身份登录。
4.此时只有一位管理员可以连接(MS SQL Server 错误 18461) 这里可能发生的情况是某些服务正在使用系统管理员登录进行连接,例如报告服务或 SQL Server 代理。
5.没有了SA密码,无法Windows集成身份登录,DBA怎么办? 大概的意思是说当在SQL的启动参数中添加了-m或者-f参数时,计算机本地管理员组的任何一个用户都可以sysadmin的身份登录到SQL中。相信读者看到这个地方就明白了。这里其实并没有去检验登录的用户是否在SQL在存在,只是检查该用户是否为本地计算机的管理组中的用户。 好了,相信后面就不用过多累赘了,只是提醒下读者:修改了sa密码后记得把原来添加在SQL启动参数的-m删除掉,然后在重启SQL服务。
5.无法使用sql server身份认证登录
这个情况出现在使用windows身份认证的时候可以登录,但是使用SQL Server身份认证的时候,总是登录不上去。可以右键打开连接属性,选择安全性,选择 “Windows身份认证和SQL Server身份认证”,两种身份认证方式都选择上,然后重启SQL Server服务就可以了。