SQL Server 无法启动的 4 种原因
SQL Server 无法启动的原因定位、首先要知道SQL Server 启动的过程。
第一步:
读取注册表,创建log文件、检测硬件、初始化系统配置。
第二步:
启动系统数据库。
第三步:
准备好网络连接。
第四步:
启动用户数据库。
--------------------------------------------------------------------------------------------------------------------------------------------------------------
方法 1、 针对第一步
运行--> regedit 打开注册表
Windows Server 2012 +SQL Server 2012 情况下SQL Server 的键值对在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\.........下

1、当前用户没有读取注册表权限时SQL Server 在第一步时就失败了,所以不能启动。
运行 --> eventwvr (event viewer)可以查看日志文件。

单击每一个信息可以查看它的全部内容。

有了这个日志文件后有什么错都可以从日志文件中找到答案了,是不是太爽了。
然---
2、如果日志文件不能被成功的创建SQL server也不可以被启动。
方法 2、针对第二步
启动master 数据库是一人重要阶段,如果master数据库不能正常启动,数据库也就不能启动。
1、在指定路径下找不到master的文件、路径不对。
2、文件是找到了但是没有权限、
3、文件损坏了、
你有没有想过为什么我知道大概是这三个问题,我会告诉你这是经验。但是你遇到了怎么办,一个办法,就是看日志,来定位错误的原因。
解决方法
1、 恢复master 原来的备份。
2、取物相应的权限。
启动 Model 系统数据库出错时原因也与master 差不多吧。
解决方法
1、 恢复master 原来的备份。
2、取物相应的权限。
3、在启动数据库时路过恢复Model这一个环节
第一步、用参数启动SQL Server
net start MSSQLSERVER /f /m /T3608
第二步、恢复Model 数据库
restore database Model from disk = 'E:\Model.bak';
启动 tempdb 出错,服务器上可能没有那么多空间放tempdb
解决方法
第一步:用参数启动
net start MSSQLSERVER /f /m /T3608
第二步:
alter database tempdb modify file(name =tempdev,size=100MB);
alter database tempdb modify file(name = templog,size=200MB);
方法 3、针对第三步
网络连接出错,一般看来是端口被别的程序用了。
解决方法:
SQL server 用的是1433端口、所以我们只要找到是哪个不脸的程序用了这个端口再把它kill了就可以了。
运行--> netstat

注意:
SQL Server 在启动完 master 后 tempdb 与准备网张连接是同时进行的。
方法 4、针对第四步
数据库文件有三种 1主数据库文件 mdf、 2次要文件 ndf 、 3日志文件 ldf。
不管是哪一个文件坏了数据库都不会成常启动。
1、 完整还原数据库 restore database........
2、 如果只是个别ndf 坏了、可以用文件还原
第一步:alter database Studio modify file(name = Studio2,offline);----把坏了的文件设为离线。
第二步:alter database Studio set online;把数据库设为在线。
第三步:还原出坏的文件组。
3、日志文件损坏了就有点不好了,慢慢听
在simple 恢复模式下如果上次数据库是正常关闭(所有提交的事务都写入硬盘,所有回滚的事务都以撤销)的就算没有ldf文件
数据库还是可以启动的。
如果ldf 文件损坏最好的恢复办法就是恢复数据库备份、因为有时数据库可以处于一个不一致的状态,如事务提交了,但是数据只在
日志文件里,如果用户可以接受这样的损失,可以选择dbcc checkdb 的方法修复数据库
首先:
1、 alter database Studio set Emerggency;
2、 alter database Studio set single_user;
3、 dbcc checkdb(Studio,repair_allow_data_loss);
SQL Server 无法启动的 4 种原因的更多相关文章
- 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...
- 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)
前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...
- (4.21)SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)
转自:指尖流淌 http://www.cnblogs.com/zhijianliutang/p/4100103.html SQL Server数据库启动过程(用户数据库加载过程的疑难杂症) 前言 本篇 ...
- (4.20)SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
转自:指尖流淌 https://www.cnblogs.com/zhijianliutang/p/4085546.html SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧 ...
- SQL Server 数据库启动过程(用户数据库加载过程的疑难杂症)
前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...
- SQL Server 数据库启动过程(用户数据库加载过程的疑难杂症)
前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...
- SQL Server 数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...
- SQL Server 优化存储过程的七种方法
原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...
- SQL Server遍历表的几种方法 转载
SQL Server遍历表的几种方法 阅读目录 使用游标 使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易 ...
随机推荐
- typecho博客出404页面修改方法
适用于typecho博客版本为:0.9 (13.12.12) typecho博客,很多时候可能安装完毕,除了首页,其他页面都是404=.= 在匹配*.php的location区域修改为以下格式: lo ...
- linux下tar用法
以下是linux下tar的用法,转一下,以便方便自己看(这里没把rar,zip类的转过来,一般rar,zip在linux下基本没人用,基本上是zip,unzip,rar,unrar,这些命令,并且ra ...
- android style="@[package:]style/style_name" ----------styles.xml
android.widget ----XML attribute |____style="@[package:]style/style_name"
- MySQL调试
http://dev.mysql.com/doc/refman/5.5/en/signal.html#signal-condition-information-items http://www.dev ...
- BZOJ 2876 骑行川藏
http://www.lydsy.com/JudgeOnline/problem.php?id=2876 拉格朗日乘数法:f'+入g'=0,f为函数的导数,g为限制条件的导数. 思路:E=Σki*si ...
- js中获取键盘事件
<script type="text/javascript" language=JavaScript charset="UTF-8"> docume ...
- Android Studio参考在线文章
This article is From :http://www.android-studio.org/index.php/docs/guide Gradle使用手册(一):为什么要用Gradle? ...
- 剑指offer-面试题20.顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字.例如: 输入一个矩阵如下: 则依次打印出数字:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10 这道题的 ...
- HBase 3、HBase练习题
1.建立学生和课程表 要求:学生可以选择多个课程,每个课程可以被多个学生选择. 查询某个学生所选的所有课程列表 查询某个课程,的学生列表 学生可以修改所选的课程 方案:学生与课程之间是多对多关系,那可 ...
- 创建httpd启动脚本并加入启动列表开机启动
第一步: cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd 第二步: vim /etc/init.d/httpd 在第一行#!/bin/s ...