我的产品的Sybase服务器将从版本12升级到15.
我正在寻找一个脚本,在升级之前和升级之后拍摄服务器的快照,目的是快速比较并确保所有表/索引/视图/存储过程/用户和权限都在那里。
我是开发人员(而不是DBA),我只有命令行访问生产服务器(这是一个Solaris框)。
感谢您的帮助。
答案 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
在升级之前和之后执行此操作并执行“差异”操作。文件之间。