Posts Tagged ‘Log file’

 

Log File Để Làm Gì

Khi bạn dùng Microsoft Word, bạn để ý thấy có một file tạm nằm cùng trong folder với file chính. Nếu windows bị shutdown đột ngột file tạm vẫn nằm ở đó, còn khi bạn soạn thảo xong và đóng Word lại thì file đó tự động bị xóa. File tạm này dùng cho các chức năng như autosave, recovery khi bị đóng đột ngột, undo… Log file trong SQL Server cũng có chức năng giống như file tạm đó, nhưng ở mức tinh vi hơn. Nó đóng góp rất nhiều vai trò trong tính năng ACID của hệ thống (ACID = Atom – nguyên tử, Consistency – toàn vẹn, Isolation – cô lập, và Durability – bền bỉ). Với Word thì đó chỉ là tính năng tiện lợi cho người dùng, còn với SQL Server thì đó là cam kết của hệ thống đối với dữ liệu và các giao dịch thực hiện trên nó.
Khi nhận được một lệnh cập nhật dữ liệu, các bước sau sẽ xảy ra bên trong hệ thống: … đọc tiếp »

Posted on 31/10/2014 by Vũ Huy Tâm | Categories: Bên trong SQL Server, Database Administration

Di chuyển Database File

Khi bạn cần chuyển database file (data file hoặc log file) sang ổ cứng khác để giải phóng không gian đĩa hiện tại, một cách hiển nhiên bạn có thể làm là backup database đó hoặc lấy file backup gần đây nhất, và restore lại trên cùng server với lựa chọn đặt file sang ổ đĩa mới. Bài viết Di Chuyển File Khi Khôi Phục Dữ liệu mô tả chi tiết cách làm này. Tuy nhiên trong suốt quá trình restore, database sẽ không truy cập được. Nếu database lớn, thời gian restore sẽ kéo dài gây gián đoạn sử dụng cho người dùng. Một cách làm đơn giản hơn là đặt database thành offline và copy file sang thư mục mới, như ví dụ dưới đây:

ALTER DATABASE MyDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE --đóng hết các connection tới database
 
ALTER DATABASE MyDB SET OFFLINE --đặt database thành offline
 
ALTER DATABASE MyDB MODIFY FILE 
(
   Name = MyDB,
   Filename = 'N:\DATA\MyDB.MDF' --Giả dụ N: là ổ đĩa mới
)

Điểm quan trọng nhất trong đoạn lệnh trên là lệnh ALTER DATABASE thứ ba, lệnh này cập nhật system catalog để báo cho hệ thống biết file giờ nằm ở đâu. Bước tiếp theo bạn cần copy file MyDB.MDF từ thư mục hiện tại sang thư mục mới N:\DATA\, bước này nằm ngoài SQL Server và bạn cần dùng windows để copy. Sau khi copy xong, bạn quay lại Management Studio và chạy hai lệnh:

ALTER DATABASE MyDB SET ONLINE --đặt database trở lại online
 
ALTER DATABASE MyDB SET MULTI_USER --đặt trở lại chế độ nhiều người dùng

Đến đây bạn có thể xóa file MyDB.MDF ở folder cũ và quá trình như vậy là hoàn tất.

Posted on 24/2/2014 by Vũ Huy Tâm | Categories: Database Administration

Di Chuyển TempDB Sang Đĩa Khác

Tempdb là một database hệ thống của SQL Server. Nó dùng để chứa các kết quả trung gian khi câu lệnh đang thực hiện, thực hiện sắp xếp (với câu lệnh có ORDER BY), chứa các bảng tạm, biến bảng… Khi server bận bịu với nhiều yêu cầu truy vấn đồng thời thì kích thước của tempdb có thể trở nên rất lớn. Vị trí mặc định của các file database của tempdb là ở thư mục chứa các file chương trình SQL Server. Bạn nên chuyển chúng sang một ổ đĩa riêng để tránh hiện tượng các file này lớn lên chiếm hết không gian đĩa. Để chuyển các file sang vị trí mới bạn hãy làm theo các bước sau: … đọc tiếp »

Posted on 11/7/2010 by Vũ Huy Tâm | Categories: Database Administration

Thay Đổi Đường Dẫn Mặc Định Cho File Database

Sau khi cài đặt SQL Server, đường dẫn mặc định cho file dữ liệu và file log của database là một thư mục con trong thư mục cài đặt SQL Server. Ta có thể xem đường dẫn mặc định này bằng cách, trong Management Studio kết nối vào server, click phải chuột vào server rồi chọn “Properties”; trên cửa sổ hiện ra hãy chọn tab “Database Settings”, bạn sẽ nhìn thấy hình như dưới đây: … đọc tiếp »

Posted on 14/5/2010 by Vũ Huy Tâm | Categories: Database Administration