SQL SERVER数据库命令行操作
sql server常用的命令行操作方法
登录
sqlcmd -S . -U sa
提示框填写密码,即可连接数据库
执行
>1 需要执行的语句;
>2 go
回车即可执行
sql常用参数(区分大小写)
参数不需要用引号,空格分隔即可
sqlcmd
-b (terminate batch job if there is an error) 错误退出
-d db_name 数据库名,等于执行use db_name
-E (use trusted connection) Windows身份验证,不需要输入用户名密码
-i input_file 标识包含一批 SQL 语句或存储过程的文件,文件名有空格需要引号
-j (Print raw error messages) 打印原始错误信息
-k[1 | 2] (remove or replace control characters) 删除输出中的所有控制字符,例如制表符和换行符。 此参数在返回数据时保留列格式。 如果指定了 1,则控制字符被一个空格替代。 如果指定了 2,则连续的控制字符被一个空格替代。 -k 与 -k1 相同。
-m error_level 控制错误输入等级,-1全输出
-N (encrypt connection) 客户端请求加密连接
-o output_file 输出文件
-p[1] (print statistics, optional colon format) 输出性能统计,单位毫秒
-P password 密码,区分大小写,使用不需要加引号和分号,直接回车
-r[0 | 1] (msgs to stderr) 错误输出到屏幕,为0仅显示严重级别为11以上错误
-S [protocol:]server[instance_name][,port] 选择实例名(一般是主机名)
-u (unicode output file) unicode编码输出文件格式
-U login_id 数据库用户名
-z new_password 更改密码
-Z new_password (and exit) 更改密码并退出
-? (usage) 获取帮助
例子
>登录
sqlcmd -S . -E
sqlcmd -S . -U sa -P 123456
>备份
backup database 数据库名 to disk='输出路径\备份文件名.bak';
go
>还原,一般步骤,先创建一个空的数据库,把备份文件with replace还原
create database 数据库名;
go
restore database 数据库名 from disk='路径' with repalce;
go
>更改密码
sqlcmd -U someuser -P s0mep@ssword -z a_new_p@a$$w0rd
>执行脚本文件,用于文件过大时
sqlcmd -S . -U sa -P 密码 -d 数据库 -i 脚本名.sql
sqlcmd命令
GO [count] | :List |
[ : ] RESET | :Error |
[ : ] ED | :Out |
[:] !! | :Perftrace |
[ : ] QUIT | :Connect |
[ : ] EXIT | :On Error |
:r | :Help |
:ServerList | :XML [ON | OFF] |
:Setvar | :Listvar |
使用 sqlcmd 命令时,请注意以下事项:
- 除 GO 以外,所有 sqlcmd 命令必须以冒号 (:) 为前缀。
- sqlcmd 命令只有出现在一行的开头时,才能够被识别。
- 所有 sqlcmd 命令都不区分大小写。
- 每个命令都必须位于单独的行中。 命令后面不能跟随 Transact-SQL 语句或其他命令。
- 命令将被立即执行。 它们与 Transact-SQL 语句不同,不会放在执行缓冲区中。