关于我们
技术分享
技术分享
Sqlserver命令SQLCMD备份恢复数据库
Sqlserver命令SQLCMD备份恢复数据库
2020-02-24
1,备份,创建脚本bak.bat,内容
脚本调用恢复的语句文本
说明:init代表覆盖之前的文件,如果noinit代表append to the most recent backup
2,还原,创建还原脚本restore.bat,内容
3,批量生成备份库sql
sqlcmd -i "f:\dbbak\bak.sql"
脚本调用恢复的语句文本
:connect . backup database db1 to disk = 'f:\dbbak\db1.bak' with init go
说明:init代表覆盖之前的文件,如果noinit代表append to the most recent backup
2,还原,创建还原脚本restore.bat,内容
sqlcmd -i "f:\dbbak\restore.sql" pause
如果还原到指定库,追加 -d dbname即可
如果还原后乱码,可以指定-f 指定字符集,比如-f 65001 使用utf-8字符集
:connect . USE master GO ALTER DATABASE [db1] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO --查看是否还有用户连接 --SELECT * FROM sys.[sysprocesses] WHERE DB_NAME([dbid])='db1' --GO ALTER DATABASE [db1] SET MULTI_USER GO RESTORE DATABASE [db1] FROM DISK = N'f:\dbbak\db1.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 go
3,批量生成备份库sql
SELECT 'backup database '+ name+' to disk = ''f:\dbbak\'+name+'.bak'' with init' FROM Master..SysDatabases where dbid>=7; -- 注意条件
4,其他
C:\Users\Administrator>sqlcmd -? Microsoft (R) SQL Server 命令行工具 版本 11.0.2100.60 NT x64 版权所有 (c) 2012 Microsoft。保留所有权利。 用法: Sqlcmd [-U 登录 ID] [-P 密码] [-S 服务器] [-H 主机名] [-E 可信连接] [-N 加密连接][-C 信任服务器证书] [-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值] [-h 标题] [-s 列分隔符] [-w 屏幕宽度] [-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符] [-c 命令结束] [-L[c] 列出服务器[清除输出]] [-q "命令行查询"] [-Q "命令行查询" 并退出] [-m 错误级别] [-V 严重级别] [-W 删除尾随空格] [-u unicode 输出] [-r[0|1] 发送到 stderr 的消息] [-i 输入文件] [-o 输出文件] [-z 新密码] [-f <代码页> | i:<代码页>[,o:<代码页>]] [-Z 新建密码并退出] [-k[1|2] 删除[替换]控制字符] [-y 可变长度类型显示宽度] [-Y 固定长度类型显示宽度] [-p[1] 打印统计信息[冒号格式]] [-R 使用客户端区域设置] [-K 应用程序意向] [-M 多子网故障转移] [-b 出错时中止批处理] [-v 变量 = "值"...] [-A 专用管理连接] [-X[1] 禁用命令、启动脚本、环境变量[并退出]] [-x 禁用变量替换] [-? 显示语法摘要]
登录执行dml语句
C:\Users\Administrator>sqlcmd 1> use t 2> go 已将数据库上下文更改为 't'。 1> create table t(id int); 2> go 1> insert into t values(1); 2> go (1 行受影响) 1> select * from t; 2> go id ----------- 1 (1 行受影响)如果是远程需要指定用户名,密码地址端口,-U sa -P 123456 -S 192.168.1.100,1433

- 标签:
-
容灾备份
您可能感兴趣的新闻 换一批
热门文章
现在下载,可享30天免费试用