【发布时间】:2015-01-22 18:14:21
【问题描述】:
我正在尝试使用 SSDT(Sql server 2008R2、SSDT VS 2010)将数据库源代码发布到源代码控制 (TFS)。问题是它甚至在使用以下脚本的 Pre-script 之前生成代码:
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 数据提供者:消息 22115,级别 16,
状态 1,第 5 行更改跟踪已为中的一个或多个表启用 数据库'MyDb'。之前禁用每个表上的更改跟踪 为数据库禁用它。使用 sys.change_tracking_tables 目录视图以获取对其进行更改跟踪的表的列表 已启用。
我发现的唯一解决方法是手动禁用更改跟踪并在预脚本中启用它,但是这个解决方案不是很好...... 有什么建议吗?
【问题讨论】:
标签: tfs sql-server-2008-r2 publish sql-server-data-tools cdc