PDA

View Full Version : Help me with SQL 7.0



tech02
21-02-2003, 22:44
Hi all !
Mình đã tạo một cấu trúc và một CSDL bằng SQL 7.0. Nhưng mình quên không backup lại CSDL. Trong quá trình làm việc mình phải cài lại Win và SQL nhưng giữ nguyên thư mục MSSQL7 (thư mục có chứa CSDL). Sau khi cài lại Win và SQL xong mình không thể lấy lại được CSDL mặc dù mình đã giải quyết bằng 2 cách sau :
Cách 1: sau khi cài Update lại Win và cài mới lại SQL mình copy CSDL của mình vào thư mục MSSQL7 vừa mới được cài đặt (C:\MSSQL7\Database) nhưng CSDL của mình bị đánh dấu mầu trắng (Nó không nhận được CSDL mà mình đã tạo lần trước đó).
Cách 2: trước khi cài Update lại Win và cài mới lại SQL mình đã đổi tên thư mục MSSQL thành thư mục MSSQL71. sau đó trong quá trình cài mới lại SLQ phần tạo đường dẫn mình đã thay đổi và chỉ thẳng đến thư mục SQL71. nhưng khi vào phần Enter prise Manegement -> tên Server -> ................. -> Datebase mình cũng không nhận được CSDL của mình.
rất mong các cao thủ giúp mình lấy lại CSDL mà không cần phải tạo lại cấu trúc cũng như CSDL mà mình đã tạo.
Xin cảm ơn mọi tham gia góp ý.

Tech02.

xbacala
22-02-2003, 08:46
Các thông tin về CSDL được SQL Server chứa trong master nên bạn chỉ đơn thuần là chép file vào là không ổn. Nếu bạn còn giữ lại file mdf và ldf của CSDL, bạn phải attach cái CSDL đó vào SQL Server bằng lệnh sp_attach_db. Xem lệnh này trong BO. Ví dụ:

EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'C:\MSSQL7\Database\Data\pubs.mdf',
@filename2 = N'C:\MSSQL7\Database\Data\pubs_log.ldf'

Nếu bạn dùng Enterprise Manager của SQL7 thì bạn phải gõ lệnh này. Còn nếu bạn dùng Enterprise Manager của SQL2000 thì nó sẽ có tool để bạn làm, khỏi phải gõ.

Chúc bạnh thành công.

9Star
22-02-2003, 23:35
Đúng vậy cách này rất dễ làm và dễ dàng dùng để chép toàn bộ CSDL sang một máy khác