Sybase数据库备份报错

问题描述:

Can't open a connection to site 'SYB_BACKUP',see the errorlog file in the ASE directory。现在想备份数据库但是提示这个错误。

参考网络资料大概是由于 ASE 安装/服务初始化程序的 BUG 导致的。在创建服务时,ASE 会创建一个名为类似 XXXX_BS 的备份服务,同时会在 master.sysservers 中插入一条对应记录。以服务名 CUTEBEAR 为例。

比较interfaces 文件和 sysservers 中的记录:

1、interfaces 文件内容:
 CUTEBEAR_BS
 master tcp ether CUTEBEAR_LINUX 5001
 query tcp ether CUTEBEAR_LINUX 5001

 2、sysservers 的记录:

(select srvname, srvnetname from sysservers where srvname='SYB_BACKUP')
  srvname srvnetname   
  --------------------------------------------------------------  
  SYB_BACKUP CUTEBEAR_BS  通常默认的备份服务器就是 SYB_BACKUP 。在 load/dump 时,ASE 通过 sysservers 获取备份服务器对应 interfaces 的信息,然后在 interfaces 文件中搜索该服务的实际位置(IP和端口)。在此例中,ASE 通过 sysservers 得到 interfaces 中的服务名为 CUTEBEAR_BS,然后在interfaces 中获取该服务的物理信息。如果 ASE 无法通过 sysservers 中的 srvnetname 在 interfaces 中获取相关信息,则会报上面的错误。

 

解决方法:

 

方法一:修改 interfaces 文件,将服务名改为sysservers.srvnetname 对应的值;
方法二:修改 sysservers 中相应记录的 srvnetname 的值为 interfaces 文件中的服务名。   
这里我修改的是sysservers也就是系统表里面的的值:

1、在server config 中:获取本机sybase备份服务器名称:xaobai_BS

2、执行 “ sp_addserver SYB_BACKUP,null,xaobai_BS ”

         “go”

执行上面那句话就可以了,利用如下语句可查看修改结果:

1          use master

2     go

3     select * from sysservers

修改完成后重新启动sybase的服务。可以先手动备份试试看,然后再使用备份软件备份即可。



你可能感兴趣的:(DataBase-Sybase)