记录今天客户的SQLSERVER启动不起来( 错误9003)的解决过程2013-11-26

记录今天客户的SQLSERVER启动起来( 错误9003)的解决过程2013-11-26 今天一大早上班就接到客户的电话,说:sqlserver启动不起来,业务系统使用不了 于是我就使用QQ 远程 ,帮客户解决问题 环境 先说一下环境 客户环境:Windows2003企业版SP2 32位 SQL2005企

记录今天客户的SQLSERVER启动不起来( 错误9003)的解决过程2013-11-26

今天一大早上班就接到客户的电话,说:sqlserver启动不起来,业务系统使用不了

于是我就使用QQ远程,帮客户解决问题

 

环境

先说一下环境

客户环境:Windows2003企业版SP2 32位 SQL2005企业版 32位 SP4

自己笔记本电脑环境:Windows7 SP1  32位  SQL2005个人开发者版 32位

我的笔记本电脑的计算机名:joe

客户电脑的计算机名:hs

 

客户那边的master数据库大小:几MB

业务系统是winform系统

客户的环境是单机系统没有使用到域

 

网络环境:客户那边的网速比较慢,用远程协助的时候比较卡

 

为什麽要说明我自己笔记本电脑的环境呢?请大家继续耐心看下去

检查

先打开SQLSERVER配置管理器,启动SQLSERVER,发现SQLSERVER启动不起来

于是我打开Windows EventLog,发现了下面错误

SQLSERVER 错误9003:LSN无效(日志扫描号无效)
“传递给数据库 ‘master’ 中的日志扫描操作的日志扫描号 (2806:120:1) 无效。
此错误可能指示数据损坏,或者日志文件(.ldf)与数据文件(.mdf)不匹配。
如果此错误是在复制期间出现的,请重新创建发布。否则,如果该问题导致启动期间出错,请从备份还原。

 

于是我就在自己的电脑上百度了一下这个错误

搜索到这篇文章:sql server 错误9003:LSN无效(日志扫描号无效),对数据库的修复

这篇文章里的数据库是用户数据库,用rebuild log,dbcc checkdb解决了问题

悲催的是客户那边损坏的是master数据库

 

想办法

作为一个好的数据库工程师,一定要快速知道有哪些方法可以解决当前客户的问题

这些方法有什么利弊,因为延迟一秒钟,就会造成客户更多的损失,客户的业务系统无法正常运作,,后果可想而知

 

由下面几个因素,我作出了一个选择

网速比较慢,不方便在客户的电脑上写SQL语句

客户那边的master数据库大小:几MB

业务系统是winform系统

 

选择:以前项目经理教我的一个方法,遇到SQLSERVER启动不起来

可以用刚刚安装好的SQLSERVER的master数据库替换掉客户那边的master数据库

 

这种方法有下面的弊端

(1)你所用的数据库版本一定要和客户的一样

(2)将SQLSERVER2012的master数据库给客户是不行的

(3)服务器触发器,证书,链接服务器,登录用户等信息会丢失

为什麽会有这些弊端,大家可以看一下下面的文章

SQL Server 2008中的Service SID 介绍

 【SERVICE SID的引入】
NT SERVICEMSSQL$KATMAI, NT SERVICESQLAgent$KATMAI和NT SERVICEClusSvc 其实都是Service SID所对应的名字。

Service SID的引入,是为了解决多个Service可能同用一个service帐号所带来的安全隐患。

如IIS 使用Network Service帐号,可能其他服务也使用Network Service帐号。

为了使得IIS能够连接到SQL Server, 我们可能会把Network Service作为SQL Server的login, 但是这是不安全的。

因为其他服务如果以Network Service做为启动帐号的话,也能访问SQL Server。

为了解决这个问题,在SQL Server 2008/Windows Server 2008及以后,

我们有了SID这个概念,这样,不同的服务,即使服务启动帐号是相同的,它们的SID也是不同的。

 

SQLSERVER2005

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1865838.html

(0)
上一篇 2025年2月22日 07:15:42
下一篇 2025年2月22日 07:17:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • navicat出现10061错误怎么办

    1、使用鼠标右键单击下方的任务栏,打开其中的任务管理器界面! 2、接着在任务管理器中将选项卡切换至“服务”界面,使用键盘上的 m 按键,这样就可以找到运行中的 mysql 软件了。 相关推荐:《Navicat使用教程》 3、随后我们可以看见…

    2025年2月23日 数据库
    100
  • navicat出现1045错误怎么解决

    出现的问题: (学习视频分享:编程视频) 1045-Access denied for user ‘root’@’localhost’(using password: YES) 登录后复制 原因分析: 主要是因为用户输入的用户名或密码错误被…

    2025年2月23日
    100
  • navicat如何查看mysql的操作记录

    出于好奇,想在navicat中查看mysql的操作记录,特此记录一下。 (学习视频分享:编程入门) 其实方法很简单,连接一个库,用快捷键Ctrl+H就好了。 你瞧,这历史日志就出来了。 如果快捷键有冲突的话,那么就点击左上角的【工具】,选择…

    2025年2月23日
    100
  • navicat连接mysql8出现1251错误是怎么回事

    问题描述: 最近新安装的mysql8,在尝试使用navicat连接的时候总是出现下面的错误。 2、网上查找原因发现是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是cachin…

    2025年2月23日 数据库
    100
  • navicat数据库文件在哪

    Navicat 数据库配置文件的存储位置因操作系统而异:Windows:用户特定路径为 %APPDATA%PremiumSoftNavicatmacOS:用户特定路径为 ~/Library/Application Support/Navic…

    2025年2月23日
    100
  • navicat数据库连接url怎么写

    Navicat连接URL格式为:协议://用户名:密码@主机:端口/数据库名称?参数,包含了连接所需的信息,包括协议、用户名、密码、主机名、端口、数据库名称和可选参数。 Navicat 连接 URL 的格式 Navicat 是一个数据库管理…

    2025年2月23日
    100
  • navicat没有localhost怎么办

    Navicat 中没有 localhost 服务器可能是因为数据库服务未启动、服务器别名配置不正确、防火墙阻止访问、别名与实例不匹配或远程连接问题。解决方法包括启动数据库服务、正确配置服务器别名、允许端口 1433 入站连接、匹配服务器别名…

    2025年2月23日
    100
  • navicat怎么连接sqlserver

    可以通过以下步骤在 Navicat 中连接到 SQL Server 数据库:1. 启动 Navicat;2. 新建 SQL Server 连接;3. 配置连接参数;4. 验证连接;5. 保存连接;6. 双击连接进行连接。 Navicat 连…

    2025年2月23日
    100
  • navicat怎么连sqlserver

    通过 Navicat 连接 SQL Server:获取 SQL Server 连接信息(服务器地址、端口、数据库、用户名、密码)。在 Navicat 中创建新连接,选择 SQL Server 数据库类型。配置连接详细信息,包括主机、端口、数…

    2025年2月23日
    100
  • php连接sqlserver五种方法是什么

    PHP连接SQLServer的五种方法如下:1、使用“mssql_connect()”函数;2、使用“sqlsrv_connect()”函数;3、使用PDO类连接;4、使用“odbc_connect()”函数;5、使用COM对象方式连接。 …

    2025年2月23日
    100

发表回复

登录后才能评论