Что такое syncobj в SQL Server

Когда я запускаю этот скрипт для поиска конкретного текста в 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%' или существует иначе?

Спасибо.

8
задан hgulyan 31 January 2014 в 07:27
поделиться

1 ответ

Я нашел решение. Не знаю, лучшее оно или нет.

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's - это объекты репликации, и они не имеют для нас никакого значения. Они используются только для целей репликации.

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

EDIT:

Забыл добавить, syncobj's хранятся в DB как Views, так что если вам нужен список представлений, вам, вероятно, придется игнорировать их, как я сделал в своем вопросе.

При проверке разницы между syncobj's и моими представлениями, единственное различие - is_ms_shipped колонка. Для syncobj это 1, для других 0. Это означает, что представления syncobj создаются системой.

P.S. Я подожду некоторое время и если никто не даст другого ответа, я приму свой.

12
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: