什么是SQL Server中的syncobj

前端之家收集整理的这篇文章主要介绍了什么是SQL Server中的syncobj前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我运行这个脚本来搜索sys.columns中的特定文本时,我得到了很多像行一样的“dbo.syncobj_0x3934443438443332”.
SELECT c.name,s.name + '.' + o.name
FROM sys.columns c
INNER JOIN sys.objects  o ON c.object_id=o.object_id
INNER JOIN sys.schemas  s ON o.schema_id=s.schema_id
WHERE c.name LIKE '%text%'

如果我做对了,它们就是复制对象.是这样吗?我可以把它们从我的查询删除,就像o.name NOT LIKE’%syncobj%’或者还有另一种方法吗?

谢谢.

解决方法

我找到了解决方案.不知道,如果它是最好的一个.
SELECT c.name,s.name + '.' + o.name
FROM sys.columns c
   INNER JOIN sys.objects  o ON c.object_id=o.object_id
   INNER JOIN sys.schemas  s ON o.schema_id=s.schema_id
WHERE c.name LIKE '%text%' AND o.type = 'U'

结果很好.正如我所说,syncobj是复制对象,它们对我们没有意义.它们仅用于复制目的.

http://www.developmentnow.com/g/114_2007_12_0_0_443938/syncobj-views.htm

编辑:

忘记添加,syncobj作为视图存储在DB中,所以如果你需要视图列表,你可能需要像我在我的问题中那样忽略它们.

在检查syncobj和我的视图之间的区别时,唯一的区别是is_ms_shipped列.对于syncobj,它为1,对于其他0.这意味着syncobj视图由系统创建.

附:我会等一段时间,如果没有人给出另一个答案,我会接受我的.

猜你在找的MsSQL相关文章