Sql Server无法启动的4中原因:(先得分析出问题所在)

原文地址:http://www.cnblogs.com/JiangLe/p/4000497.html

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);

针对这种问题的详细解决办法:(即:sqlserver中master表损坏的修复方法)

原文地址:http://www.cnblogs.com/popo0027/archive/2012/08/08/2628044.html

本地电脑上安装的MS SQL Server 2008 R2可能因为硬盘原因,导致SQL Server服务无法启动,在事件查看器中看到若干错误和信息,其中有两条提示可能master损坏:
1、错误:传递给数据库 'master' 中的日志扫描操作的日志扫描号 (184:416:1) 无效。此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。
2、信息:无法恢复 master 数据库。SQL Server 无法运行。请利用完整备份还原 master 数据库,修复它,或者重新生成它。有关如何重新生成 master 数据库的详细信息,请参阅 SQL Server 联机丛书。

重新安装SQL Server问题不难解决,但太耗时。google到一个快捷的恢复方法,分享如下:

1、复制model.mdf、mastlog.ldf、model.mdf、modellog.ldf、msdbdata.mdf、msdblog.ldf文件。
从
X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\Templates
至
X:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA
注:以上“X:\Program Files\Microsoft SQL Server”为SQL Server的安装目录。以下的“C:\Program Files\Microsoft SQL Server”为系统盘下的目录

2、定位并执行安装命令

首先找到安装命令:
C:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012\setup.exe

注:如果是sql2008则是 C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Release\setup.exe

如果只是Windows身份验证模式,只需要如下语法即可:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts> 
如果是复合身份验证模式,则需要使用/SAPWD参数提供sa的密码:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=<instance name> /SQLSYSADMINACCOUNTS=<accounts> /SAPWD=<sa password>

我安装时设置的是复合认证模式,SQL Server系统管理员帐号是administrators组,sa密码是123456。并且就一个默认实例:MSSQLSERVER。
所以在命令行执行如下命令:
setup /ACTION=REBUILDDATABASE /QUIET /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=administrators /SAPWD=123456

执行完毕后没有任何提示信息(不管成功与否),但是可以马上在C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\Summary.txt中查看安装日志。

最后,在Sql Server Configuration Manager中启动SQL Server服务成功。

有关SQL(2012)突然无法连接服务器的问题解答的更多相关文章

  1. SQLSERVER建立MYSQL连接服务器

    1. 在SQL SERVER端安装MYSQL的ODBC驱动 2. 在ODBC数据源添加MYSQL(控制面板\所有控制面板项\管理工具) 在用户DSN 和系统DSN添加配置驱动程序 注:字符集一定要和M ...

  2. sql server 2008 R2连接失败 错误:18456

    这种问题的解决方法: 第一步:以windows验证模式进入数据库管理器. 第二步:在对新资源管理器中右击实例名称选择属性,弹出服务器属性对话框,我们在左侧栏选择[安全性]选项卡,选中”SQL Serv ...

  3. 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

    SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...

  4. win7中 SQL server 2005无法连接到服务器,错误码:18456

    win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆  结果登陆不上去.. 选中SQL Server Management Stud ...

  5. 64位sql server 如何使用链接服务器连接Access

    原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 ...

  6. SQL Server "允许远程连接到此服务器" 配置

    在SQL Server的属性-->连接中我们可以看到这样一个选项:'允许远程连接到此服务器'(英文是remote access),其默认值是1,表示此选项开启. 但是这个参数并非是字面上所显示的 ...

  7. Postgre SQL连接服务器失败

    首先这是登陆postgre sql时提示的错误信息: psql: 无法联接到服务器: Connection refused (0x0000274D/10061)        服务器是否在主机 &qu ...

  8. SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

    概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...

  9. 通过MSSQL连接服务器连接至Oracle数据库

    前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...

随机推荐

  1. List子接口

    简介 特点: 有序, 有下标, 元素可以重复 常用方法 boolean add(E e) 将指定的元素追加到此列表的末尾(可选操作). void add(int index, E element) 将 ...

  2. IoC容器-Bean管理XML方式(注入集合类型属性)

    Ico操作Bean管理(xml注入集合属性) 1,注入数组类型属性 2,注入List集合类型属性 3,注入Map集合类型属性 (1)创建类,定义数组.list.map.set类型属性,生成对应set方 ...

  3. 笔记:Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Modeling

    笔记:Bridging the Gap Between Relevance Matching and Semantic Matching for Short Text Similarity Model ...

  4. Vue3源码分析之微任务队列

    参考资料:https://zh.javascript.info/microtask-queue#wei-ren-wu-dui-lie-microtaskqueue 简化版 Vue3 中的 微任务队列实 ...

  5. MyBatis加强(1)~myBatis对象关系映射(多对一关系、一对多关系)、延迟/懒加载

    一.myBatis对象关系映射(多对一关系.一对多关系) 1.多对一关系: ---例子:多个员工同属于一个部门. (1)myBatis发送 额外SQL: ■ 案例:员工表通过 dept_id 关联 部 ...

  6. Linux性能优化实战(一)

    一.优化方向 1,性能指标 从应用负载的视角出发,考虑"吞吐"和"延时" 从系统资源的视角出发,考虑资源使用率.饱和度等 2,性能优化步骤 选择指标评估应用程序 ...

  7. ApacheCN JavaWeb 译文集 20211017 更新

    使用 Spring5 构建 REST Web 服务 零.前言 一.一些基本知识 二.在 Spring5 中使用 Maven 构建 RESTfulWeb 服务 三.Spring 中的 Flux 和 Mo ...

  8. 《手把手教你》系列技巧篇(六十四)-java+ selenium自动化测试 - cookie -中篇(详细教程)

    1.简介 今天按照原计划宏哥要用实例来给小伙伴或童鞋们来演示一下,如何利用cookie实现跳过验证码进行登录.这个场景是自动登陆.有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie ...

  9. 【转】使用Docx.Core创建word表格

    原文地址:https://www.cnblogs.com/qs315/p/13533765.html 使用Docx.Core创建word表格 下载DocxCore Nuget包 当前版本 1.0.7 ...

  10. 解决 413 Request Entity Too Large

    修改配置文件  vim /etc/nginx/sites-available/default,增加 client_max_body_size 1000m;//最大上传大小 proxy_connect_ ...