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 种原因的更多相关文章

  1. 你所不知道的SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

    目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...

  2. 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...

  3. (4.21)SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    转自:指尖流淌 http://www.cnblogs.com/zhijianliutang/p/4100103.html SQL Server数据库启动过程(用户数据库加载过程的疑难杂症) 前言 本篇 ...

  4. (4.20)SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

    转自:指尖流淌 https://www.cnblogs.com/zhijianliutang/p/4085546.html SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧 ...

  5. SQL Server 数据库启动过程(用户数据库加载过程的疑难杂症)

    前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...

  6. SQL Server 数据库启动过程(用户数据库加载过程的疑难杂症)

    前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...

  7. SQL Server 数据库启动过程,以及启动不起来的各种问题的分析及解决技巧

    目前SQL Server数据库作为微软一款优秀的RDBMS,其本身启动的时候是很少出问题的,我们在平时用的时候,很少关注起启动过程,或者很少了解其底层运行过程,大部分的过程只关注其内部的表.存储过程. ...

  8. SQL Server 优化存储过程的七种方法

    原文:SQL Server 优化存储过程的七种方法 优化存储过程有很多种方法,下面介绍最常用的7种. 1.使用SET NOCOUNT ON选项 我们使用SELECT语句时,除了返回对应的结果集外,还会 ...

  9. SQL Server遍历表的几种方法 转载

    SQL Server遍历表的几种方法 阅读目录 使用游标 使用表变量 使用临时表 在数据库开发过程中,我们经常会碰到要遍历数据表的情形,一提到遍历表,我们第一印象可能就想到使用游标,使用游标虽然直观易 ...

随机推荐

  1. 检测.net framework 版本

    项目中,自己要制作asp.net项目的安装文件,由于项目依赖于.net framework 3.5 sp1,故需检测环境是否符合要求,才能安装程序 度娘找到检测方案:各.net版本对应的安装补录下都有 ...

  2. python保留指定文件、删除目录其他文件的功能(2)

    在(1)中脚本实现了保留指定文件的功能,但不能删除空目录,在此补上删除空目录的方法 def DeleteEmptyDir(path): for i in range(1,100): for paren ...

  3. Ubuntu14.04LST安装weblogic11g

    1:下载链接http://download.oracle.com/otn/nt/middleware/11g/wls/1036/wls1036_generic.jar 2:进行安装(前提已经安装好JD ...

  4. Ext4报错Uncaught Ext.Loader is not enabled

    提示: Uncaught Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing requ ...

  5. Window运行命令大全

    1. gpedit.msc-----组策略    2. sndrec32-------录音机   3. Nslookup-------IP地址侦测器   4. explorer-------打开资源管 ...

  6. C# Process类_进程管理器Demo

    Process用于管理计算机的进程,下面给出一个C#进程管理器的DEMO. namespace ProcessManager { public partial class Form1 : Form { ...

  7. Android高德地图开发具体解释

    这段时间开发的时候用到了高德地图,对高德地图开发有心得体会,如今分享给大家.对我开发过百度地图的我来说,整体来说高德地图Demo,没有百度解说的具体 个人更偏向于使用百度地图,可是没办发,项目须要使用 ...

  8. Remove Duplicates from Sorted Array 解答

    Question Given a sorted array, remove the duplicates in place such that each element appear only onc ...

  9. #include<string.h>

    #include<string.h> 1 strcpy #include <string.h> char *strcpy(char *str1, const char *str ...

  10. iOS SDK原生JSON解析

    - (IBAction)touchReadButton:(id)sender { NSData *jsonData = [[NSData alloc] initWithContentsOfFile:J ...