您可以使用 Sybase Central 比较两个数据库的模式。比较的输出为 SQL 语句形式,您可以在一个数据库上运行使其与另一个数据库一样。
前提条件
您必须同时具有两个数据库的 SELECT ANY TABLE 系统特权。
对于转换 [数据库 1] 的模式以使其与 [数据库 2] 的模式匹配而必须运行的各个 SQL 语句,您必须具有必要的特权。
生成的 SQL 脚本包含转换 [数据库 1] 的模式以匹配 [数据库 2] 的模式所需的语句。建议在运行脚本之前备份 [数据库 1],并确保数据库正在运行时数据库无其它连接。
上下文和注释
使用此功能无法在 [数据库 1] 上执行以下操作,因此这些操作未包含在比较期间生成的 SQL 语句列表中。需要这些操作中的一个时,会在所生成 SQL 语句列表的开头出现一个描述操作的通知。
变更 dbspace 的文件名
变更域
变更远程服务器的只读设置
变更表的 dbspace
变更全局临时表的 COMMIT 操作和/或 SHARE BY ALL 设置
变更某个表或全局临时表中列的顺序
变更发布的同步类型
比较数据库时,对象不是按照对象 ID 进行匹配,而是按照名称、名称和所有者,或者名称和所有者的组合进行匹配。任何具有 [数据库 1] 中名称并且未在 [数据库 2] 中出现的对象(包括重命名的表和列)都将丢弃并重新创建,这可能导致数据损失。
在 Sybase Central 中,使用 SQL Anywhere 16 插件连接到想要进行比较的两个数据库。
单击 [工具] » [SQL Anywhere 16] » [比较数据库]。
将出现 [比较数据库] 窗口。
确保在 [数据库 1] 字段中指定想要转换其模式的数据库,在 [数据库 2] 字段中指定其模式作为转换目标模式的数据库。
单击 [比较]。
[对象] 选项卡将显示数据库中对象的列表。[SQL Script] 选项卡显示生成的 SQL 语句。
在 [对象] 选项卡上单击某个项目,查看该对象 SQL 语句中的差异。红色背景指示仅存在于 [数据库 1] 中的对象的 SQL,绿色背景指示仅存在于 [数据库 2] 中的对象的 SQL,蓝色背景指示存在于两个数据库中的对象的 SQL。
单击 [SQL 脚本] 选项卡上的 [在 Interactive SQL 中打开],使用粘贴在 [SQL 语句] 窗格中的语句打开 Interactive SQL。您可以根据需要进一步编辑,并执行语句。执行 SQL 语句将使 [数据库 1] 与 [数据库 2] 一样。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |