Cẩm nang NQDEV
HomeCheat SheetsContact
Công nghệ
Công nghệ
  • Introduction
  • Developer Roadmaps
    • Developer Roadmaps: Mô tả chi tiết
    • Roadmaps: ASP.NET Core Developer
    • Bảng phân loại cấp độ nhà phát triển .NET
    • ClearPath cho Team .NET Core
  • DotNET
    • ASP.NET Core
      • Hướng dẫn sử dụng tệp .http trong Visual Studio 2022 để thực hiện HTTP Requests
    • Message Queue
      • ZeroMQ
        • Xây dựng ZeroMQ Server trong dotNET 8 với CSharp
    • Playwright
      • Playwright: Tự Động Hóa Trình Duyệt Hiệu Quả
    • Optimize
      • Optimize - Một số cách tối ưu code và performance CSharp
    • Dev Blogs
      • Versions of .NET
        • Cập nhật từ .NET 9 lên .NET 10: Những thay đổi quan trọng
      • ASP.NET Core Web API với ASP.NET Core Web API (Native AOT): Bạn nên chọn loại nào?
      • Hướng dẫn xây dựng ứng dụng multi-tenant với .NET Core và MongoDB
      • Kiến Trúc Monolithic và Microservices: Lựa Chọn Phù Hợp Cho Dự Án Của Bạn
  • Design Patterns
    • CQRS Pattern
      • CQRS and MediatR trong .NET Core
    • Microservices
      • Ocelot
  • SQL Server
    • SQL Server Basics
    • SQL Server: DBCC
      • DBCC
      • DBCC SHOW_STATISTICS
      • DBCC SHRINKDATABASE
      • DBCC SHRINKFILE
      • DBCC SQLPERF
      • DBCC FREEPROCCACHE
    • SQL Server Replication
      • Giới thiệu SQL Server Replication
      • Hướng dẫn cấu hình và quản lý SQL Server Replication với Distribution Agent
    • SQL Server: Tập lệnh
      • SQL Server: Tập lệnh để tìm tất cả các giá trị Mặc định với Cột
    • Bảng tạm và sự linh hoạt trong xử lý dữ liệu lớn
    • Các bước để thay đổi nơi lưu trữ tệp log trong SQL Server
    • Các bước di chuyển tệp log trong SQL Server
    • Query Store trong SQL Server - Tổng Quan và Cách Quản Lý Hiệu Quả
    • SQL Server: Error Code
      • SQL Server Error : 14151, Severity: 18. Replication agent
  • Caching
    • Phân tích các phương pháp Caching dữ liệu trong .NET Core và .NET Framework
    • Redis
      • Redis mất dữ liệu khi restart
    • Varnish Cache
      • Hướng Dẫn Cài Đặt Varnish Cache với HAProxy Sử Dụng Docker Compose
  • NodeJS
    • NextJS
      • Hướng dẫn NextJS cho người mới bắt đầu
      • Parallel Routes trong Next.js
      • Hướng dẫn cấu hình Swagger trong NextJS
    • ReactJS
      • Hiểu về hook useRef của React như thế nào cho đúng
      • Tìm hiểu sâu hơn về useEffect từ A-Z
  • OS Linux
    • Tập lệnh Linux hay dùng
    • Centos 7
      • Hướng dẫn cài đặt và cấu hình Centos 7 dành cho người mới bắt đầu
      • Hướng Dẫn Kiểm Tra Các Cổng Đang Mở Trên Hệ Thống CentOS
      • Hướng Dẫn Sử Dụng zip Trên CentOS
      • Hướng dẫn cấu hình iptables để mở tất cả các cổng cho IP private
    • Windows
      • Hướng dẫn quản lý ứng dụng khởi động Windows bằng Registry Editor
  • VMware
    • Cách ảo hóa macOS Sierra trong VMWare Windows 10
    • Tự tin làm chủ mạng lưới: Cẩm nang tính toán địa chỉ IP từ A đến Z
  • Docker
    • Getting Started with Docker
    • Docker HUB
      • nqdev/nginx
  • Templates
    • Tabler Admin Template: Xây dựng Dashboard Quản trị đẹp mắt và dễ dàng
  • Open Source
    • shadcn-ui/ui
    • Kuma UI
    • Midone
  • Ứng dụng
    • Ansible
      • Ansible: Giới thiệu
      • Hướng dẫn chi tiết cài đặt Ansible
    • Apache JMeter
      • Features
        • Hướng dẫn chi tiết về Test Plan trong JMeter
        • Hướng dẫn chi tiết về Thread Group trong JMeter
    • DocFX
      • Những khái niệm cơ bản trong DocFX
      • DocFX - Hướng dẫn cài đặt, cấu hình sử dụng
      • DocFX - Hướng dẫn Markdown
      • DocFX - Hướng dẫn cấu hình file docfx.json
      • DocFX - Hướng dẫn sử dụng và tùy chỉnh Template
    • ETL Tools
      • Công cụ ETL Tools List & Software
      • Airbyte
        • Docker Compose
    • Elasticsearch
      • _reindex
        • Tìm hiểu sâu về API _reindex trong Elasticsearch
        • Hướng dẫn di chuyển dữ liệu trong Elasticsearch sử dụng API _reindex
      • _transform
    • HAProxy
      • HAProxy - Lập trình Lua và tích hợp Redis
    • Localtunnel
      • Hướng dẫn sử dụng Localtunnel để đưa ứng dụng Local lên Internet
    • LoopBack
      • Hướng dẫn cài đặt LoopBack 4 và khởi tạo dự án đầu tiên
    • N8N
      • Hướng dẫn cài đặt n8n bằng docker compose
    • NGINX Plus
      • NGINX: Hiệu suất vượt trội và giải pháp tối ưu cho hệ thống web
      • NGINX: Hướng dẫn chi tiết sử dụng GeoIP2 trên Alpine
      • NGINX: Hướng dẫn sử dụng Lua trên Alpine
      • NGINX: Hướng Dẫn Chi Tiết Cấu Hình Load Balancer
      • NGINX: Hướng Dẫn Sử Dụng Dynamic Modules
      • NGINX: Hướng dẫn Cài đặt và Sử dụng Module njs
      • Tích Hợp NGINX Làm API Gateway với Các Bước Xử Lý Phổ Biến
    • NTP - Secure Timeserver
      • Hướng dẫn cài đặt NTP an toàn với Docker Compose
    • Playwright
      • Playwright: Tự Động Hóa Trình Duyệt Hiệu Quả
    • Wordpress
      • Cách dùng Docker để phát triển ứng dụng Wordpress
  • Tin tức
    • DevSecOps là gì?
    • Giới thiệu bộ công cụ hỗ trợ lập trình từ SmallDev.tools và Code Beautify
    • Giới Thiệu và Hướng Dẫn Về DuckDB
    • Giới thiệu về Các Loại Cơ Sở Dữ Liệu
      • 1. HSQLDB (HyperSQL Database)
    • Hệ thống phân giải tên miền (DNS) và các loại bản ghi
    • Giải thích về Tiền Tố Path Nổi Tiếng – /.well-known
    • Giải mã Hệ thống tạo mã OTP của Google Authenticator
    • Quishing là gì? Hiểu và phòng tránh lừa đảo qua mã QR
  • Hướng dẫn
    • Hướng dẫn chi tiết tạo tài khoản Google bằng email công ty
    • Top 10 ASP .NET Open Source Projects GitHub 2024
    • Free Themes and Templates from Creative Tim
    • Hướng dẫn sử dụng Voler và Mazer Dashboard từ Zuramai
  • So Sánh
    • So Sánh Apache Parquet và CSV: Bảng So Sánh Chi Tiết, Ưu và Nhược Điểm
    • So Sánh Varnish Cache, Memcached và Redis: Ba Công Cụ Caching Phổ Biến trong Tối Ưu Hóa Hiệu Suất
  • Affiliate
    • Tuyển dụng
      • Bộ câu hỏi phỏng vấn T-SQL – Đánh giá ứng viên hiệu quả
    • eSMSvn: Chăm sóc khách hàng hiệu quả với SMS và ZNS
    • eSMS.vn: Giải pháp SMS Marketing hiệu quả cùng các chương trình ưu đãi hấp dẫn
