当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQLServer2005中的SQLCMD工具使用

MSSQL
SQL Server TEXT、NTEXT字段拆分的问题
SQL Server事务日志的几个常用操作
SQL Server不存在或拒绝访问故障的排除
动态创建MSSQL数据库表存储过程
教你如何在SQL Server计算列和平均值
如何应用SQL Server中的DBCC避免堵塞
SQLServer2000分布式事务错误解决方法
通用SQL数据库查询语句精华使用简介
利用typeperf工具收集SQL Server性能数据
SQL 2008 FileStream数据类型
自定义用于ASP Web站点的 SQL 7.0 数据库
SQL server 2005安装问题大全
利用"SQL"语句自动生成序号的两种方式
SQL Server数据库管理员必备的DBCC命令
讲解在SQL Server 2005中实现异步触发器架构
SQL Server 2008的新特性概述:集成服务
SQL Server 2008关系数据库引擎的新增功能
浅析SQL 2008的Change Data Capture功能
在IIS中为SQL Server 2008配置报表服务
SQL Server 2008中报表服务详解

MSSQL 中的 SQLServer2005中的SQLCMD工具使用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 331 ::
收藏到网摘: n/a

本文概述SQL Server 2005中的SQLCMD工具使用方法过程等,并汇总变量列表。 1、你可以用SQLCMD执行交互式动作,如:
  C:sqlcmd>sqlcmd
  1> SELECT name from sys.databases
  2> GO
  你也可以试着键入如下命令,现实服务器列表
  1>:ServerList
  SERVERS:
  WUYZ
  1>如果想看其他命令的使用,可以键入:Help /?
  2、执行SQL脚本文件
  你可以在SQLCMD命令上加入参数I来执行SQL脚本文件,例如:
  C:sqlcmd>sqlcmd -i test.sql
  上面的I选项允许你执行一个脚本文件,另外,你也可以指定O选项,把命令的输出导出到指定文件,当然,我们也可以在代码中指定输出结果,如下
  C:sqlcmd>sqlcmd
  1> :out output.txt
  2> :r test.sql
  3、在脚本中使用变量
  SQLCMD支持可以在脚本中接收用户传入的变量信息,如下面语句:
  SET NOCOUNT ON
  Select $(Cols) from $(tablename)
  GO
  上面语句请求2个参数,我们可以通过指定相应的参数信息传给脚本,如下:
  C:sqlcmd>sqlcmd -i test.sql -o Output.txt -v cols="name,object_id,create_date" tablename="sys.objects"
  上面语句的用途是:执行TEST.SQL脚本文件,并把输出的信息输出到OUTPUT.TXT文件中,并分别指定了COLS,TABLENAME的参数值
  4、在脚本中设置变量的值
  除了通过外部传入参数的值外,还可以在内部设置参数的值,如下面例子
  e:sqlcmdackuptemplate.sql
  use master
  backup database [$(db)] to disk='$(file)'
  e:sqlcmdackupsingle.sql
  :setvar db msdb
  :setvar file c:  empmsdb.bak
  :r e:sqlcmdackuptemplate.sql
  如果你想知道当然定义了哪些变量,可以使用:listvar命令来显示。主要命令汇总:
  :r filename
  :ServerList
  :List
  :Listvar
  :Error filename | STDOUT | STDERR
  :Out filename | STDOUT | STDERR
  :Perftrace filename | STDOUT | STDERR
  :Connect server[instance] [timeout] [user_name[password] ]
  :On Error [exit | ignore]
  :SetVar variable value
  :Help:XML ON | OFF
  主要环境变量汇总:
  -a SQLCMDPACKETSIZE
  -d SQLCMDDBNAME
  -H SQLCMDWORKSTATION
  -h SQLCMDHEADERS
  -l SQLCMDLOGINTIMEOUT
  -m SQLCMDERRORLEVEL
  -P SQLCMDPASSWORD
  -S SQLCMSSERVER
  -s SQLCMDCOLSEP
  -t SQLCMDSTATTIMEOUT
  -U SQLCMDUSER
  -w SQLCMDCOLWIDTH