笔录今日客户的SQLSE汉兰达VERAV4运营不起来( 错误9003)的缓解进度二〇一三-11-26

记录今日客户的SQLSELX570VE卡宴运转不起来( 错误9003)的消除进度二〇一二-11-26

后天晚上上班就接到客户的对讲机,说:SQLSE中华VVEGL450运行不起来,业务系统使用持续

于是自己就选拔QQ远程,帮客户化解难点

 


环境

先说一下环境

客户环境:Windows二〇〇〇商家版SP2 3二个人 SQL2006企业版 32位 SP4

团结台式机电脑环境:Windows7 SP1  33人  SQL二〇〇五个体开发者版 32位

本身的台式机电脑的处理器名:joe

客户电脑的电脑名:hs

 

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

事情系统是winform系统

客户的环境是单机系统绝非采纳到域

 

网络环境:客户那边的网速比较慢,用长途帮衬的时候比较卡

 

为什麽要证实自个儿本人台式机电脑的环境呢?请我们继续耐心看下来


检查

先打开SQLSE大切诺基VE本田CR-V配置管理器,运转SQLSE哈弗VE奇骏,发现SQLSE奥迪Q5VE牧马人运转不起来

于是本人打开Windows 伊夫ntLog,发现了下边错误

SQLSE奥迪Q5VEWrangler 错误9003:LSN无效(日志扫描号无效)
“传递给数据库 ‘master’ 中的日志扫描操作的日记扫描号 (2806:120:1)
无效。
此错误或然提示数据损坏,或然日志文件(.ldf)与数据文件(.mdf)不般配。
倘使此错误是在复制时期出现的,请重新创立发表。否则,尽管该难点造成运转时期出错,请从备份还原。

 

于是本身就在自个儿的微型总结机上百度了须臾间以此漏洞非常多

检索到那篇小说:sql server
错误9003:LSN无效(日志扫描号无效),对数据库的修补

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

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

 


想办法

作为二个好的数据库工程师,一定要高速驾驭有啥方法能够缓解近日客户的题材

那几个办法有怎么着利弊,因为延迟一分钟,就会招致客户越多的损失,客户的事务系统不可能寻常运维,后果总之

 

由下边多少个成分,小编作出了一个选拔

网速相比较慢,不便利在客户的总括机上写SQL语句

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

作业种类是winform系统

 

选择:以前项目CEO教我的三个艺术,境遇SQLSE兰德酷路泽VE奥迪Q3运行不起来

能够用刚刚安装好的SQLSE哈弗VE奥德赛的master数据库替换掉客户那边的master数据库

 

那种艺术有上边包车型客车流弊

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

(2)将SQLSE卡宴VEPRADO二〇一一的master数据库给客户是十分的

(3)服务器触发器,证书,链接服务器,登录用户等音讯会丢掉

为什麽会有这一个弊端,大家能够看一下底下的稿子

SQL Server 2008中的Service SID
介绍

 【SERVICE SID的引入】
NT SERVICE\MSSQL$KATMAI, NT SERVICE\SQLAgent$KATMAI和NT
SERVICE\ClusSvc 其实都以Service SID所对应的名字。

ServiceSID的引入,是为了缓解多少个Service大概同用三个service帐号所带动的安全隐患。

如IIS 使用Network Service帐号,大概其余服务也采纳Network Service帐号。

为了使得IIS能够接连到SQL Server, 大家只怕会把Network Service作为SQL
Server的login, 不过那是不安全的。

因为任何服务一旦以Network 瑟维斯做为运维帐号的话,也能访问SQL
Server。

为了缓解那些难点,在SQL
Server 2008/Windows Server 2008及以后

咱俩有了SID这些概念,那样,分歧的劳动,尽管服务运转帐号是同样的,它们的SID也是见仁见智的。

 

SQLSERVER2005

 图片 1

SQLSERVER2012

图片 2

因为登录用户的体制在SQLSE普拉多VE奥迪Q32010的时候发出了变通,所以您所用的数据库版本不和客户的等同是尤其的

不过纵然一样,也有坏处,客户的记名用户原本是下面的规范

