婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享

SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享

熱門標(biāo)簽:智能外呼系統(tǒng)需要多少錢 外呼系統(tǒng)的話術(shù) 陽光創(chuàng)信ai外呼獲客系統(tǒng)助力 智能語音車載電話機(jī)器人 衛(wèi)星地圖標(biāo)注距離 競(jìng)圣地圖標(biāo)注服務(wù) 云南全自動(dòng)外呼系統(tǒng)公司 安陽天音防封電銷卡 貴州外呼回?fù)芟到y(tǒng)是什么

先說一下環(huán)境

客戶環(huán)境:Windows2003企業(yè)版SP2 32位 SQL2005企業(yè)版 32位 SP4
自己筆記本電腦環(huán)境:Windows7 SP1  32位  SQL2005個(gè)人開發(fā)者版 32位
我的筆記本電腦的計(jì)算機(jī)名:joe
客戶電腦的計(jì)算機(jī)名:hs

客戶那邊的master數(shù)據(jù)庫大?。簬譓B
業(yè)務(wù)系統(tǒng)是winform系統(tǒng)
客戶的環(huán)境是單機(jī)系統(tǒng)沒有使用到域
網(wǎng)絡(luò)環(huán)境:客戶那邊的網(wǎng)速比較慢,用遠(yuǎn)程協(xié)助的時(shí)候比較卡
為什麼要說明我自己筆記本電腦的環(huán)境呢?請(qǐng)大家繼續(xù)耐心看下去

檢查

先打開SQLSERVER配置管理器,啟動(dòng)SQLSERVER,發(fā)現(xiàn)SQLSERVER啟動(dòng)不起來

于是我打開Windows EventLog,發(fā)現(xiàn)了下面錯(cuò)誤

復(fù)制代碼 代碼如下:

SQLSERVER 錯(cuò)誤9003:LSN無效(日志掃描號(hào)無效)
"傳遞給數(shù)據(jù)庫 'master' 中的日志掃描操作的日志掃描號(hào) (2806:120:1) 無效。
此錯(cuò)誤可能指示數(shù)據(jù)損壞,或者日志文件(.ldf)與數(shù)據(jù)文件(.mdf)不匹配。
如果此錯(cuò)誤是在復(fù)制期間出現(xiàn)的,請(qǐng)重新創(chuàng)建發(fā)布。否則,如果該問題導(dǎo)致啟動(dòng)期間出錯(cuò),請(qǐng)從備份還原。

于是我就在自己的電腦上百度了一下這個(gè)錯(cuò)誤
搜索到這篇文章:sql server 錯(cuò)誤9003:LSN無效(日志掃描號(hào)無效),對(duì)數(shù)據(jù)庫的修復(fù)
這篇文章里的數(shù)據(jù)庫是用戶數(shù)據(jù)庫,用rebuild log,dbcc checkdb解決了問題
悲催的是客戶那邊損壞的是master數(shù)據(jù)庫

想辦法
作為一個(gè)好的數(shù)據(jù)庫工程師,一定要快速知道有哪些方法可以解決當(dāng)前客戶的問題
這些方法有什么利弊,因?yàn)檠舆t一秒鐘,就會(huì)造成客戶更多的損失,客戶的業(yè)務(wù)系統(tǒng)無法正常運(yùn)作,后果可想而知

 

由下面幾個(gè)因素,我作出了一個(gè)選擇
網(wǎng)速比較慢,不方便在客戶的電腦上寫SQL語句
業(yè)務(wù)系統(tǒng)是winform系統(tǒng)

 選擇:以前項(xiàng)目經(jīng)理教我的一個(gè)方法,遇到SQLSERVER啟動(dòng)不起來
可以用剛剛安裝好的SQLSERVER的master數(shù)據(jù)庫替換掉客戶那邊的master數(shù)據(jù)庫

 

這種方法有下面的弊端

