【发布时间】:2022-06-10 16:57:19
【问题描述】:
我有一个带有表、存储过程等的 Visual Studio 数据库项目 (SQL Server)。这些表定义了排序规则,例如:
CREATE TABLE [dbo].[TestTable]
(
[TestColumn] [varchar] (3) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
);
数据库默认排序规则也是SQL_Latin1_General_CP1_CI_AS。
我使用sqlpackage 发布,ScriptDatabaseCollation 设置为 True。
当我从任何方向修改表格(例如添加新列)并使用 SSDT 比较工具时,即使“忽略排序规则”设置为 True,它也会将排序规则显示为不同:
另外,另一个有趣的是,当我点击生成脚本时,它不会包含任何排序规则修改,只是新列。
当我尝试从另一个方向进行比较(直接更新数据库并使用从数据库到本地项目的比较)时,情况更糟,因为它会更新我的文件并删除排序规则。
系统信息:
- SSDT 版本 17.0.62204.01010
- MSSQL Server Express 15.0.4153.1
- Visual Studio 专业版 2022 17.2.2
有人知道我该如何解决这个问题吗?
【问题讨论】:
-
您项目的默认排序规则是什么?
-
同数据库:SQL_Latin1_General_CP1_CI_AS
标签: sql-server visual-studio sql-server-data-tools