Frage

Wenn ich dieses Skript ausführen bestimmten Text in sys.columns zu suchen und ich bekomme eine Menge "dbo.syncobj_0x3934443438443332" wie Reihen.

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%'

Wenn ich es richtig, sie sind Replikationsobjekte. Ist es so? Kann ich von meiner Anfrage werfen sie einfach weg wie o.name NOT LIKE '%syncobj%' oder gibt es einen anderen Weg?

Danke.

War es hilfreich?

Lösung

Ich habe eine Lösung gefunden. Nicht weiß, ob es die beste ist oder nicht.

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'

Das Ergebnis ist jetzt in Ordnung. Wie ich schon sagte syncobj der sind Replikationsobjekte und sie haben keine Bedeutung für uns. Sie sind für die Replikation Zwecke verwendet.

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

EDIT:

vergessen hinzuzufügen, syncobj die als Ansichten in DB gespeichert werden, so dass, wenn Sie die Liste der Ansichten benötigen, werden Sie wahrscheinlich brauchen, um sie zu ignorieren, wie ich in meiner Frage tat.

Während Unterschied zwischen syncobj und meine Ansichten überprüft, ist der einzige Unterschied is_ms_shipped Spalte. Für syncobj ist es 1, für andere 0. Es bedeutet, dass syncobj Ansichten vom System erstellt werden.

P. S. Ich werde für einige Zeit warten, und wenn niemand eine andere Antwort gibt, werde ich mein akzeptieren.

Andere Tipps

Wenn Sie eine Replikation erstellen, die nicht alle Felder oder andere Metadaten Änderungen aus der ursprünglichen Tabelle enthält. Wenn Sie ein Skript erzeugen aus einer Publikation zu tun wird es Ihnen zeigen, wie es erstellt wird (siehe unten). Die Ansicht, die ein Objekt bietet die bcp Extrakte während der ersten Schnappschüsse zu erzeugen.

Hier ist ein Beispiel

- Hinzufügen des Artikels Synchronisationsobjekt exec sp_articleview @publication = N'publication_data '@article = N'tablename', @view_name = N'syncobj_0x4239373642443436' , @filter_clause = N '', @force_invalidate_snapshot = 1, @force_reinit_subscription = 1 GO

P. S. Vor kurzem hatte ich ein Problem, wenn die E-Replikation fallen gelassen, es nicht gelungen, diese fallen zu lassen und dann müssen Sie manuell die Systemansichten fallen ein Replikations Skript wiederverwenden. Geben einer Fehlermeldung

Msg 2714, Stufe 16, State 3: Es ist bereits ein Objekt mit dem Namen 'Syncobj_0x3437324238353830' in der Datenbank.

Welche die BCP verursacht während des Schnappschuss zum Scheitern verurteilt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top