none
SQL2000附加資料庫問題 RRS feed

  • 問題

  • 各位大大您好:
    日前因為SQL伺服器的硬碟空間滿了
    所以我先將資料庫卸離後,將MDF及LDF複製到新的硬碟
    再重新附加回去
    不過有一個資料庫附加時卻出現
    "錯誤9004:在處理資料庫'xxxx.md'的紀錄檔時,發現錯誤"
    而無法附加回去
    請問各位前輩
    這是LDF有問題嗎?
    要如何才能附加回去!

    我的系統是Windows 2003 SP2 +SQL 2000 SP3

    拜託各位解答
    感謝各位~
    2008年5月14日 上午 04:21

解答

  • Dear Sir,

     

    1. 先確認放置的路徑是否和先前相同

    2. 若仍有問題, 試著attach single file的方式來附加

    3. 如果仍然有問題, 則需要使用rebuild log的方式重建

    4. 假使rebuild log的方式仍然無法解決, 那麼表示此資料庫檔案本身也有問題, 請使用先前的備份來還原.

     

     

    Best regards,

    微軟技術支援中心-Colin

     

    2008年5月14日 上午 05:53
  • 先用 SSEM (SQL Server Enterprise Manager) 建立一個具有相同名稱的資料庫(資料庫的檔案名稱要與你原本的一樣),然後將 SQL Server 的服務停用,用舊有的檔案覆蓋掉剛建立的。
    啟動 SQL Server 服務,此時資料庫應該會處於 suspect 模式,接著請執行下列的 T-SQL:

    Code Snippet
    EXEC sp_resetstatus '資料庫名稱';
    GO
    ALTER DATABASE 資料庫名稱 SET EMERGENCY
    DBCC CheckDB('資料庫名稱')
    ALTER DATABASE 資料庫名稱 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB('資料庫名稱', REPAIR_ALLOW_DATA_LOSS)
    ALTER DATABASE 資料庫名稱 SET MULTI_USER

     


    2008年5月14日 上午 06:36
    版主

所有回覆

  • Dear Sir,

     

    1. 先確認放置的路徑是否和先前相同

    2. 若仍有問題, 試著attach single file的方式來附加

    3. 如果仍然有問題, 則需要使用rebuild log的方式重建

    4. 假使rebuild log的方式仍然無法解決, 那麼表示此資料庫檔案本身也有問題, 請使用先前的備份來還原.

     

     

    Best regards,

    微軟技術支援中心-Colin

     

    2008年5月14日 上午 05:53
  • 先用 SSEM (SQL Server Enterprise Manager) 建立一個具有相同名稱的資料庫(資料庫的檔案名稱要與你原本的一樣),然後將 SQL Server 的服務停用,用舊有的檔案覆蓋掉剛建立的。
    啟動 SQL Server 服務,此時資料庫應該會處於 suspect 模式,接著請執行下列的 T-SQL:

    Code Snippet
    EXEC sp_resetstatus '資料庫名稱';
    GO
    ALTER DATABASE 資料庫名稱 SET EMERGENCY
    DBCC CheckDB('資料庫名稱')
    ALTER DATABASE 資料庫名稱 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    DBCC CheckDB('資料庫名稱', REPAIR_ALLOW_DATA_LOSS)
    ALTER DATABASE 資料庫名稱 SET MULTI_USER

     


    2008年5月14日 上午 06:36
    版主