0

レプリケーション (HTTPS 経由の Web 同期) の設定に大きな問題がありました。

テーブルのみを公開すると、テーブルはデータで正常に複製されます。

ビューと sprocs を追加すると、次のメッセージで失敗します。

ComErrorException (0x80004005): The schema script 'xxx' could not be propagated to the subscriber

パブリケーションは SQL 2008 で、サブスクライバーは SQL Express 2005 です。

ビューはすべて、次のように比較的単純です (SQL は上部に DROP を追加しました)。

ビュー [dbo].[vAllUsers] をドロップします。

SET QUOTED_IDENTIFIER ON go SET ANSI_NULLS ON go

CREATE VIEW [dbo].[vAllUsers] AS SELECT ユーザー ID FROM スタッフ WHERE ユーザー ID が NULL UNION すべて SELECT ユーザー ID FROM ベッセルスタッフ WHERE ユーザー ID が NULL UNION すべて フリートマネージャーからユーザー ID を選択 WHERE ユーザー ID が NULL ではない go

私は混乱していて、基本的に私が何をしているのかわかりません。誰にもアイデアはありますか????

2010年12月3日更新

わかりました、私はこれをもう少しいじっています。テーブル、データ、およびユーザー定義関数は複製されますが、ストアド プロシージャやビューは複製されません。これは何を示していますか?

4

1 に答える 1

0

問題が何であるかがわかったので、これが他の誰かに役立つことを願っています。

基本的に、sproc とビューはテーブルなしではレプリケートされません (これについて見つけた MSDN ブログがありました here link text )。したがって、私の例では、すべてのテーブルとデータが既にあるため、ビューの追加を開始したとき、それらだけが表示され、機能しません。

また、削除された列を参照する関数もありました (そのため、サブスクライバーで作成されたときに失敗しました)。

また、レプリケートするデータが大量にあったため (HTTP Web 同期レプリケーションを行っていました)、サーバー上のエージェントの設定を調整して、ヒットあたりの送信データ量を減らす必要がありました。情報リンク テキストについては、この記事を参照してください

于 2010-12-03T09:46:03.263 に答える