由于 CDC,无法使用 SSDT 将 sql 服务器代码发布到源代码管理
Can not publish sql server code to source control with SSDT because of CDC
我正在尝试使用 SSDT(Sql 服务器 2008R2,SSDT VS 2010)将数据库源代码发布到源代码管理 (TFS)。问题是它甚至在使用以下脚本的预脚本之前生成代码:
IF EXISTS (SELECT 1
FROM [master].[dbo].[sysdatabases]
WHERE [name] = N'$(DatabaseName)')
BEGIN
ALTER DATABASE [$(DatabaseName)]
SET CHANGE_TRACKING = OFF
WITH ROLLBACK IMMEDIATE;
END
GO
失败并显示以下消息:
(64,1): SQL72014: .Net SqlClient Data Provider: Msg 22115, Level 16,
State 1, Line 5 Change tracking is enabled for one or more tables in
database 'MyDb'. Disable change tracking on each table before
disabling it for the database. Use the sys.change_tracking_tables
catalog view to obtain a list of tables for which change tracking is
enabled.
我找到的唯一解决方法是手动禁用更改跟踪并在预脚本中启用它,但这个解决方案不是很好...
有什么建议吗?
我找到了解决方案。我只需要在项目设置 -> 数据库设置 -> 操作
中标记复选框 "Change tracking"
我正在尝试使用 SSDT(Sql 服务器 2008R2,SSDT VS 2010)将数据库源代码发布到源代码管理 (TFS)。问题是它甚至在使用以下脚本的预脚本之前生成代码:
IF EXISTS (SELECT 1
FROM [master].[dbo].[sysdatabases]
WHERE [name] = N'$(DatabaseName)')
BEGIN
ALTER DATABASE [$(DatabaseName)]
SET CHANGE_TRACKING = OFF
WITH ROLLBACK IMMEDIATE;
END
GO
失败并显示以下消息:
(64,1): SQL72014: .Net SqlClient Data Provider: Msg 22115, Level 16,
State 1, Line 5 Change tracking is enabled for one or more tables in database 'MyDb'. Disable change tracking on each table before disabling it for the database. Use the sys.change_tracking_tables catalog view to obtain a list of tables for which change tracking is enabled.
我找到的唯一解决方法是手动禁用更改跟踪并在预脚本中启用它,但这个解决方案不是很好... 有什么建议吗?
我找到了解决方案。我只需要在项目设置 -> 数据库设置 -> 操作
中标记复选框 "Change tracking"