Powered by GitBook
On this page
  • Tóm Tắt Các Bước
  • Lưu Ý Quan Trọng
  • Chi Tiết Từng Bước
  • Bước 1: Kiểm tra thông tin hiện tại về các file
  • Bước 2: Đưa cơ sở dữ liệu vào chế độ Offline
  • Bước 3: Di chuyển các file (data và log)
  • Bước 4: Cập nhật đường dẫn file trong SQL Server
  • Bước 5: Đưa cơ sở dữ liệu trở lại chế độ Online
  • Bước 6: Kiểm tra lại trạng thái của các file
  • Kết luận

Was this helpful?

  1. SQL Server

Các bước di chuyển tệp log trong SQL Server

PreviousCác bước để thay đổi nơi lưu trữ tệp log trong SQL ServerNextQuery Store trong SQL Server - Tổng Quan và Cách Quản Lý Hiệu Quả

Last updated 5 months ago

Was this helpful?

Để di chuyển tệp log của cơ sở dữ liệu trong SQL Server từ thư mục này sang thư mục khác, bạn sẽ cần thực hiện một số bước cẩn thận. Dưới đây là hướng dẫn chi tiết từng bước để thay đổi vị trí lưu trữ tệp log (.ldf) của cơ sở dữ liệu trong SQL Server.

