Dùng cho SQLEXPRESS không có dịch vụ SQL Agent
I> Cài đặt sqlcmd
Cách 1: Cài đặt bằng winget (Đơn giản nhất)
Nếu bạn đang dùng Windows 10 hoặc 11 và có sẵn winget:
- Mở Command Prompt hoặc PowerShell với quyền admin.
- Chạy lệnh:
bashCopyEditwinget install --id Microsoft.Sqlcmd -e
Sau khi cài xong, bạn có thể kiểm tra bằng cách chạy:
bashCopyEditsqlcmd -?
🔧 Cách 2: Cài đặt thông qua SQL Server Command Line Utilities
- Truy cập trang chính thức:
- Tải về file cài đặt tương ứng với phiên bản bạn cần:
- Ví dụ: Microsoft Command Line Utilities for SQL Server.
- Cài đặt tuần tự theo thứ tự sau (nếu chưa có):
- Microsoft ODBC Driver for SQL Server
- Microsoft Command Line Utilities
📦 Kiểm tra sau khi cài đặt
Sau khi cài đặt xong, mở Command Prompt và chạy:
BAT (Batchfile)
bashCopyEditsqlcmd -S localhost -U sa -P your_passwordThay your_password bằng mật khẩu SQL Server của bạn. Nếu dùng xác thực Windows, bạn có thể dùng:
bashCopyEditsqlcmd -S localhost -E
II> Tạo script command prompt backup
Trường hợp chạy backup trực tiếp tại server local cài đặt sqlserver và sử dụng user trên máy để backup.
script backup vào thư mục tạm trên máy và copy vào thư mục share smb của máy khác và xóa backup trên local
BAT (Batchfile)
::File script1.bat
@echo off
cls
echo -- BACKUP DATABASE --
::Gán biến cho database muốn backup
set DATABASENAME=[DBNAME]
::Nếu muốn backup nhiều Database thì copy script1.bat thành script2.bat và sửa DBNAME
set Local
::Gán thư mục tạm trên local để backup
set tmppath=C:\BKSQL
:: filename format Name-Date (eg MyDatabase-2009.5.19.bak)
set DATESTAMP=%DATE:~-4%.%DATE:~7,2%.%DATE:~4,2%
set BACKUPFILENAME=%CD%\%DATABASENAME%-%DATESTAMP%.bak
set filepath=%tmppath%\%DATABASENAME%-%DATESTAMP%.bak
set SERVERNAME=[Tên máy server]\SQLEXPRESS
echo.
::backup full
sqlcmd -E -S %SERVERNAME% -d master -Q "BACKUP DATABASE [%DATABASENAME%] TO DISK = N'%BACKUPFILENAME%' WITH INIT , NOUNLOAD , NAME = N'%DATABASENAME% backup', NOSKIP , STATS = 10, NOFORMAT"
::Copy vào ổ mạng
::Đăng nhập vào thư mục share trước và lưu mật khẩu.
XCopy "%filepath%" \\[Địa chỉ mạng (192.168.x.x)]\backup\ /Z /V
DEL "%filepath%"Tạo file script chạy vòng lặp để chạy nhiều file script (script1.bat … script10.bat) backup nhiều DB
BAT (Batchfile)
::sqlcmd_script.bat
@echo off
for /L %%i in (1,1,13) do (
echo Running script%%i.bat
call script%%i.bat
echo Waiting 5 seconds before next script...
timeout /t 5 /nobreak >nul
)Tạo schedule task của windows để tự động chạy file sqlcmd_script.bat
