2.操作步骤
这里以MSSQL 2008R2 为例
1、在【系统运维】-》【计划任务】-》【任务】创建任务,【任务类型】选择:“定制”,在自定义设置中添加如下代码。
2、修改下图中红色框的配置项,保存并测试运行。即可同步MSSQL 2008R2 的字段注释到smartbi。
3、在左边资源树上的【系统运维】->【计划任务】->【计划】中新建一个计划,设置待执行任务为刚刚创建的任务,并设置计划运行的周期,如下图:
3.扩展
为了MSSQL其他版本的查询字段注释语句,我们可以通过修改这个计划任务中的sql语句来同步不同版本的MSSQL字段注释。相应的sql查询语句如下:(需要根据实际略微调整语句,再放到这个计划任务中)
(1) MSSQL 2000:
select so.name as tableName,sc.name as columnName,sp.value as remarks from sysobjects so left outer join syscolumns sc on so.id = sc.id left outer join sysproperties sp on sc.id = sp.id and sc.colid = sp.smallid where so.type = 'u' and so.name='$tableName$' order by so.id, sc.colorder
(2) MSSQL 2005:
SELECT tableName = D.NAME ,columnName=A.NAME, remarks=ISNULL(G.[VALUE], ' ') FROM SYSCOLUMNS A LEFT JOIN SYSTYPES B ON A.XUSERTYPE=B.XUSERTYPE INNER JOIN SYSOBJECTS D ON A.ID=D.ID AND D.XTYPE= 'U ' AND D.NAME <> 'DTPROPERTIES ' LEFT JOIN SYSCOMMENTS E ON A.CDEFAULT=E.ID LEFT JOIN sys.extended_properties G ON A.ID=G.major_id AND A.COLID=G.minor_id LEFT JOIN sys.extended_properties F ON D.ID=F.major_id AND F.minor_id=0 where D.NAME='$tableName$' ORDER BY A.ID,A.COLORDER