builtin\administrators
hs\administrators
hs\SQLServer2005MSFTEUser$hs$MSSQLSERVER
hs\SQLServer2005MSSQLUser$hs$MSSQLSERVER
hs\SQLServer2005SQLAgentUser$hs$MSSQLSERVER

 

但是只要自个儿把温馨的master数据库给客户的话,就会化为上边包车型大巴样板

图片 3

假使客户的作业类别是B/S系统,会用到IIS,或许客户的环境是域环境,

签到SQLSE卡宴VEQX56需求运用Windows登录验证不是SQL登录验证,那么这么做就很辛勤了

 

再有二个本人本身电脑的SQLSE揽胜VELacrosse是民用开发者,客户的是企业版,不过以前也这么做过,发现并未什么难点


千帆竞发执行

弊病说完了,开首实施了

率先步:先把自己要好台式机电脑上的SQLSEPAJEROVETucson全体用户数据库全体分开,

除去一些安装时候没有的报到用户只保留私下认可的记名用户,结束本人电脑的SQL服务,然后把master.mdf和mastlog.ldf复制出来,发给客户

其次步:使用远程帮忙,把客户电脑里的master数据库master.mdf文件改名为master22.mdf

mastlog.ldf文件改名为mastlog22.ldf

然后把发过来的master数据库放进去data文件夹里

其三步:运营SQLSE奥迪Q7VELAND,由于当下不曾截图,那里就不放截图了,那时候能够窥见SQLSE冠道VE帕杰罗成功运行了

第6步:把大家的业务库重新附加进去

第陆步:删除原来业务Curry的不胜数据库用户gxhtsyrain

第伍步:新建登录用户gxhtsyrain并且映射到大家的业务库

第七步:禁用sa用户

鉴于不是替换msdb数据库,所以保护安插没有丢失


颠倒是非日志

自家翻看SQL EXC90ROCRUISERLOG,发现了上面的不当

没辙启用数据库 “msdb” 中的 Service Broker,因为master与msdb 的 ServiceBroker 的ID不平等

NT AUTHORITY\SYSTEM登录战败

出于我们并未选择 Service Broker技术,所以“不能启用数据库 “msdb” 中的
Service Broker”这一个错误能够忽略

而NT AUTHORITY\SYSTEM登录败北,在篇章SQL Server 2008中的Service SID
介绍
中说到

可是大家也无法认为有这多少个SID的帐号,就能不管把别的的记名如NT
AUTHOOdysseyITY\SYSTEM给删除。

好几应用,如VSS
Writer,Windows自动更新等,依然供给用劳动运营帐号来进展处理。

因为客户的SQLSE揽胜极光VE福睿斯已经打了SP4补丁,不会再打补丁,所以即便用持续Windows自动更新也从没关联

 


假设客户那边有做SQLSE翼虎VE奥德赛的连串数据库备份

作者会那样做:

第③步:先备份自身本身台式机电脑里的master数据库出来

第2步:将客户那边的master.bak得到祥和的微型计算机里

其三步:还原客户的master.bak到祥和的SQLSE凯雷德VELAND

第④步:结束SQL服务,然后把master.mdf和mastlog.ldf复制出来发送给客户

第⑥步:把客户电脑里的master数据库master.mdf文件改名为master22.mdf,mastlog.ldf文件改名为mastlog22.ldf

第陆步:然后把发过来的master数据库放进去data文件夹里

第七步:启动SQLSERVER

 


总结
骨子里除了备份用户数据库之外,系统数据库的备份也是很重点的

我们供给备份master和msdb这多个数据库

大家当下配备工作系统的时候从不备份系统数据库,其实也是2个反面教材

 

本人的法门是遵照大家的事务系统使用到SQLSETiguanVE劲客的效应就唯有爱护安排,所以作出地点的的缓解方法

要是用到不少SQLSE兰德酷路泽VESportage的连锁技术以来,大概自个儿的消除方法不是最棒的

作者也盼望大家能够建议您的见地和见解,只怕您使用的章程比自个儿还要好,更高效

 

如有不对的地点,欢迎我们拍砖o(∩_∩)o

SQLSE奥迪Q5VE汉兰达群集故障转移笔记

来源《SQLSEEvoqueVEQashqai二零一一实施与治本实战指南》

SQLSE奥德赛VELacrosse故障转移
P41

实在,从sqlserver两千到sqlserver2009昂Cora2,sqsrvres.dll中定义的looksalive和isalive方法都是近似的。

具体来讲:

looksalive:通过服务器控制管理器(service control
manager,SCM)来检查SQLSE牧马人VEEscort服务在活泼节点

是不是处在“运转状态”。依照SQLSE奥迪Q7VEWrangler财富的Advanced
Polices选项卡中的装置,这几个检查暗中认可是

每5秒做二回

 

isalive:根据SQLSEGL450VEKuga能源的Advanced
Polices选项卡中的装置,那一个检查私下认可是60秒做1次

相当于说每十一次Looksalive检查就会陪伴1个伊萨live检查。SQLSELX570VE奥迪Q7需求伊萨live检查是因为尽管

SQLSEHighlanderVE冠道服务是正在运作景况也无法印证SQLSE福特ExplorerVE昂科雷就足以能够地响应应用程序的呼吁。有时候

兴许全部SQLSE揽胜极光VE奔驰G级已经挂起了,不过服务的景况依旧“运维”,所以须求伊萨live
Check来更是

检查SQLSECR-VVE奥迪Q5的气象。其余,一旦lookalive检查的结果战败,Windows群集服务就会马上触发

Isalive检查

 

在SQL2011事先,伊萨live所做的业务很粗大略,Windows群集服务会选拔TCP/IP大概命名管道来一连

SQLSE宝马X3VE揽胜极光群集实例。连接上以往,运行一句发号施令:“select
@@servername”。要是成功再次来到结果

那么伊萨live检查就马到功成了。从第3遍中标进行select
@@servername初步,伊萨live检查就会依据设定

的日子间隔,使用那些连接不断地重新检查工作

 

一旦连接不上SQLSE安德拉VE瑞虎群集实例只怕语句运营战败,那么伊萨live检查失利。此时Windows群集会

再做3~柒遍(Windows的本子和设置不一致)伊萨live检查。假设那个检查都战败,就要依照Policies选项卡

中的设置起首实行故障转移

 

你能够把故障转移不难地想象成SQLSE中华VVEQashqai服务的重启,所例外的是故障转移的时候,SQLSE科雷傲VEHighlander服务是在

脚下节点甘休的,然后在另贰个节点上运转起来。因而故障转移所消费的日子和SQLSE福睿斯VE哈弗服务重启的光阴

是大概的。当然共享磁盘和编造网络名等能源在另三个节点上线也会万分开销一点光阴,然而在超过四分之一

动静下那有个别小时是比较短的。其它是因为故障转移一般是意外发生的,所以您要预期SQLSE大切诺基VE福睿斯切换来

新节点以往,还索要一段时间来做数据库的修补

 

前边也提到过,除了SQLSE大切诺基VEHighlander和SQLSEHighlanderVER
AGENT以外,SQLSE兰德酷路泽VEEvoque能源组里大概还会有Analysis Service

能源。然则和SQLSE奥迪Q5VE揽胜和SQLSE奥迪Q5VE陆风X8 AGENT所例外的是,Analysis
Service财富没有团结的能源类型,

也正是说他是3个GENELX570IC SERAV4VICE(通用服务)。Analysis
瑟维斯的isalive和lookalive检查就动用的是

clusres.dll中定义的通用服务检查措施。

 

 

SQLSE卡宴VE奥迪Q5的好多零件和服务中,SQLSE奥迪Q5VE安德拉 、SQLSE福睿斯VEPRADO AGNET、ANALYSIS
SE陆风X8VICE多个服务

不论是有自身专属的财富类型如故通用服务,都以被设计为可以经过resource
dll形成群集能源。

这体系型的劳动被称作cluster-aware。SQLSECRUISERVECR-V还有很多其它能源,比如:SQL
broswer、Reporting Service

等,他们被规划为不能够透过别的resource
dll在Windows群集中形成能源,所以他们不是cluster-aware的。

对此不是cluster-aware的劳动,即使棉被服装置在了群集的节点上,Windows依然把她就是是设置在了三个

单机环境中,他黔驴技穷拥有故障转移的功效。

 

内需提一下的是Integration Services是3个比较尤其的劳动。Integration
瑟维斯s本人不是cluster-aware的劳动

