存档

文章标签 ‘ASE’,文章数:63

以前写的windows平台上安装Sybase ASE15.0.3的文档,内容比较详细。与大家共享一下!

主要包括:

一、安装前的准备工作

二、安装Sybase程序

三、升级到 Sybase 15.0.3 ESD #3

四、安装Sybase数据库服务

五、安装后的配置工作

 

下面是第二章:安装Sybase ASE程序

 

二、安装Sybase ASE程序

1、安装过程介绍

2、获得Sybase15.0介质

3、进行安装Sybase15.0.3

 

二、安装Sybase ASE程序

1、安装过程介绍

(1)Sybase ASE的版本介绍

关于sybase ASE的安装过程,先来介绍一下sybase中发行版本的三个术语:

以前写的windows平台上安装Sybase ASE15.0.3的文档,内容比较详细。与大家共享一下!

主要包括:

一、安装前的准备工作

二、安装Sybase程序

三、升级到 Sybase 15.0.3 ESD #3

四、安装Sybase数据库服务

五、安装后的配置工作

 

下面是第一章:安装前的准备工作

 

一、    安装前的准备工作

1、系统要求

2 、添加sybase用户

3、 配置Windows系统的虚拟内存

ASE自12.5.1开始在内部处理中支持xml;自15.x版本xml功能得到进一步完善。

ASE15.x中使用xml不需要额外的license。

一、导出xml文档

在ASE的select语句中加入关键字for xml即可以xml格式显示结果集。

语法:

限制:

  • for xml select语句不能包括into_clause、compute_clause、read_only_clause、isolation_clause、browse_clause 或 plan_clause。
  • 不能在命令create view、declare cursor、subquery 或 execute command中指定 for xml select。
  • 不能在以下命令中使用for xml 子查询:for xml select、create view、declare cursor、select into;亦不能将其用作定量判定子查询,如 any/all、in/not in、exists/not exists。

下面举例导出xml格式的SQL查询结果集:

mark:

rand2()  ASE 15.0.2

newid()  ASE 12.5.1

rand()    Any Version

set rowcount N
select * from table order by rand(convert(int,row1)+datepart(ms,getdate()))
set rowcount 0

本博客已经有一篇关于的:Sybase ASE 统计当前执行的SQL语句的存储过程! 

现在提供另外一种方法:使用系统存储过程sp_monitor查看当前数据库连接中正在执行的SQL语句信息!

sp_monitor connection

在执行上面语句之前需要启用对connection的监控, 执行:sp_monitor enable,connection。可以在监控完成后关闭该选项。

设置参数:max SQL text monitored为2048,该参数为静态参数,需要重启ASE。

sp_monitor connection的结果默认按照连接占用的cpu时间和等待时间的总和进行逆序排序。

sp_monitor connection的第二个参数有:cpu , diskio , elapsed time 分别表示按照cpu时间、物理读取次数、cpu时间+等待时间 进行逆序排序。

在查看完正在执行的SQL语句内容后,关闭对connection的监控以减少对生产服务器的影响。

执行的语句如下:

sp_configure "max SQL text monitored",2048
go
--reboot ASE
--...
sp_monitor enable,connection
go
sp_monitor connection
go
-- some SQL statement
-- ...
sp_monitor disable,connection
go

以将dbo创建的所有表授予相应权限给普通用户userA为例。

将dbo拥有的表的相应权限(select/insert/update/delete)授予给普通用户userA,使用以下SQL生成授权语句:

select 'grant select  on ' + user_name(uid) + '.' + name + ' to userA'  from sysobjects where type='U' and uid=user_id('dbo')

union all

select 'grant insert on ' + user_name(uid) + '.' + name + ' to userA'  from sysobjects where type='U' and uid=user_id('dbo')

union all

select 'grant update on ' + user_name(uid) + '.' + name + ' to userA'  from sysobjects where type='U' and uid=user_id('dbo')

union all

select 'grant delete on ' + user_name(uid) + '.' + name + ' to userA'  from sysobjects where type='U' and uid=user_id('dbo')

查看某张表的上用户的权限情况:

sp_helprotect table_name

查看用户所拥有的对象权限情况:

sp_helprotect user_name

试用方法:

SQL ASE非常规恢复工具

SQL Anywhere非常规恢复工具:ReadASADB/p>

如果没有跳转,请直接访问该页面:Sybase ASE&ASA非常规恢复工具

ASE全局环境变量@@servername保存当前的服务器名称。

假如将ASE服务器名称从ase1503test修改成ase1503xen,

下面是修改ASE服务器名称的步骤:

1、在ASE服务器的interfaces文件中添加新服务器名称条目信息
vi $SYBASE/interfaces
添加:
ase1503xen
   master tcp ether XXXXX 75430
   query tcp ether XXXXX 75430
 
 
2、修改RUN_servername启动文件中的服务器名称
vi $SYBASE/ASE-15_0/install/RUN_ase1503test
将-sase1503test 改为 -sase1503xen
并将启动文件名称由RUN_ase1503test 修改为:RUN_ase1503xen
 
 
3、在ASE中添加新的服务器名称
用isql登录要修改的ASE服务器,执行:select @@servername查看当前的ASE服务器名称。
先删除旧服务器名称: sp_dropserver ase1503test
再添加新的服务器名称: sp_addserver ase1503xen,local,ase1503xen
这时,使用sp_helpserver查看到新服务器名称ase1503xen已经添加到ASE了。
但是全局环境变量@@servername仍为旧名称。
重启ASE服务器后,执行select @@servername发现名称已经改好了!