有关SQL(2012)突然无法连接服务器的问题解答
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)突然无法连接服务器的问题解答的更多相关文章
- SQLSERVER建立MYSQL连接服务器
1. 在SQL SERVER端安装MYSQL的ODBC驱动 2. 在ODBC数据源添加MYSQL(控制面板\所有控制面板项\管理工具) 在用户DSN 和系统DSN添加配置驱动程序 注:字符集一定要和M ...
- sql server 2008 R2连接失败 错误:18456
这种问题的解决方法: 第一步:以windows验证模式进入数据库管理器. 第二步:在对新资源管理器中右击实例名称选择属性,弹出服务器属性对话框,我们在左侧栏选择[安全性]选项卡,选中”SQL Serv ...
- 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误
SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...
- win7中 SQL server 2005无法连接到服务器,错误码:18456
win7中 SQL server 2005无法连接到服务器,错误码:18456.. 数据库刚装完.我用Windows登陆 结果登陆不上去.. 选中SQL Server Management Stud ...
- 64位sql server 如何使用链接服务器连接Access
原文:64位sql server 如何使用链接服务器连接Access 测试环境 操作系统版本:Windows Server 2008 r2 64位 数据库版本:Sql Server 2005 64位 ...
- SQL Server "允许远程连接到此服务器" 配置
在SQL Server的属性-->连接中我们可以看到这样一个选项:'允许远程连接到此服务器'(英文是remote access),其默认值是1,表示此选项开启. 但是这个参数并非是字面上所显示的 ...
- Postgre SQL连接服务器失败
首先这是登陆postgre sql时提示的错误信息: psql: 无法联接到服务器: Connection refused (0x0000274D/10061) 服务器是否在主机 &qu ...
- SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)
概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...
- 通过MSSQL连接服务器连接至Oracle数据库
前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...
随机推荐
- P3224 [HNOI2012]永无乡 题解
P3224 [HNOI2012]永无乡 题解 题意概括 有若干集合,每个集合最初包含一个值,和一个编号1~n.两个操作:合并两个集合,查询包含值x的集合中第k大值最初的集合编号. 思路 维护集合之间关 ...
- MyCms 开源自媒体系统,系统配置字段说明
功能说明 站点名称:站点的简要描述名称,没有启用SEO插件时,将用此字段用作站点标题. 站点地址:站点的完整地址(包含 http/https),此字段有多处依赖用于生成链接,请正确填写. 站点logo ...
- golang中的map
1. 声明与初始化 // map的声明与初始化 userInfo := map[string]string{"name": "马亚南", "age&q ...
- python全局解释器GIL锁(-死锁)
目录 一:Python中的GIL锁 1.GIL介绍 2.GIL的作用 3.cpython 4.内存管理>>>垃圾回收机制 二:全局解释器锁GIL 1.GIL特点 三:计算密集型与IO ...
- undo和redo的区别
undo和redo的区别: undo一般用于事务的取消与回滚,记录的是数据修改前的值: redo一般用于恢复已确认但未写入数据库的数据,记录的是数据修改后的值.
- python09day
内容回顾 文件操作初识 三步走: 打开文件open() 文件路径path,编码方式encoding=,mode(默认读) 操作文件(对文件句柄进行操作) 读.写.追加 各四种模式 读:read().r ...
- clickhouse-mysql数据同步
clickhouse版本:22.1.2.2 1.Mysql引擎(不推荐) CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] EN ...
- Transformer模型详解
2013年----word Embedding 2017年----Transformer 2018年----ELMo.Transformer-decoder.GPT-1.BERT 2019年----T ...
- 求一个number数组中的最大值和最小值的差
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- 使用Typora+PicGo实现图片自动上传到Gitee图床
一.前言 我们在使用Typora编辑器时,会加上图片,有个弊端,只能在本地访问,你发送给别人就无法查看图片,当然可以导出pdf.小编这边的需求是这样的,自己搭建的一个博客系统,基于Hexo搭建的,这个 ...