从添加开发数据库表列到生产数据库表(Add column from development data

2019-10-18 09:28发布

我有一个问题,当开发数据库的一些表有增加了更多的列,现在我应该在生产数据库中添加列。

我尝试在表树手动添加列,通过添加列,但是当我试图挽救,它给我一个warning

这里是完整的警告信息:

 Saving Definition Changes to tables with large amounts of data could take a considerable amount of time. While changes are being saved, table data will not be accessible. 

这是安全的吗? 或有另一种方法来做到这一点?

更新:我试着点击Yes但几分钟后,再给我一次警告说Time Out ,过程取消,是在生产表中的数据完全是巨大的

Answer 1:

基本上,这意味着,在SQL服务器将遍历所有的表中的记录(上盘),并改变它们。 这是一个会占用大量的IO,将你的表锁在读/写操作。

别的东西要考虑的是你的数据库超时在提到http://social.msdn.microsoft.com/Forums/sqlserver/en-US/7d46b158-a089-48c9-8153-53c5ed116d37/sql-2005-updating-table-definition -with-大量-的数据超时

这是比较安全的(除了锁定问题),并会在你将使用(也许没有很好的用户界面警告)的任何方法的情况。



Answer 2:

为了解决这个问题,转到工具菜单 ,选择选项 ,然后根据设计选择表和数据库设计的第一个选项可以让你禁用超时,或使其比默认为30秒的值。

参考: http://surf11.com/entry/197/saving-table-times-out-in-sql-server-200



Answer 3:

这里是集超时执行时间的两种选择

1.工具>选项>设计师>交易超时后

超过30秒设定更大的值。 (最大值65536)这将解决这个问题

但还有一个选项

2.工具>选项>查询执行>执行超时

Generaly因为默认值为0(无限制)这不是职高问题,但已经检查并修复它为0,如果你看到不同的价值存在。

它是完全安全的,没有possibilty腐败的数据。



文章来源: Add column from development database table to production database table