Trang 1 / 3 123 LastLast
Hiển thị kết quả từ 1 đến 10 / 22
  1. #1
    Tham gia
    20-10-2007
    Bài viết
    6
    Like
    0
    Thanked 2 Times in 1 Post

    Gặp sự cố khi Attach Database. Giúp mình với

    Chào các bạn. Vấn đề của mình như sau:

    --Mình có 1 database, vì quá trình truy xuất và xử lý database này rất nhiều nên file log của nó ngày càng lớn. Thế là mình STOP SQL lại, sau đó xóa cái file log của database này đi rồi sau đó xóa luôn datbase này (tuy nhiên mình vẫn giữ lại file DATA của database này bằng cách copy ra). Sau đó mình tiến hành ATTACH lại database này thì bị báo lỗi...

    Cái Error đó như sau: "Error 1813: Could not open new database 'Ten_database'. Create database is aborted. Device activation error. The phýical file name 'Duong_dan_file_log' may be incorrect."

    Cái mình không hiểu ở đây là mình có tổng cộng 3 database, mình cũng đều xóa hết log file của các database này. Nhưng khi attach lại thì chỉ attach được 2 cái, cái còn lại thì báo lỗi như trên đó...


    Mọi người ai biết về vấn đề này xin vui lòng chỉ mình nhé. Vì mình đang đi làm nên database này cũng rất là quan trọng. Vì CSDL rất lớn và có nhiều table nên vấn đề tạo lại rất mất thời gian...

    Cho mình cảm ơn trước ........
    Được sửa bởi xicuk lúc 11:06 ngày 21-10-2007
    Quote Quote

  2. #2
    Tham gia
    20-10-2007
    Bài viết
    6
    Like
    0
    Thanked 2 Times in 1 Post
    Các cao thủ SQL làm ơn vào đây giúp mình với

  3. #3
    Tham gia
    20-10-2007
    Bài viết
    6
    Like
    0
    Thanked 2 Times in 1 Post
    Mình đã khắc phụ được vấn đề trên rùi, post lên cho các bạn tham khảo nhé .Sau 2 ngày lục lọi tung hết trên Google, mình đã giải quyết được cái trouble này.....

    Giả sử tên DB của mình là HeThong và mình chỉ có 1 file data là HeThong_data.MDF (mất tiu file log rùi).

    ---Các bước thực hiện 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

    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)
    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

    Mình đã làm theo trên và thấy có kết quả nên post lên chia sẽ cùng mọi người . hi vọng là sẽ giúp ích cho những ai cũng bị gặp trouble này như mình..

    Chúc mọi người thành công nhé !!!!!

  4. 2 thành viên Like bài viết này:


  5. #4
    Tham gia
    23-12-2003
    Location
    Hải Phòng
    Bài viết
    83
    Like
    1
    Thanked 0 Times in 0 Posts
    Các cao thủ đầu có mủ không ai lại đi xóa file log như bạn cả. Thường thì họ sẽ backup transaction log, xong rồi backup database. Có thể kết hợp với thuộc tính AutoSrink để thu nhỏ data file và log file. Nhưng dù sao cũng chúc mừng bạn đã tìm ra được giải pháp.

  6. #5
    Tham gia
    20-10-2007
    Bài viết
    6
    Like
    0
    Thanked 2 Times in 1 Post
    Cái này là do mình lỡ tay mà bạn . Trước đây mình không biết mỗi database đều có chức năng Shrink database đâu . Hi hi. Bi giờ thì đã biết rùi và sẽ không bao giờ làm cái điều củ chuối như thế nữa. Kinh nghiệm xương máu !!!

  7. #6
    Tham gia
    05-09-2007
    Bài viết
    17
    Like
    0
    Thanked 0 Times in 0 Posts

    Attach Database

    Bạn Xicuk ơi. Tôi format ổ cứng nên mất CSDL. Tôi đã dùng phần mềm Recovemyfile tìm được một số file .mdf. Tôi có thể khôi phục lại CSDL từ những file này không? Tôi đã thử Attach nhưng không được. Bạn giúp tôi với.

  8. #7
    Tham gia
    21-01-2008
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts
    mình cũng gặp rắc rối khi attach db. số là bạn mình gửi cho database về âm nhạc (gồm 2 file mdf và ldf. nhưng khi attach thì báo lỗi :
    "Error 602 : could not find row in sysindexes for database ID 9, Object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes" . bạn nào bít chỉ giùm mình với

  9. #8
    Tham gia
    20-10-2007
    Bài viết
    6
    Like
    0
    Thanked 2 Times in 1 Post
    Quote Được gửi bởi minhtrico View Post
    Bạn Xicuk ơi. Tôi format ổ cứng nên mất CSDL. Tôi đã dùng phần mềm Recovemyfile tìm được một số file .mdf. Tôi có thể khôi phục lại CSDL từ những file này không? Tôi đã thử Attach nhưng không được. Bạn giúp tôi với.
    Trường hợp của bạn cũng giống mình đó...bạn thử làm theo cách mình hướng dẫn xem..chắc chắn là sẽ được

  10. #9
    Tham gia
    05-09-2007
    Bài viết
    17
    Like
    0
    Thanked 0 Times in 0 Posts
    Tôi đã làm theo bạn Xicuk và đã kết nối được 1 database chạy tốt, attach fil mdf thứ hai thì chỉ chạy được chế độ Emergency Mode.Tôi thử chạy lại các đoạn code của bạn cung cấp vì sợ có thể thao tác sai chỗ nào đó nhưng cũng chỉ được như vậy. Xin bạn hướng dẫn khắc phục tiếp. Cám ơn bạn nhiều

  11. #10
    Tham gia
    25-01-2006
    Location
    congnghevinhcuu.com
    Bài viết
    122
    Like
    0
    Thanked 1 Time in 1 Post

    Thông tin

    Quote Được gửi bởi xicuk View Post
    Trường hợp của bạn cũng giống mình đó...bạn thử làm theo cách mình hướng dẫn xem..chắc chắn là sẽ được
    Khả năng thành công là 0.1 % vì xác suất file của bạn sau khi recovery chắc chắn sẽ bị sai byte, bit nào đó... Tuy nhiên cũng chúc bạn may mắn.

Trang 1 / 3 123 LastLast

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
  •