(1)你所用的數(shù)據(jù)庫版本一定要和客戶的一樣
(2)將SQLSERVER2012的master數(shù)據(jù)庫給客戶是不行的
(3)服務(wù)器觸發(fā)器,證書,鏈接服務(wù)器,登錄用戶等信息會(huì)丟失

為什麼會(huì)有這些弊端,大家可以看一下下面的文章
SQL Server 2008中的Service SID 介紹

復(fù)制代碼 代碼如下:

【SERVICE SID的引入】
NT SERVICE\MSSQL$KATMAI, NT SERVICE\SQLAgent$KATMAI和NT SERVICE\ClusSvc 其實(shí)都是Service SID所對(duì)應(yīng)的名字。
Service SID的引入,是為了解決多個(gè)Service可能同用一個(gè)service帳號(hào)所帶來的安全隱患。
如IIS 使用Network Service帳號(hào),可能其他服務(wù)也使用Network Service帳號(hào)。
為了使得IIS能夠連接到SQL Server, 我們可能會(huì)把Network Service作為SQL Server的login, 但是這是不安全的。
因?yàn)槠渌?wù)如果以Network Service做為啟動(dòng)帳號(hào)的話,也能訪問SQL Server。
為了解決這個(gè)問題,在SQL Server 2008/Windows Server 2008及以后,
我們有了SID這個(gè)概念,這樣,不同的服務(wù),即使服務(wù)啟動(dòng)帳號(hào)是相同的,它們的SID也是不同的。

因?yàn)榈卿浻脩舻臋C(jī)制在SQLSERVER2008的時(shí)候發(fā)生了變化,所以你所用的數(shù)據(jù)庫版本不和客戶的一樣是不行的
但是就算一樣,也有弊端,客戶的登錄用戶原本是下面的樣子

復(fù)制代碼 代碼如下:

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


但是如果我把自己的master數(shù)據(jù)庫給客戶的話,就會(huì)變成下面的樣子
如果客戶的業(yè)務(wù)系統(tǒng)是B/S系統(tǒng),會(huì)用到IIS,或者客戶的環(huán)境是域環(huán)境,
登錄SQLSERVER需要使用Windows登錄驗(yàn)證不是SQL登錄驗(yàn)證,那么這樣做就很麻煩了
還有一個(gè)我自己電腦的SQLSERVER是個(gè)人開發(fā)者,客戶的是企業(yè)版,不過之前也這樣做過,發(fā)現(xiàn)沒有什么問題

開始實(shí)施

弊端說完了,開始實(shí)施了

第一步:先把我自己筆記本電腦上的SQLSERVERD 所有用戶數(shù)據(jù)庫全部分離,

刪除一些安裝時(shí)候沒有的登錄用戶只保留默認(rèn)的登錄用戶,停止自己電腦的SQL服務(wù),然后把master.mdf和mastlog.ldf復(fù)制出來,發(fā)給客戶

第二步:使用遠(yuǎn)程協(xié)助,把客戶電腦里的master數(shù)據(jù)庫master.mdf文件改名為master22.mdf

mastlog.ldf文件改名為mastlog22.ldf

然后把發(fā)過來的master數(shù)據(jù)庫放進(jìn)去data文件夾里

第三步:啟動(dòng)SQLSERVER,由于當(dāng)時(shí)沒有截圖,這里就不放截圖了,這時(shí)候可以發(fā)現(xiàn)SQLSERVER成功啟動(dòng)了

第四步:把我們的業(yè)務(wù)庫重新附加進(jìn)來

第五步:刪除原來業(yè)務(wù)庫里的那個(gè)數(shù)據(jù)庫用戶gxhtsyrain

第六步:新建登錄用戶gxhtsyrain并且映射到我們的業(yè)務(wù)庫

第七步:禁用sa用戶

由于不是替換msdb數(shù)據(jù)庫,所以維護(hù)計(jì)劃沒有丟失


錯(cuò)誤日志

