2009-06-30 8 views
0

これを行うように求められましたが、標準的な方法があるかどうかはわかりません。これをエクスポートする方法がSQL Serverにあるかどうかは誰にも分かりますか?SQLレプリケーション定義をXMLにエクスポートできますか?

+0

あなたは定義が意味するものを修飾していただけますか?たとえば、SQL Serverのレプリケーション構成の詳細を意味しますか? –

+0

簡単な質問から始めます。「SQLレプリケーション定義をエクスポートすることは可能ですか?」 –

答えて

1

AFIKこれを行う標準的な方法はありません。 XMLとそのツールセットやメタデータがXML中心ではない場合、技術のレプリケーションは長く先行しています。ただし、レプリケーションに関連するすべてのものは、masterまたはmsdb、またはディストリビューションデータベースのいずれかのテーブルに格納されます(Replication Tables topic on MSDNを参照)。レプリケーションDMV(sys.dm_repl_articlesおよびsys.dm_repl_schemas)。これらの情報はすべてXMLとして相互作用され、フォーマットされていますが、私はこの情報をカバーする標準的なXMLスキーマは認識していません。

0

Remus 'answer worked great。これをXMLにエクスポートするために使用したSQLスクリプトを次に示します。うまくいけば、それは他の人にとって役に立つでしょう。

DECLARE @PublicationId INT 
SET @PublicationId = 1 –- Use your publication ID here. Use SELECT * FROM syspublications to see a list of publications 

select 
     Publication.name AS [Name] 
     , Publication.description AS [Description] 
     , Article.name AS [Name] 
     , Article.dest_table AS [Table] 
     , [Column].name AS [Name] 
     , [Column].[Type] 
     , [Column].MaxLength 
     , [Column].Nullable 
from dbo.syspublications Publication 
     join dbo.sysarticles Article on Publication.pubid = Article.pubid 
      join sys.tables st on st.object_id = Article.objid 
     join dbo.sysarticlecolumns ac on Article.artid = ac.artid 
     join 
     (
      select 
        sc.object_id 
        , sc.column_id 
        , sc.name AS [Name] 
        , sty.name AS [Type] 
        , sc.max_length AS MaxLength 
        , sc.is_nullable AS Nullable 
      from dbo.syspublications p 
        join dbo.sysarticles a on p.pubid = a.pubid 
        join dbo.sysarticlecolumns ac on a.artid = ac.artid 
         join sys.columns sc on sc.object_id = a.objid AND sc.column_id = ac.colid 
        join sys.types sty on sty.user_type_id = sc.user_type_id 
      where p.pubid = @PublicationId 
    ) [Column] on [Column].object_id = Article.objid AND [Column].column_id = ac.colid 
where Publication.pubid = @PublicationId FOR XML AUTO 
関連する問題