【问题标题】:Comparing or checking tables and other objects in a database against a schema or script根据模式或脚本比较或检查数据库中的表和其他对象
【发布时间】:2011-01-31 07:11:44
【问题描述】:

我正在 asp.net 站点中进行一种自我检查安装页面,其中现有数据库需要根据最新架构进行更新。最好的方法是什么?之前我们使用 RedGate Wins Software 来比较数据库并生成要在现有客户端数据库上执行的更新脚本。

【问题讨论】:

    标签: sql-server database tsql database-schema


    【解决方案1】:

    Red Gate 提供了一个 API,因此它可以在没有 GUI 的情况下运行。不过不确定这会如何影响许可。

    否则,一些想法:

    • 测试丢失的对象并创建
    • 尽可能在代码上运行 ALTER
    • 如果版本(在 udf 或表中)较低,则运行脚本

    如果你有一个生成完整事务升级的脚本,比如 Red Gate,你可以使用这个:你只需要一个测试来决定是否运行它。

    有一点:要进行 DDL 更改需要 db_owner 或 ddl_admin 权限:yoru 应用程序是否每天都使用这些权限运行?

    【讨论】:

    • 感谢 gbn。没有意识到红门有api。暂时不要更新数据库对象是可以的,但要检查数据库是否仍然是最新的,否则我们将使用 db-owner 帐户之一手动运行脚本。
    • 不清楚,但这是一个例子。有效地运行命令行比较 red-gate.com/supportcenter/…\help\8.50\sc_cl_integratingwithapplications.htm>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-08
    • 2023-03-25
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多