【问题标题】:Error while Updating .mdf database更新 .mdf 数据库时出错
【发布时间】:2015-01-18 11:54:09
【问题描述】:

更新 .mdf 数据库时发生以下错误,它工作正常,但在编辑几个表的列名之前。 (我正在使用 Visual Studio 2013Server Explorer。)

由于验证错误,更新无法继续。
请更正以下错误,然后重试。

SQL72015 :: 表 [dbo].[Customer] 正在被删除并重新创建,因为表中的所有非计算列都已重新定义。

SQL72031 :: 此部署在执行过程中可能会遇到错误,因为对 [dbo].[Product].[ProductID] 的更改被 [dbo].[Product] 在目标数据库中的依赖项阻止。

SQL72031 :: 此部署在执行期间可能会遇到错误,因为对 [dbo].[Transaction].[TransactionID] 的更改被 [dbo].[Transaction] 在目标数据库中的依赖项阻止。

SQL72031 :: 此部署在执行期间可能会遇到错误,因为对 [dbo].[Purchase].[TransactionID] 的更改被 [dbo].[Purchase] 在目标数据库中的依赖项阻止。

SQL72031 :: 此部署在执行期间可能会遇到错误,因为对 [dbo].[Sales].[TransactionID] 的更改被 [dbo].[Sales] 在目标数据库中的依赖项阻止。

【问题讨论】:

    标签: sql sql-server mdf server-explorer


    【解决方案1】:

    1. 要进行这些更改,请使用 SQL Server Management Studio 手动执行更改,或使用 Visual Studio Professional(或更高版本)执行架构比较并选择忽略数据丢失可能性的选项。

    2. TSD01234 错误也是由于在项目的 .sqlDeployment 文件中检查了“验证部署”设置(它是“高级选项”下的最后一个)。

    3. 显式命名视图中的列。部署不喜欢通配符。

    【讨论】:

    • 关闭“验证部署”有什么危险?会导致数据丢失吗?
    【解决方案2】:

    试试这个:

    转到Tools菜单->Options->Database Tools->Table and Database Designers(->表格和图表选项)->取消勾选/取消选择Prevent saving changes that require table re-creation

    这是从 VS2010 开始的,但在 VS2013 中应该不会有太大的不同。

    【讨论】:

    • 对表进行更改会删除该表,然后重新创建它。因此,您必须先删除依赖项,然后再对 db.xml 进行更改。您可以通过删除与您正在修改的表相关的各种约束、外键、关系来做到这一点。
    • 您是否尝试过在 SQL Server Management Studio 中修改 db?
    猜你喜欢
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 2020-09-22
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多