老尸 发表于 2015-1-16 22:17:12

MSSQL编程:SQL Server 2005中的SQLCMD工具利用

这能找出所有错误的99.99%。它不能找出的是仅仅涉及数据文件的损坏(这很不常见)。如果你想要检查一张表,你通常应该没有选项地运行myisamchk或用-s或--silent选项的任何一个。  本文概述SQLServer2005中的SQLCMD工具利用办法历程等,并汇总变量列表。
  1、你能够用SQLCMD实行交互式举措,如:
  C:sqlcmd>sqlcmd
  1>SELECTnamefromsys.databases
  2>GO
  你也能够试着键进以下命令,实际服务器列表
  1>:ServerList
  SERVERS:
  WUYZ
  1>假如想看其他命令的利用,能够键进:Help/?
  2、实行SQL剧本文件
  你能够在SQLCMD命令上到场参数I来实行SQL剧本文件,比方:
  C:sqlcmd>sqlcmd-itest.sql
  下面的I选项同意你实行一个剧本文件,别的,你也能够指定O选项,把命令的输入导出到指定文件,固然,我们也能够在代码中指定输入了局,以下
  C:sqlcmd>sqlcmd
  1>:outoutput.txt
  2>:rtest.sql
  3、在剧本中利用变量
  SQLCMD撑持能够在剧本中吸收用户传进的变量信息,以下面语句:
  SETNOCOUNTON
  Select$(Cols)from$(tablename)
  GO
  下面语句哀求2个参数,我们能够经由过程指定响应的参数信息传给剧本,以下:
  C:sqlcmd>sqlcmd-itest.sql-oOutput.txt-vcols="name,object_id,create_date"tablename="sys.objects"
  下面语句的用处是:实行TEST.SQL剧本文件,并把输入的信息输入到OUTPUT.TXT文件中,并分离指定了COLS,TABLENAME的参数值
  4、在剧本中设置变量的值
  除经由过程内部传进参数的值外,还能够在外部设置参数的值,以下面例子
  e:sqlcmdackuptemplate.sql
  usemaster
  backupdatabase[$(db)]todisk=$(file)
  e:sqlcmdackupsingle.sql
  :setvardbmsdb
  :setvarfilec:  empmsdb.bak
  :re:sqlcmdackuptemplate.sql
  假如你想晓得固然界说了哪些变量,可使用:listvar命令来显现。次要命令汇总:
  :rfilename
  :ServerList
  :List
  :Listvar
  :Errorfilename|STDOUT|STDERR
  :Outfilename|STDOUT|STDERR
  :Perftracefilename|STDOUT|STDERR
  :Connectserver]
  :OnError
  :SetVarvariablevalue
  :Help:XMLON|OFF
  次要情况变量汇总:
  -aSQLCMDPACKETSIZE
  -dSQLCMDDBNAME
  -HSQLCMDWORKSTATION
  -hSQLCMDHEADERS
  -lSQLCMDLOGINTIMEOUT
  -mSQLCMDERRORLEVEL
  -PSQLCMDPASSWORD
  -SSQLCMSSERVER
  -sSQLCMDCOLSEP
  -tSQLCMDSTATTIMEOUT
  -USQLCMDUSER
  -wSQLCMDCOLWIDTH
mysql的prepare其实是本地PHP客户端模拟的,并没有根据你mysql的设置做字符集的调整。应该交与mysqlserver端做prepare,同时得调用mysql_set_character_set去操作,server才会按照字符集去做转义。

兰色精灵 发表于 2015-1-19 06:44:29

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

第二个灵魂 发表于 2015-1-26 15:13:11

入门没那么困难,精通没那么容易

再见西城 发表于 2015-2-4 19:30:37

分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。

深爱那片海 发表于 2015-2-10 05:42:12

如果,某一版本可以提供强大的并发响应,但是没有Oracle的相应版本稳定,或者价格较贵,那么,它就是不适合的。

活着的死人 发表于 2015-2-28 22:22:42

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

海妖 发表于 2015-3-10 08:49:38

比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。

小妖女 发表于 2015-3-17 06:11:24

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。

蒙在股里 发表于 2015-3-23 23:32:09

入门没那么困难,精通没那么容易
页: [1]
查看完整版本: MSSQL编程:SQL Server 2005中的SQLCMD东西利用