Posts Tagged ‘Data file’

 

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

Tìm Xem File Thuộc Database Nào

Đôi khi bạn gặp phải tình huống, có rất nhiều file database (.mdf hoặc .ndf) trong ổ cứng mà không biết chúng thuộc về các database nào. Các file mà dựa vào tên có thể đoán được, như BanHang.mdf thì còn dễ dàng. Nhưng nếu bạn gặp toàn các file như F158.ndf, D9343A2.ndf… thì không dễ gì suy đoán được. Khi đó bạn có thể truy vấn view hệ thống sys.master_files. View hệ thống này được cài đặt sẵn vào từng database, nhưng trả về file của toàn bộ các database trong server:

SELECT DB_NAME(database_id) AS DatabaseName, name AS LogicalFileName, physical_name AS PhysicalFileName
FROM  SYS.master_files
Posted on 1/3/2012 by Vũ Huy Tâm | Categories: Database Administration, Tip & Trick

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