我查看SQL ERRORLOG,發(fā)現(xiàn)了下面的錯(cuò)誤

無法啟用數(shù)據(jù)庫 "msdb" 中的 Service Broker,因?yàn)閙aster與msdb 的 Service Broker 的ID不一樣

NT AUTHORITY\SYSTEM登錄失敗

由于我們沒有用到 Service Broker技術(shù),所以“無法啟用數(shù)據(jù)庫 "msdb" 中的 Service Broker”這個(gè)錯(cuò)誤可以忽略

而NT AUTHORITY\SYSTEM登錄失敗,在文章SQL Server 2008中的Service SID 介紹中說到

復(fù)制代碼 代碼如下:

但是我們也不能認(rèn)為有這幾個(gè)SID的帳號(hào),就能隨便把其他的登錄如NT AUTHORITY\SYSTEM給刪除。

某些應(yīng)用,如VSS Writer,Windows自動(dòng)更新等,還是需要用服務(wù)啟動(dòng)帳號(hào)來進(jìn)行處理。

如果客戶那邊有做SQLSERVER的系統(tǒng)數(shù)據(jù)庫備份

我會(huì)這樣做:

第一步:先備份我自己筆記本電腦里的master數(shù)據(jù)庫出來

第二步:將客戶那邊的master.bak拿到自己的電腦里

第三步:還原客戶的master.bak到自己的SQLSERVER

第四步:停止SQL服務(wù),然后把master.mdf和mastlog.ldf復(fù)制出來發(fā)送給客戶

第五步:把客戶電腦里的master數(shù)據(jù)庫master.mdf文件改名為master22.mdf,mastlog.ldf文件改名為mastlog22.ldf

第六步:然后把發(fā)過來的master數(shù)據(jù)庫放進(jìn)去data文件夾里

第七步:啟動(dòng)SQLSERVER

總結(jié)

其實(shí)除了備份用戶數(shù)據(jù)庫之外,系統(tǒng)數(shù)據(jù)庫的備份也是很重要的
我們需要備份master和msdb這兩個(gè)數(shù)據(jù)庫
我們當(dāng)時(shí)部署業(yè)務(wù)系統(tǒng)的時(shí)候沒有備份系統(tǒng)數(shù)據(jù)庫,其實(shí)也是一個(gè)反面教材
我的方法是基于我們的業(yè)務(wù)系統(tǒng)使用到SQLSERVER的功能就只有維護(hù)計(jì)劃,所以作出上面的的解決方法
如果用到很多SQLSERVER的相關(guān)技術(shù)的話,可能我的解決方法不是最好的
我也希望大家能夠提出您的意見和見解,或者您使用的方法比我還要好,更快速

您可能感興趣的文章:
  • sql server啟動(dòng)不了, MSSQL 18052錯(cuò)誤: 9003,嚴(yán)重度: 20,狀態(tài): 1 .
  • SQL SERVER 2000 9003錯(cuò)誤的解決方法(只適用于SQL2000)

標(biāo)簽:鄂爾多斯 預(yù)約服務(wù) 周口 河源 欽州 寧夏 營口 湘潭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享》,本文關(guān)鍵詞  SQLSERVER,啟動(dòng),不,起來,錯(cuò)誤,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于SQLSERVER啟動(dòng)不起來(錯(cuò)誤9003)的解決方法分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 平乡县| 锡林浩特市| 绍兴市| 南阳市| 丹东市| 松江区| 杂多县| 开江县| 都匀市| 志丹县| 巴马| 招远市| 元阳县| 白朗县| 辰溪县| 枣庄市| 宝应县| 栾城县| 石泉县| 分宜县| 舞钢市| 房产| 寿阳县| 通许县| 唐海县| 大邑县| 绥阳县| 南岸区| 尼玛县| 来凤县| 泰兴市| 梁山县| 上林县| 崇明县| 黄山市| 江油市| 陇川县| 新兴县| 澄江县| 平利县| 永胜县|