VS SchemaCompare:进行表更新
有谁知道Visual Studio中的SchemaCompare(当前使用2010)如何确定如何处理[SQL Server 2008R2]数据库表更新(列数据类型、可选性等)?
选项包括:
- 使用单独的 ALTER TABLE 语句
- 创建一个新表,将旧数据复制到新表中,在新表可以重命名为正确的名称之前重命名旧
表之所以询问,是因为我们遇到了涉及 TIMESTAMP 的情况列(用于乐观锁定)。如果 SchemaCompare 使用新的表方法,TIMESTAMP
列值将发生变化。会给任何使用旧 TIMESTAMP
值的人带来问题。
Does anyone know how the SchemaCompare in Visual Studio (using 2010 currently) determines how to handle [SQL Server 2008R2] database table updates (column data type, optionality, etc)?
The options are to:
- Use separate
ALTER TABLE
statements - Create a new table, copy the old data into the new table, rename the old table before the new one can be renamed to assume the proper name
I'm asking because we have a situation involving a TIMESTAMP column (for optimistic locking). If SchemaCompare uses the new table approach, the TIMESTAMP
column values will change & cause problems for anyone with the old TIMESTAMP
values.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我相信 Schema Compare 采用与此处描述的 VSTSDB 相同的 CREATE-COPY-DROP-RENAME (CCDR) 策略: link
应该能够通过运行比较和编写部署脚本来确认这一点,不是吗?
I believe Schema Compare employs the same CREATE-COPY-DROP-RENAME (CCDR) strategy as VSTSDB described here: link
Should be able to confirm this by running a compare and scripting out the deploy, no?