存档

文章标签 ‘isql’,文章数:5

遇到两例isql登录ASE报Client password encryption fails.的错误,先总结一下。

主要原因可能有:

1、操作系统不被支持;

2、sybase环境变量不正确;

case 1:

在SUSE 10 x64 上安装了ASE 15.7 ESD#7的32位的客户端,使用isql连接的时候,报: Client password encryption fails(客户端密码加密失败)

通过查询sybase官方的版本与平台支持信息

ID Product Prod
Version
Prod
Word Size
OS Version Status
1436 Adaptive Server Enterprise 15.0 64-bit SuSE SLES 10 (AMD64/EM64T) Certified
     
General Notes:    ASE15.7 release does NOT support SLES10. Due to recent changes in glibc, the environment variable LD_POINTER_GUARD should be set to 1 for ASE to function properly. This variable should be set before starting any ASE binary. Note that there is known bug with the configuration step of the ASE installer. Please use "srvbuild" or "srvbuildres" to configure devices. This bug will be fixed in a future release of ASE. ASE15.5 ESD5.2 can't install on SUSE10SP2 Work-round: Replace sylapi with 32bit and change to 32bit JRE. ASE 15.5 support SUSE10: kernel-smp-2.6.16.21-0.8 glibc-2.4-31.2 ASE CE 15.5 support SUSE10.1: kernel-smp-2.6.16.46-0.12 glibc-2.4-31.30 e2fsprogs-1.38-25.21 libaio-0.3.104-14.2 libgcc-3.3.3-43.41 libstdc++-3.3.3-44.41 compat-libstdc++-5.0.7-22.2
Minimum Product Level :    ASE 15.0.2 ESD#1
ASE15.5 GA to ASE15.5 ESD5.1
ASE15.7 release does NOT support SLES10.
Minimum Required OS Level :    ASE15.7 release does NOT support SLES10. ASE15.7 requires SLES 11.0 as minOS.

For ASE15.0.2 and higher to ASE15.5 ESD5.1:
SuSE 10

kernel-smp-2.6.16.21-0.8
glibc-2.4-31.2
glibc-devel-2.4-31.2

再查看ASE 15.7的最低支持平台,看到:

本博客中关于isql和bcp这2个工具的文章有:

ISQL:

  1. Sybase ASE中用isql连接数据库失败时的错误信息所反馈的信息
  2. ASE中的命令行实用工具isql的几个参数的使用方法

BCP:

  1. 关于BCP工具的使用,介绍三个方面的东西
  2. 关于Sybase中的快bcp
  3. ASE15.x的bcp能够实现按照条件导出表内数据
  4. bcp导出数据时禁止字符集转化
  5. 快速生成bcp in导表命令行的方法

本文介绍Sybase ASE V15.x版本中isql和bcp这两个工具的新特性。在前面的博文:ASE中的命令行实用工具isql的几个参数的使用方法 中介绍了isql的几个新特性。

1 BCP

