数据库演化问题

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

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

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

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

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

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

请参见

概念

多用户环境

其他资源

使用约束

使用脚本