如果我想varchar
在 SQL Server Management Studio 中将列的长度从 30 个字符扩展到 60 个字符,我必须取消选中该框Prevent saving changes that require table re-creation
。
重新创建此表是否有任何副作用?我会重置身份或增加种子、松散索引或发现任何其他不需要的影响吗?
我需要在实时数据库上执行此操作,并且我不想找出发生变化的艰难方式。
如果我想varchar
在 SQL Server Management Studio 中将列的长度从 30 个字符扩展到 60 个字符,我必须取消选中该框Prevent saving changes that require table re-creation
。
重新创建此表是否有任何副作用?我会重置身份或增加种子、松散索引或发现任何其他不需要的影响吗?
我需要在实时数据库上执行此操作,并且我不想找出发生变化的艰难方式。
这是仅元数据的更改,不需要重建表。
ALTER TABLE YourTable ALTER COLUMN YourColumn VARCHAR(60) [NOT] NULL
关于您的问题“通过 GUI 重新创建此表是否有任何副作用”。
在这种情况下,这完全是不必要的开销,并且会阻塞并发用户,直到表被复制和重新创建。此外,设计人员在执行此操作时已知错误(例如,从列中删除FILESTREAM
属性)
以前也有人问过类似的问题。查看以下答案: “防止保存需要重新创建表的更改”负面影响 和 无法更改 SQL Server 2008 中的表设计
祝你好运。//翻转