我正在尝试从现有数据库创建数据库项目。数据库中的某些表启用了CDC。对于每个这样的表,我们创建了一个CDC数据视图,其类似于:
create view [dbo].[vw_cdc_myTable] as
select
sys.fn_cdc_map_lsn_to_time (__$start_lsn) ActionLocalTime
, __$seqval ActionOrder
, __$operation ImageType
, case __$operation
when 1 then 'Deleted'
when 2 then 'Inserted'
when 3 then 'Before Update'
when 4 then 'After Update'
end ImageType_desc
, convert(char(5), '>>>>>') Sprtr
, *
from
cdc.dbo_myTable_CT
SSDT抱怨这一点,因为它没有导入任何CDC对象(在本例中为cdc.dbo_myTable_CT和sys.fn_cdc_map_lsn_to_time)。有没有办法让那些导入或伪造SSDT,以便我可以在源代码管理中拥有视图?
答案 0 :(得分:1)
是的,有办法做到这一点。它被称为作弊,但它创造了奇迹。
请按照以下步骤操作:
from [$(CDC)].cdc.dbo_myTable_CT
就是这样!
您还可以使用此技巧完成部署忽略发布某些对象,同时仍然以某种方式使用它们。