1.1 Skip number of rows: --skiprows (SDK 12.5.1 ESD #19)

1.2 Partition support for multiple-partition, multiple-file operations (ASE 15.0)

1.3 Computed columns: --hide-vcc / --show-fi (ASE 15.0)

1.4 Encrypted columns: -C (ASE 15.0 ESD #1 / SDK 12.5.1 ESD #5)

1.5 Initialization strings: --initstring (ASE 15.0 ESD #5)

1.6 Discard file support for rejected rows: -d (ASE 15.0 ESD #8)

1.7 Alternate Sybase home: -y (New Features in 15.0.2 ESD#5 / SDK 15.0 ESD#2)

1.8 bcp64 for 64-bit products on UNIX platforms (New Features in 15.5 ESD #9)

1.9 Usage

2 ISQL

2.1 isql external error status return: --retserverror (ASE 15.0.2 ESD#4 / SDK 15.0 ESD#10)

2.2 Alternate Sybase home: -y (ASE 15.0.2 ESD#5 / SDK 15.0 ESD#2)

2.3 Redirects/Append the output of the T-SQL command to file_name (ASE 15.0.2 ESD#5 / SDK 15.0 ESD#12)

2.4 Pipes the output of the T-SQL command to an external command (ASE 15.0.2 ESD#5 / SDK 15.0 ESD#12)

2.5 Obfuscated input: --conceal (ASE 15.0 ESD #13)

2.6 Verbose usage: --help (ASE 15.0 ESD #14)

2.7 Application name: --appname (ASE 15.0.3 ESD#4 / OCS 15.0 ESD#17 / OCS 15.5)

2.8 Command history: --history (ASE 15.0.3 ESD#4 / OCS 15.0 ESD#18 / OCS 15.5)

2.8.1 Command history

2.8.2 Listing command history

2.8.3 Recalling and reissuing commands

2.9 isql64 for 64-bit products on UNIX platforms (New Features 15.5 ESD #9)

2.10 Usage

3 Sources

3.1 New Features Open Server™ 15.5 and SDK 15.5 for Windows, Linux, UNIX, and Mac OS X

3.2 New Features Open Server™ 15.0 and SDK 15.0 for Microsoft Windows, Linux, UNIX, and Mac OS X

在用isql连接数据 库的时候,比较常见的错误有:服务 没启动报错,报密码错误,报服务名不存在。
分别为:

1.服务名不存在:

CT-LIBRARY error:
        ct_connect(): directory service layer: internal directory control layer error: Req
uested server name not found.


2.服务没有启动:

CT-LIBRARY error:
        ct_connect(): network packet layer: internal net library error: Net-Lib protocol d
river call to connect two endpoints failed


3.密码错误:

Msg 4002, Level 14, State 1:
Server 'TEST':
Login failed.
CT-LIBRARY error:
        ct_connect(): protocol specific layer: external error: The attempt to connect to t
he server failed.

在执行isql命令连接数据库 的时候,报密码错误和服务名称不存在这两个错误的情况下,反映很快。也就是说:在isql命令行后敲入回车后很快就给你提示服务名不存在或密码错误。
但是在报因服务没有启动导致的错误时,要等一段时间才有结果。因为 isql 需要等待 ASE 服务器的响应。

连接sybase数据库的时候将依次尝试sql.ini文件 中相应服务名下面的所有监听信息。如果所有的监听信息都连接失败后,才给出无法连接的提示信息。

sybase尝试连接一个监听地址端口需要花费多长时间?失败后将继续尝试几次? 以后再总结。

————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字: ASE isql login two endpoints failed 连接失败情况
————————————————————————————————-

在Sybase ASE中isql是个小巧而灵活的命令行实用工具。本人非常喜欢用这个工具,无论备份恢复、创建大到数据库小到表索引、配置参数、查看数据库的监控信息、 分析dbcc的命令结果等等我都喜欢用isql来实现。有些用图形界面工具能够实现的功能,我都揣摩如何用命令来实现的,因为在ASE中所有用图形界面能 够实现的功能操作都是可以用命令来完成的(当然图形工具还不能实现的地方太多)。我几乎不用sybase central,感觉这个工具既难用还低级简单。

下面介绍isql工具的使用方法。

呵呵,一些简单的命令参数我就不在这赘述了。我想每个sybase DBA对isql应该再熟悉不过了。今天我仅仅介绍几个本人自认为不太常用但是又比较实用的命令参数。

首先,查看一下isql这个工具都有哪些参数。

可能大家都知道在windows下用程序文件名称后面加空格再加上/? 来查看命令帮助。但是,对isql不能这么用。需要输入isql --help,如下图显示结果(有省略)

C:\Documents and Settings\Administrator>isql --help
usage: isql [option1] [option2] ... where [options] are ...
  -b                   Disables the display of the table headers output.
  -e                   Echoes input.
  -F                   Enables the FIPS flagger.
  -p                   Prints performance statistics.
  -n                   Removes numbering and the prompt symbol when used with -e.
  -v                   Prints the version number and copyright message.
  -W                   Turn off extended password encryption on connection retries.
  -X                   Initiates the login connection to the server with client-side
                       password encryption.
  -Y                   Tells the Adaptive Server to use chained transactions.
  -Q                   Enables the HAFAILOVER property.

 

如果输入 isql --h ,则返回简化版的命令参数。

C:\Documents and Settings\Administrator>isql --h
Syntax Error in '--h'.
usage: isql [-b] [-e] [-F] [-p] [-n] [-v] [-W] [-X] [-Y] [-Q]
        [-a display_charset] [-A packet_size] [-c cmdend] [-D database]
        [-E editor] [-h header] [-H hostname] [-i inputfile]
        [-I interfaces_file] [-J client_charset] [-K keytab_file]
        [-l login_timeout] [-m errorlevel] [-M labelname labelvalue]
        [-o outputfile] [-P password] [-R remote_server_principal]
        [-s col_separator] [-S server_name] [-t timeout] [-U username]
        [-V [security_options]] [-w column_width] [-y sybase directory]
        [-z localename] [-Z security_mechanism] [-x trusted.txt_file]
        [--retserverror] [--conceal [wildcard]] [--help]

 

今天仅介绍 -b, -e, -n,-E,-s,-w这六个参数的使用情况。

(1) 对于-b,命令参数的解释为:Disables the display of the table headers output。也就是不显示表的标题行。

如下面代码所示:

C:\Documents and Settings\Administrator>isql -Usa -Stest -b -Dandkylee
Password:
1> select * from testa
2> go
           1 aaaaaa
           2 bbbbbb
           3 ccccccc
(3 rows affected)

(2)  对于参数-e 和 -n ,-n要依附于-e来使用。

-e 表示Echoes input,也就是回显sql语句。

-n 表示Removes numbering and the prompt symbol when used with -e,也就是不显示sql语句前面的行号。

-e的用法如下:

C:\Documents and Settings\Administrator>isql -Usa -Stest -e -Dandkylee
Password:
1> select db_name()
2> go
1> select db_name()
 ------------------------------
 andkylee
(1 row affected)
1> select * from testa
2> go
1> select * from testa
 id          name
 ----------- ------------------------------
           1 aaaaaa
           2 bbbbbb
           3 ccccccc
(3 rows affected)

-e 和 -n 的联合用法如下:

C:\Documents and Settings\Administrator>isql -Usa -Stest -e  -n -Dandkylee
Password:
select db_name()
go
select db_name()
 ------------------------------
 andkylee
(1 row affected)
select * from testa
go
select * from testa
 id          name
 ----------- ------------------------------
           1 aaaaaa
           2 bbbbbb
           3 ccccccc
(3 rows affected)

这时候你可能在怀疑了,上面我都输入了sql语句,我还要在返回结果中回显刚才输入的sql语句干什么?

的确,这个地方不是-e的应用场景。如果你用isql执行一个sql文件,并想把返回的结果保存到一个文件中,那么这个时候-e就有用处了。isql会在每个sql语句的执行结果前面加上相应的sql语句,这样看起来就很方便了。

简单举个例子:

假设有d:\test_isql.txt,里面的内容为:

select db_name()
go
select * from testa
go

我执行如下的命令参数:isql -Usa  -P -Stest -Dandkylee -e   -id:\test_isql.txt -od:\test_isql_result.txt

查看d:\test_isql_result.txt的文件内容为:

1> select db_name()
                               
 ------------------------------
 andkylee                      
(1 row affected)
1> select * from testa
 id          name                          
 ----------- ------------------------------
           1 aaaaaa                        
           2 bbbbbb                        
           3 ccccccc                       
(3 rows affected)
 

对每个语句的执行结果一目了然,非常直观。

(3) -E 参数的使用

-E editor的意思是:Specifies an editor other than the default editor vi,也就是你可以指定一个文本编辑器用来在isql会话过程中编辑sql语句。这一点和sqlplusw中的ed命令是一模一样的。

多说一点,通过other than the default editor vi字面意思就可以看出,windows下的isql和unix下的isql有点不同。unix的isql下默认就可以使用vi进行编辑sql语句,但是 windows上的isql必须手动指定文本编辑器才能够使用这个功能。

C:\Documents and Settings\Administrator>isql -Usa -Stest -Enotepad -Dandkylee
Password:
1> notepad
[sh:notepad D:\PROGRA~1\ADMINI~1\LOCALS~1\Temp\cti9CE.tmp]
1> select db_name()
2> go
3> reset
1> notepad
[sh:notepad D:\PROGRA~1\ADMINI~1\LOCALS~1\Temp\cti9CE.tmp]
1> select db_name()
2> go
 ------------------------------
 andkylee
(1 row affected)

使用方法是在isql的连接参数中加上-Enotepad(或者其它的文本编辑器,如notepad2,editlus都行,只要在win+R中能够成功执行的都可以!)

然后在提示符下输入notepad加上回车,就会弹出一个记事本让你进行编辑sql语句。这样是不是很方便,尤其在执行很长的sql语句的时候。哪 怕输错一点点都要reset再重新输入一遍。 这样就可以在文本编辑器中编辑好了再去执行了。(呵呵,可能你会说? 不能在记事本中编辑好了直接复制粘贴到isql下执行吗?当然可以! )

另外需着重注意一点,在文本编辑器中编辑的sql语句不能带有go,大家可以在我上面的演示代码中看出这一点。这个苛刻的要求就限制了我们不能在文本编辑器中输入多个sql语句命令。只能一个一个得来。


(4)  再来介绍今天的最后两个参数 -s -w, 我也是最近才开始使用这个参数-s的。感觉挺好。

-s col_separator的意思是:Resets the column separator character, which is blank by default,也就是说,你可以重新指定新的列分割符来替代默认的空格分隔符。

-w column_width 的意思是:Sets the screen width for output,也就是说,你可以指定屏幕的显示宽度(是像素还是字节,我没搞清楚)。

我把这两个参数放在一起使用,感觉效果很不错。请看下面的显示结果:

C:\Documents and Settings\Administrator>isql -Usa -Stest -Enotepad -s"|" -w5000
Password:
1> use andkylee
2> go
1> select *  from test
2> go
|id         |name                          |net_type|colc      |COLD|COLE|
|-----------|------------------------------|--------|----------|----|----|
|          1|liu                           |NULL    |1         |NULL|NULL|
|          1|liu                           |NULL    |1         |NULL|NULL|
|          2|zhang                         |NULL    |1         |NULL|NULL|
|          3|邓啟中                        |1       |1         |NULL|0   |
(4 rows affected)
1>

 

在这里我把列分割符替换成了|,显示出来的效果如上。 是不是有点类似mysql的显示效果?我把屏幕的宽度设置成了-w5000。同时需要注意的是:你也需要把cmd的屏幕宽度设置大些。在命令提示符cmd 的属性里选择布局,调整屏幕缓冲区里面的宽度。这样就会显示类似上面的效果了。

执行一个字段多点的表,看看效果吧!

1> select  * from sysobjects
2> where id< 20
3> go
|name                                                                                                                                                                                                                                                           |id         |uid        |type|userstat|sysstat|indexdel|schemacnt|sysstat2   |crdate                    |expdate                   |deltrig    |instrig    |updtrig    |seltrig    |ckfirst    |cache |audflags   |objspare   |versionts                 |loginame                      |identburnmax                             |spacestate|erlchgts          |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|-----------|----|--------|-------|--------|---------|-----------|--------------------------|--------------------------|-----------|-----------|-----------|-----------|-----------|------|-----------|-----------|--------------------------|------------------------------|-----------------------------------------|----------|------------------|
|sysobjects                                                                                                                                                                                                                                                     |          1|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysindexes                                                                                                                                                                                                                                                     |          2|          1|S   |       0|     97|       0|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|syscolumns                                                                                                                                                                                                                                                     |          3|          1|S   |       0|     97|       0|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|systypes                                                                                                                                                                                                                                                       |          4|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysprocedures                                                                                                                                                                                                                                                  |          5|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|syscomments                                                                                                                                                                                                                                                    |          6|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|syssegments                                                                                                                                                                                                                                                    |          7|          1|S   |       0|     65|       0|        0|      98304|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|syslogs                                                                                                                                                                                                                                                        |          8|          1|S   |       0|      1|       0|        0|      73728|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|      NULL|NULL              |
|sysprotects                                                                                                                                                                                                                                                    |          9|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysusers                                                                                                                                                                                                                                                       |         10|          1|S   |       0|     97|       3|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysalternates                                                                                                                                                                                                                                                  |         11|          1|S   |       0|     97|       1|        0|     229888|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysdepends                                                                                                                                                                                                                                                     |         12|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|syskeys                                                                                                                                                                                                                                                        |         13|          1|S   |       0|     97|       1|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysgams                                                                                                                                                                                                                                                        |         14|          1|S   |       0|      1|       0|        0|      73728|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|      NULL|NULL              |
|sysusermessages                                                                                                                                                                                                                                                |         15|          1|S   |       0|    113|       2|        0|      73728|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|      NULL|NULL              |
|sysreferences                                                                                                                                                                                                                                                  |         16|          1|S   |       0|     97|       3|        0|     229376|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysconstraints                                                                                                                                                                                                                                                 |         17|          1|S   |       0|     97|       2|        0|     229888|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|systhresholds                                                                                                                                                                                                                                                  |         18|          1|S   |       0|     65|       0|        0|      98304|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
|sysroles                                                                                                                                                                                                                                                       |         19|          1|S   |       0|     97|       1|        0|     229888|       Dec  2 2009  6:58PM|       Dec  2 2009  6:58PM|          0|          0|          0|          0|          0|     0|          0|          0|NULL                      |NULL                          |                                     NULL|         1|0x0000000000000000|
(19 rows affected)
1>
 

(你要是发现比|还好的列分割符号,麻烦告诉我一下。谢谢!)

(5) 最后,介绍一个对于显示结果非常实用的存储过程sp_autoformat.

我也是在浏览一些系统存错过程源代码的时候发现的这个过程。这个是sybase 未公开的系统过程,用来格式化输出结果。如果想看这个过程的语法,请到sybsystemprocs里面查找。

看个效果吧!

1> sp_autoformat sysobjects,@whereclause="where id < 20"
2> go
|name           |id|uid|type|userstat|sysstat|indexdel|schemacnt|sysstat2|crdate             |expdate            |deltrig|instrig|updtrig|seltrig|ckfirst|cache|audflags|objspare|versionts                 |loginame|identburnmax|spacestate|erlchgts          |
|---------------|--|---|----|--------|-------|--------|---------|--------|-------------------|-------------------|-------|-------|-------|-------|-------|-----|--------|--------|--------------------------|--------|------------|----------|------------------|
|sysobjects     | 1|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysindexes     | 2|  1|S   |       0|     97|       0|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|syscolumns     | 3|  1|S   |       0|     97|       0|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|systypes       | 4|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysprocedures  | 5|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|syscomments    | 6|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|syssegments    | 7|  1|S   |       0|     65|       0|        0|   98304|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|syslogs        | 8|  1|S   |       0|      1|       0|        0|   73728|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|      NULL|NULL              |
|sysprotects    | 9|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysusers       |10|  1|S   |       0|     97|       3|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysalternates  |11|  1|S   |       0|     97|       1|        0|  229888|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysdepends     |12|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|syskeys        |13|  1|S   |       0|     97|       1|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysgams        |14|  1|S   |       0|      1|       0|        0|   73728|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|      NULL|NULL              |
|sysusermessages|15|  1|S   |       0|    113|       2|        0|   73728|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|      NULL|NULL              |
|sysreferences  |16|  1|S   |       0|     97|       3|        0|  229376|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysconstraints |17|  1|S   |       0|     97|       2|        0|  229888|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|systhresholds  |18|  1|S   |       0|     65|       0|        0|   98304|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
|sysroles       |19|  1|S   |       0|     97|       1|        0|  229888|Dec  2 2009  6:58PM|Dec  2 2009  6:58PM|      0|      0|      0|      0|      0|    0|       0|       0|NULL                      |NULL    |        NULL|         1|0x0000000000000000|
(19 rows affected)
(return status = 0)

 

(6) 补充,参数-p,显示性能统计信息.

参数-p:Prints performance statistics,与之对应的是会话级别的set statistics time on 。这两个方法都能够显示出 统计信息,但是,会话级别的set statistics time on比参数-p的显示结果更详细些。

示例如下:

利用参数-p来显示简要统计信息:

C:\Documents and Settings\Administrator>isql -Usa -P -p
1> select count(*) from sysobjects
2> go
 -----------
         160
(1 row affected)
Execution Time (ms.):      0            Clock Time (ms.):      0

在每个SQL语句的最后显示执行时间和耗用时间。

会话级别的选项set statistics time on 显示比较详细的统计时间:

C:\Documents and Settings\Administrator>isql -Usa -P
1>
2> set statistics time on
3> go
Execution Time 0.
Adaptive Server cpu time: 0 ms.  Adaptive Server elapsed time: 0 ms.
1> select count(*) from sysobjects
2> go
Parse and Compile Time 0.
Adaptive Server cpu time: 0 ms.
 -----------
         160
Execution Time 0.
Adaptive Server cpu time: 0 ms.  Adaptive Server elapsed time: 0 ms.
(1 row affected)
1>

由上可以看出,会话级别选项set statistics time on会显示解析和编译时间、SQL执行时间、以及总计的执行时间、耗用时间。

啰啰嗦嗦就介绍这么多吧!

————————————————————————————————-
—- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
—- 转载务必注明原始出处 : http://www.dbainfo.net
—- 关键字:isql -b -e -E -n -s -w 命令实用工具 sp_autoformat
————————————————————————————————-

sybase在自动管理方面真的很弱很弱,不管windows还是unix平台上都是一样的不好用。不过,我现在都已经习惯了sybase的不好用。

很早以前自己也想到了如何在sybase ase内部来实现自动启动ase服务器。今天看到echoaix写的这篇文档,和我的思路差不多。自己正好也懒得写了。

通过ASE本身重新启动ASE

ase本身没有重启命令,如何让ASE自己重启是一个问题,记得当时负责将近100个ase server,分布在全国各地,服务器还大多是PC server,windows环境,管理员口令经常不知道,远程登陆也很慢,可是当时ase版本较低,改个参数有的就要重启
要ase重启并不困难,还是要调用系统的东西,说白了使用的工具就是ase的扩展存储过程的xp_cmdshell,熟悉mssql server的人都知道xp_cmdshell,其实mssql server最早就是sybase买给微软的源码,不多说,看看如何实现吧。

前提:
1 XP server,一般windows上的ase创建都会带着。
2 XP server的条号(interfaces和sql.ini)
3 XP server在sysservers中的记录
select upper(@@servername)+'_XP',假定结果为TEST_XP,即为需要添加的XP sever信息 注意一定要全部大写,要不到时候回报”XP Server must be up for ESP to execute“ .
sp_addserver TEST_XP,NULL  添加XP server
4 "xp_cmdshell context"配置参数的设置,此参数为使用 xp_cmdshell 系统 ESP 执行的操作系统命令设置安全性环境,缺省值为1。如果 xp_cmdshell context 设置为 1,在Windows NT下,那么只有当 Adaptive Server 的登录用户的用户名是有效的 Windows NT 用户名(在运行 Adaptive Server 的系统上具有 Windows NT 系统管理权限)时,xp_cmdshell 才能成功。设置为0,sa就可执行。
sp_configure "xp_cmdshell context",0
5 调度服务运行 (不运行也没关系,用xp_cmdshell启动)

思路:
ase在windows上大多都是以服务的形式存在,服务名固定为SYBSQL_@@servername(假定为SYBSQL_test),停止ase 可以用net shop SYBSQL_test,启动ase用net start SYBSQL_test,当然也可以在isql中shutdown停ase和直接执行ase启动bat文件来启动ase。xp_cmdshell可以用来执行系统命令,可以创建一个关闭和启动ase的bat文件,然后再用xp_cmdshell把这个bat写入调度任务中就可以完成ase重启。
declare @todo varchar(250)
select @todo = "echo net stop SYBSQL_" + @@servername + " > c:\restartase.bat" + "&" +  "echo net start SYBSQL_" + @@servername + " >> c:\restartase.bat"
exec xp_cmdshell @todo,no_output \\不要输出结果
go
这样在c:\生成一个restartase.bat文件,内容为net shop SYBSQL_test和net start SYBSQL_test。

declare @todo varchar(250)
select @todo = 'at ' + convert(char(5),dateadd(ss, 120, getdate()),8) + ' cmd /c "c:\restartase.bat"' \\在两分钟之后重启ase
exec xp_cmdshell @todo,no_output
go

总结:
原理很简单,最好在执行之前checkpoint,commit,总之还是shutdown然后登陆系统重启好。
UNIX上的应该差不多,用的较少,就先不写了。

可以转载 请注明作者 echoaix