我正在运行以下查询,并且由于生产数据库正在使用复制,因此我们在结果中获取了为复制添加的所有表(例如MSpeer_conflictdetectionconfigrequest,MSpeer_conflictdetectionconfigresponse)。
SELECT name FROM sysobjects WHERE type='U' AND name != 'sysdiagrams'
我们需要调整此查询,以便不显示这些表。我当然可以做name NOT IN ()
并列出所有内容,但我正在寻找更好的解决方案。
感谢您的帮助。
答案 0 :(得分:0)
SELECT name .
FROM sysobjects
WHERE type='U'
AND name != 'sysdiagrams'
AND replinfo = 0
然而: http://msdn.microsoft.com/en-us/library/ms177596.aspx请注意,sysobjects和replinfo似乎已被弃用。
0=not replicated
128 = merge - table or indexed view
1=transactional - table or indexed view - log based
3=transactional - table or indexed view - log based with custom sync object
33=transactional - table or indexed view - immediate updating
35=transaction- table or indexed view - log based with custom sync object
and custom filter
129 =merge and transactional - table or indexed view
64 - procs used by immediate updating
512 - all other procsprocs, views, functions
答案 1 :(得分:0)
由于您使用的是SQL 2008,我建议使用ff:
select * from sys.tables where is_ms_shipped = 0