--表结构生成XML文档
create table ##tb(re varchar(8000))
insert into ##tb
select '
<数据库>'+db_name()
insert into ##tb
select case b.colid when 1 then '<表名>'+a.name else ' ' end+'
<字段 名称="'+b.name+'"'+case when g.value is null then ''
else ' 说明="'+cast(g.value as varchar(8000))+'"' end+'/>'
+case b.colid when (select max(colid) from syscolumns where id=a.id)
then '
' else '' end
from sysobjects a
join syscolumns b on a.id=b.id
left join sysproperties g on b.id=g.id and b.colid=g.smallid
where a.xtype='U'
order by a.name,b.colid
insert into ##tb values('')
--生成 c:\a.xml
exec master..xp_cmdshell 'bcp ##tb out c:\a.xml /c'
drop table ##tb