Windows2000Server+SQLServer2000で構成されたサーバーAとサーバーBがあります。

サーバーAのテーブルに変更が発生した時点でその変更内容をサーバーBに反映させたいと
考えています。
そこで、サーバーBからサーバーAに対してリンクサーバーの設定を行い、サーバーBにトリガーを
設定してサーバーAのテーブルの変更に対して処理を行おうと考えています。
ところが、トリガーのコンパイルで
「プレフィックスの最大数を超えています。最大数は 2 です。」
というエラーが発生してしまいました。
[リンクサーバー名].[DB名].[所有者].[テーブル名]とプレフィックスが4つなので
発生していると思われます。
この問題の回避方法がわかるサイトがあれば教えてください。

なお、サーバーAにトリガーを設定したら目的の動作はできたのですが、
サーバーBにトリガーを設定したいと思っています。
変更対象のサーバーA上のテーブルとサーバーB上のテーブルはまったく共通性が無い別のテーブルで
数も違いますので、VIEW等では処理できません。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/06/11 17:54:18
  • 終了:--

回答(2件)

id:jouno No.1

jouno回答回数280ベストアンサー獲得回数02005/06/11 18:51:33

ポイント70pt

http://www.hkawaguchi.com/blog/archives/000381.html

心のおもむくままに: 分散トランザクション

純粋にプレフィックスの問題でしたら、エイリアスで解決できるのではないでしょうか。

http://www.wakhok.ac.jp/DB/subsection2.4.4.4.html

�e�[�u�����̃G�C���A�X�i�ʖ��j

やりかたはご存知でしょうがいちおう。

id:salvatore

CREATE TRIGGER xxxxxx

ON linkserver.dbname.user.table

FOR ...

としたとき、linkserver.dbname.user.tableでプレフィックスのエラーがでてしまい、エイリアスでは解決できませんでした。

2005/06/13 14:24:10
id:manimusu No.2

manimusu回答回数773ベストアンサー獲得回数02005/06/11 20:06:24

ポイント70pt

> プレフィックスの最大数を超えています。最大数は 2 です。


こちらに同じようなトラブルの質問があります。

参考になりませんか。

id:salvatore

トリガー作成の部分なので、EXECは使えないのでダメですね。。

シノニムが作れればいいのかななどと思っています。SQLServerってテーブルのシノニムってありましたっけ?

2005/06/13 14:26:09

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません