服务器 频道

Enterprise SQL Server Manager

    【IT168 服务器学院】Enterprise SQL Server Manager除了提供一个图形用户界面(GUI)来管理服务器外,它还提供了一套丰富的命令,通过使用该套命令,可以在操作系统的命令行方式下或在脚本中操纵Enterprise SQL Server Manager的资源。在脚本中可以综合使用Enterprise SQL Server Manager命令和TivoliManagement Environment(TME)命令。实际上,在脚本中可以使用任何一种脚本语言的命令(比如Bourne shell,C shell,Korn shell,Perl等)。因此,当我们要批量处理一些重复性的工作或者是处理Enterprise SQL Server Manager的一些比较零碎的工作时,脚本是一种很有力的工具。另外,还可以将这些脚本定义成Tivoli Management Platform(TMP)任务库中供其它管理员使用的任务,而且还可以在TMP的调度表中将它们作为任务进行调度。

     Enterprise SQL Server Manager的命令行接口Enterprise SQL Server Manager的命令行接口(CLI)采用了一种一致性的并且具有逻辑联系的语法结构,这样既方便了记忆,又便于用户使用Enterprise SQLServer Manager的命令。这一节概述了所有Enterprise SQL Server Manager的命令所采用的共有的语法约定。如果你想了解本书所使用的符号约定,请参阅“符号约定”。
 命令名所有Enterprise SQL Server Manager的命令名都以前缀“s”开头,这是为了保证命令名的唯一性,同时也是为了标识它们是Sybase的命令。Enterprise SQLServer Manager的命令都是由一个动词紧跟在前缀“s”的后面来构成的,最常用的命令动词有以下这些:一个对象类型紧跟在一个命令动词之后表示那类对象的一种命令操作或命令访问。Enterprise SQL Server Manager中的对象类型包括login,server,db(表示“database”),dev(表示“device”)等等。

表1-1  命令动词
----------------
动词    操作
comp    比较
copy    复制
crt     创建
del     删除
get     取值
set     设置
-----------------
    当你知道了这种约定以后,就可以猜想出下面的命令:scrtlogin是要创建一个SQL Server的注册过程。

    命令选项命令选项用来改变一个命令的行为,通过命令选项可以为执行该命令提供你想要的值。l 所有的命令选项都以一个短划线(-)开头。l CLI使用多字符的选项名(而不像UNIX中表示“switches”的助记符那样只使用单个字符),这样就使得命令的语法更清楚,也更直观。比如:-name,-server,和-database。l 在命令行中选项的排列顺序可以任意改变。l 在输入选项名时,只要不引起歧义,可以键入该选项名的任意一个子串来代表该选项。比如,如果在一个命令中没有其它以字母“na”或“n”开头的选项时,可以将选项名-name截短为-na或-n。l 命令的选项名是大小写无关的(-name,朜ame和-NAME表示的是同一个选项)。
   
    选项值
 
    许多命令选项也需要相应的值,这些值可以是那些预先定义的关键字,比如TRUE或ENABLE,可以是数字,可以是标识服务器、数据库、服务器注册以及其它对象的名字。同时,有的命令选项还需要接收一个值的列表。下面的章节描述了CLI可以接受的几种不同的选项值以及使用它们所必须遵循的一些规则。

表1-2  布尔关键字
------------------
1      0
------------------
true   false
yes    no
on     off
enable disable
1      0
-----------------

    关键字

    和命令选项一样,大多数的关键字值(比如primary,secondary,true和disable)都是大小写无关的,并且也可以使用能够唯一表示该关键字的子串来代表相应的关键字(比如用tr表示true)。SQL Server的关键字和对象名SQL Server的关键字(比如sa_role,statistics io等)是大小写敏感的,当输入它们时,必须完全按照SQL Server规定的方式输入。并且,当输入SQL Server的关键字时,大多数的关键字都需要输入完整的字符串——只输入子串是非法的。SQL Server的对象名,比如用户注册名和服务器名,也是大小写敏感的。同样,当你在输入这些对象名时,也必须输入代表该对象的完整的字符串,只输入子串是非法的。同时,SQL Server的对象名还必须遵守SQL Server标识符的命名规则(请参阅《SQL Server参考手册》)。大多数的命令都是通过使用-name和-names选项来指定对象名的。

    布尔(Boolean)关键字布尔选项值代表0或1之中的一个值。在大多数的命令选项中,当它们需要一个布尔值时,你都可以使用表1-2中所列的任何一个布尔关键字来表示布尔值:
     唯一的例外是,当一个布尔选项值充当的是SQL Server的关键字时(比如,通过布尔值来使SQL Server数据库选项有效或无效时),就不能使用上面的方式来表示布尔值。在这种情况下,你必须完全按照Enterprise SQL Server Manager命令的语法来提供布尔关键字。
 
    数字数字值可以包含数字0到9之间的值,因此,数值型选项的值只能是正的整数。选项列表有些命令选项只接收一个值;而有的却可以接收多个值。举例来说,大多数的sget,scopy和scomp命令都有一个-names的选项,该选项可以接收一个对象名的列表,而该列表中可以包含一个或多个对象的名字。当一个命令选项接收的是一个多个对象的列表时,必须遵守以下规则:l 在列表中必须用逗号,或者用一个或多个空格,或者是同时使用这两者来将各个对象分割开。比如:-roles sa_role,oper_role在上面的例子中指定了一个包含两个对象:sa_role和oper_role的选项列表。l 如果在一个选项列表中包含了一个或多个空格,必须将该选项列表用双引号括起来。比如:-roles ″sa_role oper_role″在上面的例子中,指定了一个包含两个对象:sa_role和oper_role的选项

    列表,其中的两个对象通过一个空格分割开。由于在该选项列表中包含了一个空格,因此必须用双引号将该列表括起来。l 当一个选项列表中的一个对象又包含多个子对象时(比如,该对象是一个包含设备名及其相应大小的列表时),必须用逗号将每个包含子对象的对象分割开,同时,还必须用空格将每个对象中的各个子对象分割开。比如:-devices″default 4,db_dev 2″在上面的例子中指定了一个包含两个对象的选项列表(default 4和db_dev2),而这两个对象又都包含了两个子对象(一个设备名和一个设备大小)。l 当选项列表中的一个对象所包含的子对象中含有一个空格时,该对象必须用一个单引号括起来。比如:-config″′recovery interval′3″在上面的例子中,选项列表包含了一个对象,而该对象包含了两个元素:配置变量recovery interval及其值3。由于recovery interval是一个包含空格的子对象列表,因此用单引号将它括起来。

0
相关文章