数据库演化问题

更新:2007 年 11 月

如果更改已部署数据库的结构,则必须特别留意更改应与现有的数据和数据库结构兼容。当进行下列修改时,可能需要采取特殊步骤:

  • 添加约束   添加约束时,数据库可能已经包含不满足该约束的数据。当尝试保存新约束时,“保存后的通知”对话框将通知您数据库服务器无法创建该约束。若要强制数据库接受新约束,可以清除“创建中检查现有数据”复选框。有关更多信息,请参见如何:创建 CHECK 约束时检查现有数据

  • 添加关系   添加关系时,数据库可能已经包含外键表中的行,这些行在主键表中没有相对应的行。即现有数据可能不满足引用完整性。当尝试保存新关系时,“保存后的通知”对话框将通知您数据库服务器无法保存已修改的外键表。若要强制数据库接受修改,可以清除“创建中检查现有数据”复选框。有关详细信息,请参见如何:创建 CHECK 约束时检查现有数据

  • 修改分配给索引视图的表   如果修改分配给 Microsoft SQL Server 索引视图的表,该视图上的索引将丢失。请参见 SQL Server Books Online(《SQL Server 联机丛书》)以了解有关重新创建索引的信息。

  • 删除对象   当删除某个对象,如列、表或视图时,应首先确认数据库中没有其他对象引用该对象。

无论如何更改数据库设计,都应保留更改的历史记录。可以通过保留对成品数据库进行的所有修改的 SQL 脚本来保留所做更改。

请参见

概念

多用户环境

其他资源

使用约束

使用脚本