如何使用 bat文件 调用本机sqlcmd, 备份远程sql server 到本地,请给出详细代码
时间: 2024-09-20 22:11:57 浏览: 51
自动备份sqlserver JOB 用脚本
在Windows上,你可以创建一个批处理(bat)文件来调用`sqlcmd.exe`工具备份远程SQL Server数据库到本地。首先,你需要确保你的系统已经安装了SQL Server Management Tools并且`sqlcmd`可用。
下面是一个简单的批处理文件(backup.sqlcmd.bat)示例,假设你要备份名为`MyDatabase`的数据库,并将其保存到本地路径`C:\Backups`下:
```batch
@echo off
setlocal enabledelayedexpansion
rem 配置连接信息
set SOURCE_SERVER=your_remote_server
set SOURCE_DATABASE=MyDatabase
set SOURCE_USER=your_username
set SOURCE_PASSWORD=your_password
rem 本地备份文件路径
set BACKUP_PATH=C:\Backups\%DATE:~4%%DATE:~7%%TIME:~0,2%%TIME:~3,2%.bak
rem 使用sqlcmd备份数据库
sqlcmd -S %SOURCE_SERVER% -U %SOURCE_USER% -P %SOURCE_PASSWORD% ^
-d %SOURCE_DATABASE% ^
-b ^ # 开启备份模式
-i "BACKUP DATABASE %SOURCE_DATABASE% TO DISK='%BACKUP_PATH%' WITH NOFORMAT, NOSKIP, STATS=10"
echo Backup complete: !BACKUP_PATH!
rem 如果你想发送邮件通知,可以添加类似以下的命令(这里仅作示例)
rem echo | mail -s "Backup Alert" your_email@example.com < nul
pause
```
请将上述代码中的`your_remote_server`、`your_username`、`your_password`和`your_email@example.com`替换为你实际的服务器地址、登录凭据和接收邮件的邮箱地址。
运行此批处理文件会启动`sqlcmd`,执行备份操作并显示备份完成的消息。如果需要,还可以添加额外的错误检查或电子邮件通知部分。
阅读全文