比较两个Sybase数据库

时间:2015-04-18 12:33:41

标签: sybase

我的产品的Sybase服务器将从版本12升级到15.

我正在寻找一个脚本,在升级之前和升级之后拍摄服务器的快照,目的是快速比较并确保所有表/索引/视图/存储过程/用户和权限都在那里。

我是开发人员(而不是DBA),我只有命令行访问生产服务器(这是一个Solaris框)。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

一个非常低技术的答案,但这应该有效。从Sybase服务器获取以下信息并检查它们是否匹配。可以快速进行CSV比较吗?

-- Compare name of all tables, views and triggers. 
SELECT ob.name, ob.type FROM sysobjects ob WHERE ob.type in ('U', 'V', 'TR') ORDER BY ob.name

-- Compare name of stored procs
SELECT ob.name FROM sysobjects ob WHERE ob.type ="P" ORDER BY ob.name

-- Compare list of all columns of all table and views. 
select ob.name, c.name, c.type, c.length, c.prec, c.scale
from sysobjects ob, syscolumns c
where ob.type in ('U','V') and ob.id=c.id
order by ob.name

答案 1 :(得分:0)

在sysobjects上创建一个这样的视图:CREATE VIEW myview as SELECT name,user_name(uid)as objectowner,type from sysobjects order by 1,2,3 然后从视图中执行BCP输出:

bcp yourdb..myview out myfile.txt -Usa -Pyourpaswd -SYOURSERVER -c

在升级之前和之后执行此操作并执行“差异”操作。文件之间。