Tóm Tắt Các Bước

Nếu bạn gặp phải bất kỳ vấn đề nào trong quá trình này, đừng ngần ngại yêu cầu thêm hướng dẫn!


Lưu Ý Quan Trọng

  1. Quyền truy cập thư mục mới:

    • Đảm bảo rằng tài khoản SQL Server (thường là NT Service\MSSQLSERVER hoặc tài khoản dịch vụ SQL Server) có đủ quyền đọc và ghi vào thư mục mới nơi bạn đã di chuyển các file.

  2. Sao lưu trước khi thực hiện:

    • Trước khi thực hiện bất kỳ thay đổi nào, hãy sao lưu cơ sở dữ liệu và tệp log để phòng trường hợp có sự cố xảy ra trong quá trình di chuyển.

  3. Không có kết nối khi di chuyển:

    • Cơ sở dữ liệu phải ở chế độ Offline khi bạn di chuyển các file. Nếu có người dùng hoặc ứng dụng đang kết nối với cơ sở dữ liệu, bạn sẽ không thể thực hiện các thao tác này.

  4. Kiểm tra không có lỗi sau khi di chuyển:

    • Sau khi hoàn tất, luôn kiểm tra các log của SQL Server (tìm lỗi trong SQL Server Error Log) để đảm bảo rằng không có lỗi xảy ra trong quá trình di chuyển file.

  5. Ảnh hưởng đến hiệu suất:

    • Nếu cơ sở dữ liệu của bạn có kích thước lớn và tệp log hoạt động liên tục, quá trình di chuyển có thể mất một khoảng thời gian dài. Hãy chọn thời điểm thực hiện khi không có người dùng kết nối hoặc tác vụ quan trọng.

  6. Chế độ Offline và Online:

    • Trong khi cơ sở dữ liệu ở chế độ Offline, người dùng sẽ không thể truy cập vào cơ sở dữ liệu. Hãy thực hiện vào thời điểm ít người dùng nhất để tránh gián đoạn công việc.

  7. Thực hiện trong môi trường thử nghiệm:

    • Nếu có thể, hãy thử thực hiện các thao tác này trên một cơ sở dữ liệu thử nghiệm trước khi thực hiện trên môi trường sản xuất.


Chi Tiết Từng Bước

Bước 1: Kiểm tra thông tin hiện tại về các file

Trước khi di chuyển, bạn cần kiểm tra vị trí của các tệp dữ liệu và tệp log hiện tại. Sử dụng câu lệnh SQL sau để xem thông tin chi tiết về các file trong cơ sở dữ liệu:

USE [master];
GO
SELECT 
    name, 
    physical_name AS current_path
FROM sys.master_files
WHERE database_id = DB_ID('Tên_Cơ_Sở_Dữ_Liệu');
GO
  • Giải thích: Thay 'Tên_Cơ_Sở_Dữ_Liệu' bằng tên cơ sở dữ liệu mà bạn muốn di chuyển các file.

  • Kết quả trả về sẽ là tên và đường dẫn hiện tại của các file .mdf (data file) và .ldf (log file).


Bước 2: Đưa cơ sở dữ liệu vào chế độ Offline

Để đảm bảo rằng không có hoạt động nào liên quan đến cơ sở dữ liệu trong khi bạn di chuyển các file, bạn cần đưa cơ sở dữ liệu vào chế độ Offline. Dùng câu lệnh sau:

