Domanda

Quando eseguo questo script per cercare particolare testo in sys.columns e ho un sacco di "dbo.syncobj_0x3934443438443332" come righe.

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

Se ho capito bene, sono oggetti di replica. È così? Posso solo buttare via dalla mia domanda, proprio come o.name NOT LIKE '%syncobj%' o c'è un altro modo?

Grazie.

È stato utile?

Soluzione

Ho trovato una soluzione. Non so, se è il migliore o meno.

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'

Il risultato è bene ora. Come ho già detto di syncobj sono oggetti di replica e non hanno un significato per noi. Sono utilizzati solo per scopi di replica.

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

Modifica

Hai dimenticato di aggiungere, di syncobj vengono memorizzati nel DB come Visualizzazioni, quindi se avete bisogno della lista di punti di vista, avrete probabilmente bisogno di ignorarli come ho fatto nella mia interrogazione.

Durante il controllo differenza tra syncobj e di mio punto di vista, l'unica differenza è is_ms_shipped Colonna. Per syncobj è 1, per gli altri 0. Significa che le opinioni syncobj vengono creati dal sistema.

P.S. Ti aspetto per qualche tempo e se nessuno dà un'altra risposta, io accetto la mia.

Altri suggerimenti

Quando si crea una replica che non include tutti i campi o altri cambiamenti di meta dati dalla tabella originale. Se fate una generare script da una pubblicazione che vi mostrerà come si crea (vedi sotto). La vista fornisce un oggetto per generare gli estratti BCP durante le istantanee iniziali.

Ecco un esempio

  

- Aggiunta la sincronizzazione articolo oggetto 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. Recentemente ho avuto un problema quando ho lasciato cadere la replica, non è riuscito a cadere questi e poi si deve far cadere manualmente il punto di vista del sistema di riutilizzare uno script di replica. Dare un messaggio di errore

  

Msg 2714, livello 16, stato 3: Esiste già un oggetto denominato   'Syncobj_0x3437324238353830' nel database.

che ha causato il BCP a fallire durante l'istantanea.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top