用sqlserver的sqlcmd、osql、isql的备份与还原


--sqlcmd ,sql2005新加工具
1、备份
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:\aa\aaa.bak'"

已为数据库 'test',文件 'test' (位于文件 2 上)处理了 176 页。
已为数据库 'test',文件 'test_log' (位于文件 2 上)处理了 1 页。
BACKUP DATABASE 成功处理了 177 页,花费 1.207 秒(1.201 MB/秒)。


2、还原
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:\aa\aaa.bak'"

3、帮助
C:\Documents and Settings\xuysh>"C:\Program Files\Microsoft SQL Server\90\Tools\
Binn\SQLCMD.EXE" -?
Microsoft (R) SQL Server 命令行工具
版本 9.00.1399.06 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。

用法: Sqlcmd [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-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 使用客户端区域设置]
[-b 出错时中止批处理]
[-v 变量 = "值"...] [-A 专用管理连接]
[-X[1] 禁用命令、启动脚本、环境变量[并退出]]
[-x 禁用变量情况]
[-? 显示语法摘要]

--Osql sql2000和sql2005都有
--1、备份
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\Osql.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:\aa\aaa.bak'"

已为数据库 'test',文件 'test' (位于文件 3 上)处理了 176 页。
已为数据库 'test',文件 'test_log' (位于文件 3 上)处理了 1 页。
BACKUP DATABASE 成功处理了 177 页,花费 0.531 秒(2.730 MB/秒)。


2、还原
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\Osql.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:\aa\aaa.bak'"

已为数据库 'test',文件 'test' (位于文件 1 上)处理了 176 页。
已为数据库 'test',文件 'test_log' (位于文件 1 上)处理了 2 页。
RESTORE DATABASE 成功处理了 178 页,花费 0.200 秒(7.255 MB/秒)。


3、帮助
C:\Documents and Settings\xuysh>"C:\Program Files\Microsoft SQL Server\90\Tools\
Binn\Osql.EXE" /?
Microsoft (R) SQL Server 命令行工具
版本 9.00.1399.06 NT INTEL X86
版权所有 (c) Microsoft Corporation。保留所有权利。

注意: osql 并不支持 SQL Server 2005的所有功能。
请使用 sqlcmd。有关详细信息,请参阅 SQL Server 联机丛书。

用法: osql [-U 登录 ID] [-P 密码]
[-S 服务器] [-H 主机名] [-E 可信连接]
[-d 使用数据库名称] [-l 登录超时值] [-t 查询超时值]
[-h 标题] [-s 列分隔符] [-w 列宽]
[-a 数据包大小] [-e 回显输入] [-I 允许带引号的标识符]
[-L 列出服务器] [-c 命令结束] [-D ODBC DSN 名称]
[-q "命令行查询"] [-Q "命令行查询" 并退出]
[-n 删除编号方式] [-m 错误级别]
[-r 发送到 stderr 的消息] [-V 严重级别]
[-i 输入文件] [-o 输出文件]
[-p 打印统计信息] [-b 出错时中止批处理]
[-X[1] 禁用命令,[退出的同时显示警告]]
[-O 使用旧 ISQL 行为禁用下列项]
<EOF> 批处理
自动调整控制台宽度
宽消息
默认错误级别为 -1 和 1
[-? 显示语法摘要]


--Isql ,sql2000工具,2005中没有
--1、备份
"C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Isql.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"BACKUP DATABASE test to disk='c:\aa\aaa.bak'"

已为数据库 'test',文件 'test' (位于文件 3 上)处理了 176 页。
已为数据库 'test',文件 'test_log' (位于文件 3 上)处理了 1 页。
BACKUP DATABASE 成功处理了 177 页,花费 0.531 秒(2.730 MB/秒)。


2、还原
"C:\Program Files\Microsoft SQL Server\80\Tools\Binn\Isql.EXE" -S .\sqlexpress -U sa -P 000000 -d master -Q"RESTORE DATABASE test from disk='c:\aa\aaa.bak'"

已为数据库 'test',文件 'test' (位于文件 1 上)处理了 176 页。
已为数据库 'test',文件 'test_log' (位于文件 1 上)处理了 2 页。
RESTORE DATABASE 成功处理了 178 页,花费 0.200 秒(7.255 MB/秒)。

3、帮助
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\xuysh>"C:\Program Files\Microsoft SQL Server\80\Tools\
Binn\Isql.EXE"/?
isql: unknown option ?
usage: isql [-U login id] [-P password]
[-S server] [-H hostname] [-E trusted connection]
[-d use database name] [-l login timeout] [-t query timeout]
[-h headers] [-s colseparator] [-w columnwidth]
[-a packetsize] [-e echo input] [-x max text size]
[-L list servers] [-c cmdend]
[-q "cmdline query"] [-Q "cmdline query" and exit]
[-n remove numbering] [-m errorlevel]
[-r msgs to stderr]
[-i inputfile] [-o outputfile]
[-p print statistics] [-b On error batch abort]
[-O use Old ISQL behavior disables the following]
<EOF> batch processing
Auto console width scaling
Wide messages
default errorlevel is -1 vs 1
[-? show syntax summary (this screen)]

?