ALTER DATABASE [Tên_Cơ_Sở_Dữ_Liệu] SET OFFLINE WITH ROLLBACK IMMEDIATE;
GO
  • Giải thích: ROLLBACK IMMEDIATE sẽ ngắt kết nối với cơ sở dữ liệu ngay lập tức và hoàn tất các giao dịch đang dở dang.

  • Sau khi thực hiện câu lệnh này, cơ sở dữ liệu sẽ không còn truy cập được, giúp bạn thực hiện thao tác di chuyển các file an toàn.


Bước 3: Di chuyển các file (data và log)

Bây giờ bạn có thể di chuyển các tệp log (.ldf) và dữ liệu (.mdf) từ thư mục cũ sang thư mục mới bằng cách sử dụng Windows Explorer hoặc công cụ dòng lệnh (như move hoặc xcopy).

Ví dụ:

  • Di chuyển tệp dữ liệu: move D:\SQLData\MyDB.mdf E:\SQLData\MyDB.mdf

  • Di chuyển tệp log: move D:\SQLLogs\MyDB_log.ldf E:\SQLLogs\MyDB_log.ldf

Hãy chắc chắn rằng các thư mục đích mới có quyền truy cập cho SQL Server.


Bước 4: Cập nhật đường dẫn file trong SQL Server

Sau khi di chuyển các tệp, bạn cần thông báo cho SQL Server về vị trí mới của các file. Dùng câu lệnh ALTER DATABASE để thay đổi đường dẫn các file:

ALTER DATABASE [Tên_Cơ_Sở_Dữ_Liệu] 
MODIFY FILE (NAME = 'Tên_File', FILENAME = 'Đường_Dẫn_Mới');
GO

Giải thích:

  • Tên_File: là tên của file (ví dụ: MyDB_log cho file log hoặc MyDB cho file dữ liệu).

  • Đường_Dẫn_Mới: là vị trí thư mục mới mà bạn đã di chuyển tệp tới (ví dụ: E:\SQLLogs\MyDB_log.ldf).

Ví dụ:

  • Cập nhật vị trí file dữ liệu:

ALTER DATABASE [Tên_Cơ_Sở_Dữ_Liệu] 
MODIFY FILE (NAME = 'MyDB', FILENAME = 'E:\SQLData\MyDB.mdf');
GO
  • Cập nhật vị trí file log:

ALTER DATABASE [Tên_Cơ_Sở_Dữ_Liệu] 
MODIFY FILE (NAME = 'MyDB_log', FILENAME = 'E:\SQLLogs\MyDB_log.ldf');
GO

Bước 5: Đưa cơ sở dữ liệu trở lại chế độ Online

Sau khi đã cập nhật thông tin về đường dẫn của các file, bạn cần đưa cơ sở dữ liệu trở lại chế độ Online để tiếp tục sử dụng:

ALTER DATABASE [Tên_Cơ_Sở_Dữ_Liệu] SET ONLINE;
GO
  • Sau khi thực hiện câu lệnh này, cơ sở dữ liệu sẽ trở lại trạng thái sẵn sàng và có thể truy cập lại bình thường.


Bước 6: Kiểm tra lại trạng thái của các file

Cuối cùng, kiểm tra lại trạng thái của các file để đảm bảo rằng các thay đổi đã được áp dụng chính xác:

USE [master];
GO
SELECT 
    name, 
    physical_name AS current_path
FROM sys.master_files
WHERE database_id = DB_ID('Tên_Cơ_Sở_Dữ_Liệu');
GO
  • Giải thích: Kiểm tra lại thông tin về các file để xác nhận rằng các file đã được di chuyển và đường dẫn mới đã được cập nhật đúng.


Kết luận

Di chuyển tệp dữ liệu và log trong SQL Server yêu cầu bạn phải cẩn trọng và thực hiện đúng quy trình để đảm bảo rằng không có dữ liệu nào bị mất mát và cơ sở dữ liệu hoạt động bình thường sau khi thay đổi. Thực hiện theo các bước trên và lưu ý các vấn đề quan trọng để bảo vệ dữ liệu của bạn.

Kiểm tra thông tin hiện tại về các file (data file và log).
Đưa cơ sở dữ liệu vào chế độ Offline để đảm bảo không có kết nối khi di chuyển file.
Di chuyển các file (data và log) từ thư mục cũ sang thư mục mới.
Cập nhật đường dẫn file trong SQL Server bằng câu lệnh ALTER DATABASE.
Đưa cơ sở dữ liệu trở lại chế độ Online.
Kiểm tra lại trạng thái của các file để xác nhận rằng các thay đổi đã được áp dụng chính xác.