<SqlToMetadataMultiTask ConnectionString="$(ConnectionString)">
<Output TaskParameter="Items" ItemName="MultiStats" />
<Output TaskParameter="Columns" ItemName="MultiColumns" />
</SqlToMetadataMultiTask>
<PropertyGroup>
<OutputFormat>@(MultiColumns,',')</OutputFormat>
</PropertyGroup>
<Message Text="Columns=@(MultiColumns,',')"/>
<WriteLinesToFile File="SqlMetricsMulti.csv" Overwrite="true" Lines="@(MultiColumns,',')" />
<WriteLinesToFile File="SqlMetricsMulti.csv" Overwrite="false"
Lines="@(MultiStats->'%(db),%(num_procs),%(len_procs),%(cursors_refs),%(tt_refs),%(ifs),%(cases),%(where),%(join),%(ands),%(ors)')" />
每个数据库都有一行,并写出列标题,然后写出每个数据库的元数据存储指标。
我是否可以使此任务更通用,以便动态生成数据输出列,就像完成列标题一样?在某些方面,这将是由另一个项目组根据输入动态列入白名单的自定义元数据。
答案 0 :(得分:0)
请在下面的链接中查看此答案,该链接有点类似,将项目元数据写入文件。您需要查看ITaskItem的文档,特别是ITaskItem.CloneCustomMetadata以获取您正在寻找的通用行为。