none
SQL 2005 無法啟動... RRS feed

  • 問題

  • 各位好:

    小弟在家中的 Windows XP SP2 安裝 SQL 2005 , 安裝後應該是一切都 OK, 也安裝了 Service Pack 2.

    前兩天我要更換硬碟, 沒有停止 SQL Service 的情況下, 將硬碟從硬碟管理中卸除 (當然, 系統會說下次開機才生效), 開機後, COPY 檔案, 換硬碟代號. 重開. 然後 SQL 就開不起來了.

     

    ps. 版本為 Developer Edition 32bit

     

    錯誤訊息部分, 找不到硬碟的那一次是:

    ID: 7000  The system cannot find the path specified.
    之後換完硬碟, 檔案 COPY 回去之後, 其他應用程式可以執行 (例如 OFFICE), 但是 SQL 無法啟動, 訊息是:

    ID: 7024  The SQL Server (MSSQLSERVER) service terminated with service-specific error 17058 (0x42A2).

    跟在他後面的, 就是其他 SQL 相關 server 也起不來.

     

    我在網路上查到, 似乎是因為目錄的權限問題, 但是 XP 我也看不到怎樣去設定目錄的權限. 因此無從查證 (因為我是使用 COPY 的方式來搬移檔案, 懷疑這邊是很合理的~)

     

    請問這要怎麼辦? 不會要重新安裝吧??

    2007年6月10日 上午 01:53

解答

  • 當您從原本的硬碟將檔案複製到新硬碟時,原本的權限就會自動繼承新硬碟的設定。由於 SQL Server 2005 提升很多安全性設定,因此為簡化問題,個人會建議重新安裝似乎是個不錯的作法。若不想重新安裝,由於牽扯到檔案權限設定議題,個人實無能力逐一列出各檔案的權限之 Owner 與其應有之權限為何。
    2007年6月10日 上午 03:58
    版主
  • 要更換硬碟不是不行,一般來說,我們會先行備份資料庫(使用者資料庫與系統資料庫都要),接著會因 SQL Server 與資料庫所在的磁碟是否相同(在此假設所在的目錄不同),而有不同的作法,首先請先停止 SQL Server 服務,然後至少有下列兩種作法:
  • 使用第三方軟體(如:Ghost、True Image)來複製磁碟或分割區
  • 卸離資料庫,將資料庫檔案複製到新磁碟上,設定適當的權限,然後再附加資料庫
    當然還有其他的作法,比方說舊的磁碟繼續存在,在新的磁碟機上替資料庫建立次要資料庫檔。....
