Hiển thị kết quả từ 1 đến 2 / 2
  1. #1
    Tham gia
    30-07-2009
    Bài viết
    23
    Like
    1
    Thanked 0 Times in 0 Posts

    Dúp em với mình sửa lỗi 823 khi attach

    Không hiểu tại sao khi em attch database thì nó báo lỗi 823.
    Em đã làm theo nhiều cách khách nhưng không được!
    Cụ thể là em đã làm như sau:
    B1: Các bạn tạo mới một database có tên giống với database mà chúng ta cần Attach vào đó. Ở đây tên DB sẽ là HeThong. Lúc này SQL sẽ tự tạo ra 2 file Data và file Log của DB mới
    1,547,370,496
    B2: Các bạn STOP SQL Server đí, sau đó các bạn copy file Data mà chúng ta không attach được override lên file Data mà SQL mới tạo ra cho DB mới. Sau đó các bạn xóa đi file Log mà SQL sinh ra cho database này.....

    B3: Các bạn START SQL Server lên, lúc này khi vào Enterprise Manager chúng ta sẽ thấy database HeThong sẽ có màu xám xịt và status của nó hiện thời sẽ là Suspect Mode...Các bạn cứ yên tâm, ko có gì đâu.hi hi hi...

    B4: Chúng ta vào Query Anylizer và gõ đoạn code sau và thực thi chúng. Đoạn code này cho phép chúng ta update các system catalog:

    use master
    go
    sp_configure 'allow updates',1
    reconfigure with override
    go

    B5: Tiếp tục chúng ta sẽ thựe thi đoạn code tiếp theo:
    select * from sysdatabases
    where name='HeThong'
    khi thực thi xong đoạn code này, chúng ta hãy lấy giấy viết và ghi lại trường status của database này. VD ở đây status là 123456 đi nhé

    Sau đó các bạn thực thi đoạn code này để chuyển Mode của datbase HeThong từ Suspect Mode trở thành Emergency Mode:
    update sysdatabases
    set status=32768
    where name='HeThong'

    B6: Chúng ta STOP SQL Sever và RESTART lại

    B7: Chúng ta thực thi đaọn code tiếp theo để hệ thống tự động phát sinh lại file Log cho database này
    dbcc traceon (3604)
    go
    dbcc rebuild_log('ten_database','Thu_Muc_Chua_Data_SQL\ tendatabase_log.LDF')
    go

    B8: Thực thi đoạn code sau để reset lại status của database này
    sp_resetstatus HeThong
    go

    B9: Thực thi đoạn code sau:
    use master
    go
    sp_configure 'allow_updates',0
    reconfigure with override
    go

    B10: Thực thi đoạn code sau để set lại status cho database HeThong
    sp_configure 'allow updates',1
    reconfigure with override
    go
    update sysdatabases
    set status= gia_tri_status_ma_chung_ta_ghi_lai_luc_dau
    where name='HeThong'
    go
    sp_configure 'allow updates',0
    reconfigure with override
    go

    B11: Sau khi thực hiện đúng với những bước trên, các bạn vào lại Enterprise Manager và xem lại Status của database của mình. Lúc nà y chắc chắn database của các bạn sẽ đang trong trạng thái online. he he
    --------------------------------------------------------------------------------
    Bước 1: Attach Database bị lỗi như là 1 suspect DB trong SQL Enterprise Manager

    - Tạo 1 Database trắng trên máy chủ với tên file .mdf, kích cỡ giống với DB bị lỗi

    - Stop Server (Stop service - ko cần tắt máy)

    - Copy file .mdf bị hư đè lên file Database trắng vừa tạo

    - Khởi động lại Server ( Restart SQL Agent - ko cần tắt máy)


    Bước 2: Để sửa lỗi Database. Kiểm tra Database bị đánh dấu suspect

    Mở Query Analyzer nhập câu lệnh

    - sp_resetstatus 'DBname' hoặc

    - update master..sysdatabases SET status = status ^ 256 where name = 'DBname'

    - Khởi động lại máy (nhớ Restart SQL Agent)

    Bước 3: Nếu Database vẫn bị đánh dấu suspect thì chuyển Database sang trạng thái "emergency mode". Trong trường hợp bị lỗi "823 - Torn page detect" thì thực hiện thẳng bước này (bỏ qua bước 2)

    Mở Query Analyzer nhập câu lệnh

    update master
    ..sysdatabases set status = 32768 where name = 'DBname'


    => Bây giờ Database đang ở trạng thái "emergency mode" và cho phép truy xuất dữ liệu

    Bước 4: Chuyển dữ liệu qua 1 Database mới thông qua DTS (Data Tranformation Service) or Queries.

    Trong quá trình chuyển dữ liệu sẽ gặp 1 lỗi khi truy xuất vào vùng dữ liệu bị hỏng nhưng có thể truy xuất tất cả phần còn lại của dữ liệu. Sử dụng Indexes để truy xuất dữ liệu xung quanh vùng bị hỏng.
    ----------------------------
    nhưng vẫn không có được
    Quote Quote

  2. #2
    Tham gia
    30-08-2007
    Bài viết
    269
    Like
    0
    Thanked 0 Times in 0 Posts
    Hi bồ, đã tìm được giải pháp backup lại vùng thông tin bị lỗi chưa? Tui đang gặp vấn đề này. Thậm chí sau khi dettach database ra rồi mà windows ko cho copy file data đi nơi khác. Bó tay thật.

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •