SQL Server 2016 在 VS2017 上使用 SSDT 更新 500 个表

Update 500 tables with SSDT on VS2017 for SQL Server 2016

我正在使用 VS2017 和 SQL Server 2016 开发一个 SSDT 数据库项目。我需要将数据类型为 char 的所有 table 列更改为 nvarchar .

varcharnvarchartextnvarchar 以及 smallintint 数据类型类似。

我在 tables 文件夹中有 500 个 tables。 replace/update 这些列的最佳方式是什么?

提前致谢

我不确定是否有最好的方法来做到这一点,但我会这样做(请注意,空格和括号在文本搜索中很重要):

  1. 将解决方案“CHAR(”中的所有文本替换为“NCHAR(”
  2. " VARCHAR(" 到 " NVARCHAR("
  3. "TEXT" to "NVARCHAR(MAX)" --> 注意这个比较危险,需要手动验证所有的修改都ok
  4. “SMALLINT”到“INT”

完成后,构建项目并修复错误。

不过我能理解你为什么要切换到 UNICODE,但是在系统范围内将所有 SMALLINT 转换为 INT 是一个很糟糕的主意。