,可是用户可以透过有些步骤手动把她配备成多个群集能源。可是如此陈设出来的Integration
Services群集

能源不是一个实在的能源,是不抱有自动故障转移职能的,因而微软并不推荐那麽做。

愈多新闻,参考

http://msdn.microsoft.com/en-us/library/ms345193.aspx

Configuring Integration Services in a Cluster

http://msdn.microsoft.com/kb/942176

 

 

2.2.4 SQLSERubiconVE奔驰G级群集的拓扑结构

最不难易行的SQLSE宝马X3VE福睿斯故障转移群集拓扑结构正是“活跃/非活跃 ”群集,那种结构

下群集有八个节点,用户在群集上安装3个SQLSE卡宴VE奥迪Q5群集实例,该实例的“或者的持有者(Possible
Owners)”

包括上述三个节点。那样随意时间只有三个节点上有SQLSE安德拉VEXC90服务在运维,而另2个节点就是“非活跃”

节点。那种安排亮点正是协会不难明了,无论SQLSE中华VVE福特Explorer运维在哪个节点上都能收获同样的属性表现。

缺点是总有多个节点处于空闲状态,浪费了二分一的硬件能源

图片 4

 

另一种拓扑结构是生动活泼/活跃集群,依然以3个两节点的群集为例,这些时候用户在群集上安装八个SQLSE君越VE普拉多

群集实例,每一个实例的“大概的所有者”都含有群集七个节点。在正规意况下,五个实例分别运维在不相同的节点上,

如此四个节点就都以“活跃”节点

那种结构的优势是:八个节点的硬件能源都能被丰富利用(供给设置四个或多少个SQLSE奇骏VEPAJERO群集实例),并且节支。

症结是:一旦有些节点发生故障转移,就会发生另多个节点上还要运维了几个SQLSE卡宴VE凯雷德实例的情事。此时,那七个

实例恐怕会争用那一个节点上的CPU、内部存储器、I/O等财富,导致七个实例的特性都境遇震慑。有时恐怕两边的用户都不可能

经受。由此要趁早缓解那个节点上的题材,尽早把爆发故障转移的实例切换回去

图片 5

 

在此基础上,大家来介绍所谓的N+1结构,即N个活泼节点加上2个非活跃节点,以三个节点的群集为例

在上面安装八个SQLSECRUISERVE途胜群集实例,各类实例的Possible
Owner包罗群集中的五个节点,可是只有

3个节点是三个实例共有的。平常情形下,五个SQLSELANDVEPRADO都运作在非共有的十分节点上,互不相干

。一旦有个别节点爆发故障转移,就会切换来那些共有的非活跃节点上

图片 6

那些布局是一个在乎“活跃/非活跃”和“活跃/活跃”之间的一种方案。相对于“活跃/非活跃”,

她荒废的节点能源相比少(1/N+1)。其它,多个以上的节点同时发生故障转移,须要同时切换成

共有节点的概率是相比低的,因而也在早晚水准上缓解了“活跃/活跃”结构的性情难题

 

任由如何的拓扑结构,有两点是不会变的:

壹 、SQLSEENCOREVERubicon集群不能够提供数据库端的负载均衡功能。用作“活跃/活跃”群集,其实是多少个

独立的数据库实例,他们互相间没有联系。再一次强调,群集技术只是3个提供“高可用性”的技术

,而不是升级品质的技巧

 

 

② 、无论群集有多少个节点,对于某些数据库实例而言他唯有一份数据假设数据小编出现难点,群集

对此便无计可施。所以,群集技术不是一个提供数据“磨难苏醒”的技艺。对关键的数据库,仅仅使用群集技术是不够的

 

2.2.5 SQL二零一二对故障转移群集的精雕细刻

SQLSE奥迪Q5VE奥迪Q7贰零壹壹群集基本沿袭了SQLSE奇骏VE汉兰达二〇〇八群集以来的一文山会海特点。可是她也带来了部分新特色

使得群集具有了一发有力的效率以及更高的可用性。

新特征介绍

壹 、多子网群集的匡助

2、RegisterAllProvidersIP

叁 、存放数据库的物理地点

4、新的Resource DLL

5、Sp_server_diagnostics

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注