2007年6月10日 上午 09:54
版主
  •  Streit Huang 寫信:
    那麼, 因為安裝 SQL 的時候是選擇全部安裝, 您建議小弟應該先 uninstall 所有元件, 還是直接 re-install 就好?

    SP2 部分也要重新安裝是吧?(恕刪...)

    個人會建議先移除,然後再重新安裝。欲手動移除 SQL Server 2005,可以參考這篇文章的說明

    2007年6月10日 下午 01:14
    版主
  •  Streit Huang 寫信:
    假設我把 SQL Server 的「主程式」和「系統資料庫」都裝在 D,如果 D 整個壞了...

    所以在那之前, D 這個硬碟需要整個備份? 還原時,目錄的權限才會正確?

    還是還原時,目錄權限一定會和原本的不同? 那這要怎麼辦?

    因為看起來,遇到這種情況,光備份資料庫,大概還是沒用吧?

    於發生此種狀況,沒有了 SQL Server 的主程式要如何還原先前所備份的資料庫?因為您必須透過  T-SQL 指令或是圖形化介面的管理工具才能進行還原作業。除非您是使用檔案方式進行備份。然而,大多數的 DBA 會透過 SQL Server 所提供的圖形化工具或 T-SQL 的方式進行備份。 

    D 硬碟需要整個備份,才能具備適當之權限。若您有事先把各目錄之權限先行記錄下來,自然可以手動再重新設定,但這樣子做,一來太麻煩,二來是太花時間。因此,很多備份軟體就提供即便檔案被鎖定時,依然可以正常地進行備份,以便當發生如您所稱的問題時,得以快速地將特定磁碟的檔案復原成備份時的狀態。

    一般來說,若使用檔案複製的方式進行資料庫檔案的備份,會因為資料庫檔案正被存取(前題是您的該資料庫檔案有附加於 SQL Server 並提供服務)而無法被複製。因此,我們都會使用 SQL Server 所提供的備份/還原功能,來進行備份/還原的作業。所以 SQL Server 並不會自動去調整目錄權限,也就是說,目錄權限會維持原本的設定。
    2007年6月13日 下午 04:55
    版主
  • 所有回覆

    • 當您從原本的硬碟將檔案複製到新硬碟時,原本的權限就會自動繼承新硬碟的設定。由於 SQL Server 2005 提升很多安全性設定,因此為簡化問題,個人會建議重新安裝似乎是個不錯的作法。若不想重新安裝,由於牽扯到檔案權限設定議題,個人實無能力逐一列出各檔案的權限之 Owner 與其應有之權限為何。
      2007年6月10日 上午 03:58
      版主
    • 非常感謝您的回答.

      不過, 微軟都沒想到有人會有更換硬碟, 或是擴充的需求嗎?

      會不會有甚麼小程式可以協助處理的...

      要不然大企業裡面若是硬碟滿了, 該如何處理呢?

      2007年6月10日 上午 07:48
    • 要更換硬碟不是不行,一般來說,我們會先行備份資料庫(使用者資料庫與系統資料庫都要),接著會因 SQL Server 與資料庫所在的磁碟是否相同(在此假設所在的目錄不同),而有不同的作法,首先請先停止 SQL Server 服務,然後至少有下列兩種作法:
    • 使用第三方軟體(如:Ghost、True Image)來複製磁碟或分割區
    • 卸離資料庫,將資料庫檔案複製到新磁碟上,設定適當的權限,然後再附加資料庫
      當然還有其他的作法,比方說舊的磁碟繼續存在,在新的磁碟機上替資料庫建立次要資料庫檔。....
    2007年6月10日 上午 09:54
    版主
  • 啊...

    看來是沒救了. 以時間來說, 重灌的確是比較快.

    那麼, 因為安裝 SQL 的時候是選擇全部安裝, 您建議小弟應該先 uninstall 所有元件, 還是直接 re-install 就好?

    SP2 部分也要重新安裝是吧?

    因為 SQL 的元件太多, 共計:

    SQL Server 2005

    SQL Server 2005 Backward compatibility

    SQL Server 2005 Books Online  <-- 這個應該不用吧?

    SQL Server 2005 Mobile Developer Tools  <-- 這個... VS 2005 裝進去的, 移除應該沒差?

    SQL Server Native Client

    SQL Server Setup Support Files

    SQL Server VSS Writer

     

    若要反安裝完再重新安裝, 是否看起來是否只需要反安裝最主要的 SQL Server 2005 就好?

    不想要連 Windows XP 都一起重新來過...

    拜託指導一下~

    謝謝.

    2007年6月10日 下午 12:53
  •  Streit Huang 寫信:
    那麼, 因為安裝 SQL 的時候是選擇全部安裝, 您建議小弟應該先 uninstall 所有元件, 還是直接 re-install 就好?

    SP2 部分也要重新安裝是吧?(恕刪...)

    個人會建議先移除,然後再重新安裝。欲手動移除 SQL Server 2005,可以參考這篇文章的說明

    2007年6月10日 下午 01:14
    版主
  • 我後來還是選擇整個重灌了 -_-|||    針對資料庫備份我有個疑問。

     

    假設我把 SQL Server 的「主程式」和「系統資料庫」都裝在 D,如果 D 整個壞了...

    所以在那之前, D 這個硬碟需要整個備份? 還原時,目錄的權限才會正確?

    還是還原時,目錄權限一定會和原本的不同? 那這要怎麼辦?

    因為看起來,遇到這種情況,光備份資料庫,大概還是沒用吧?

    2007年6月13日 上午 08:30
  •  Streit Huang 寫信:
    假設我把 SQL Server 的「主程式」和「系統資料庫」都裝在 D,如果 D 整個壞了...

    所以在那之前, D 這個硬碟需要整個備份? 還原時,目錄的權限才會正確?

    還是還原時,目錄權限一定會和原本的不同? 那這要怎麼辦?

    因為看起來,遇到這種情況,光備份資料庫,大概還是沒用吧?

    於發生此種狀況,沒有了 SQL Server 的主程式要如何還原先前所備份的資料庫?因為您必須透過  T-SQL 指令或是圖形化介面的管理工具才能進行還原作業。除非您是使用檔案方式進行備份。然而,大多數的 DBA 會透過 SQL Server 所提供的圖形化工具或 T-SQL 的方式進行備份。 

    D 硬碟需要整個備份,才能具備適當之權限。若您有事先把各目錄之權限先行記錄下來,自然可以手動再重新設定,但這樣子做,一來太麻煩,二來是太花時間。因此,很多備份軟體就提供即便檔案被鎖定時,依然可以正常地進行備份,以便當發生如您所稱的問題時,得以快速地將特定磁碟的檔案復原成備份時的狀態。

    一般來說,若使用檔案複製的方式進行資料庫檔案的備份,會因為資料庫檔案正被存取(前題是您的該資料庫檔案有附加於 SQL Server 並提供服務)而無法被複製。因此,我們都會使用 SQL Server 所提供的備份/還原功能,來進行備份/還原的作業。所以 SQL Server 並不會自動去調整目錄權限,也就是說,目錄權限會維持原本的設定。
    2007年6月13日 下午 04:55
    版主