Sql server 根据模式或脚本比较或检查数据库中的表和其他对象
我正在asp.net站点中执行一种自检安装页面,其中现有数据库需要根据最新架构进行更新。最好的方法是什么?以前,我们使用一个RedGate Wins软件来比较数据库,并生成一个更新脚本,以便在现有客户端数据库上执行。RedGate提供了一个API,因此它可以在没有GUI的情况下运行。但不确定这会如何影响许可 否则,一些想法:Sql server 根据模式或脚本比较或检查数据库中的表和其他对象,sql-server,database,tsql,database-schema,Sql Server,Database,Tsql,Database Schema,我正在asp.net站点中执行一种自检安装页面,其中现有数据库需要根据最新架构进行更新。最好的方法是什么?以前,我们使用一个RedGate Wins软件来比较数据库,并生成一个更新脚本,以便在现有客户端数据库上执行。RedGate提供了一个API,因此它可以在没有GUI的情况下运行。但不确定这会如何影响许可 否则,一些想法: 测试缺少的对象并创建 尽可能在代码上运行ALTERs 如果版本(在udf或表格中)较低,请运行脚本 如果您有一个脚本,它可以执行一个完整的事务升级,比如说redgate
- 测试缺少的对象并创建
- 尽可能在代码上运行ALTERs
- 如果版本(在udf或表格中)较低,请运行脚本
一点:进行DDL更改需要db_所有者或DDL_管理员权限:您的应用程序是否每天都使用这些权限运行?谢谢gbn。没有意识到红门有api。目前,不更新数据库对象是可以的,但要检查数据库是否仍然是最新的,否则我们将使用db owner帐户之一手动运行脚本。不清楚,但这是一个示例。有效地运行命令行比较