2017-10-30 8 views
1

私は前に正しく、私はもっとして2つのプレフィックスを持つことができないエラーの目的/意義を理解していれば、私は次のようなエラー(S)プレフィックステーブルのエラーやサーバーのコール

Msg 117, Level 15, State 1, Procedure lp_..._data, Line 153 
The object name 'abcDBProd.Intermediate.dbo.upld_data' contains more than the maximum number of prefixes. The maximum is 2. 

Msg 117, Level 15, State 1, Procedure lp_..._Tables, Line 520 
The object name 'ABCDBPROD.Intermediate.dbo.UPLD_data' contains more than the maximum number of prefixes. The maximum is 2. 

を取得していますテーブル名最初の文では、私はServer自体の名前を使用しており、2番目のケースではLinkedServerの名前を使用しています。私が持っている混乱は、私はこのサーバー/ databse上に多くのテーブルがあり、それらはすべて同じに接続されており、どれもこのエラーを引き起こしていないということです。しかしこれは一つです。

私は何をしますか?許可の問題かセキュリティ上の問題ですか?私はどこを見るか分からない。

コマンドがテーブルの呼び出し、切り詰め、挿入、更新を行う場合は重要ですか?切り捨てることはできませんが、挿入することはできますか?なぜそれはいくつかのケースでは動作しますが、他のケースでは動作しません。

+0

私が知る限り、SQL Serverは4つの部分からなる名前付けをサポートしています。https://technet.microsoft.com/en-us/library/ms187879(v=sql.105).aspx一方、私はいつも読めるテーブルエイリアスを使用します。 –

+0

これを参照しようとしている実際のクエリを共有できますか?また、4つの部分の名前はリンクサーバーを使用していることに注意してください。私の推測では、名前にピリオドのあるテーブルがありますが、これは単なる推測です。 –

+0

私はレビューしますが、ピリオドのあるテーブルは表示されません。すべてがかなり類似しているupld_nameいくつかの選択、挿入、切り捨て、削除、upldsなどがあります。 – Elizabeth

答えて

0

DROP TABLEおよびINSERT INTOのような一部のコンテキストでは、リンクテーブルは許可されません。サーバー名を含む名前を使用すると、このエラーが発生します。例えば

、これは許可されていません。

drop table abcDBProd.Intermediate.dbo.upld_data; 

あなたはopenquery()でこれを回避できる可能性があります。

+0

コード内にいくつかの挿入があり、このエラー以外の問題や問題は発生しません。 – Elizabeth

+0

から削除 'ABCDBPROD.Intermediate.dbo.UPLD_data'作品 – Elizabeth

関連する問題