0

次のクエリを実行しています。本番データベースはレプリケーションを使用しているため、レプリケーション用に追加されたすべてのテーブル (MSpeer_conflictdetectionconfigrequest、MSpeer_conflictdetectionconfigresponse など) が結果に含まれています。

SELECT name FROM sysobjects WHERE type='U' AND name != 'sysdiagrams'

これらのテーブルが表示されないように、このクエリを調整する必要があります。もちろんname NOT IN ()、それらをすべてリストすることもできますが、より良い解決策を探しています。

ご協力いただきありがとうございます。

4

2 に答える 2

0

SQL 2008 を使用しているので、ff をお勧めします。

select * from sys.tables where is_ms_shipped = 0
于 2012-05-20T17:47:35.473 に答える
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
于 2012-05-19T15:44:17.007 に答える