2010-06-17 108 views
1

我正在使用SQL Server 2008(讓我們在此問題討論中稱此源數據庫服務器),並且在SSMS中,我創建了一個鏈接服務器到另一個SQL Server 2008數據庫(讓我們稱這個目標爲數據庫服務器在這個問題討論中)。SQL Server中的openquery問題

當我發出聲明 - 選擇* [鏈接服務器名稱] [數據庫名稱] [DBO] [表名],將返回錯誤,

Linked server "ZS" The OLE DB access interface "SQLNCLI10" returned "NON-CLUSTERED and NOT 
INTEGRATED "Index" ix_foo_basic_info_nf ", which is incorrect bookmark ordinal 0. 

當我發出聲明。 - - 從openquery([鏈接的服務器名稱],'select * from [table name]')中選擇*,將不會有錯誤,任何想法有什麼錯誤?

由於事先 喬治

回答

1

是對Index As Access Path選項鍊接服務器提供商設置?如果是這樣,請嘗試刪除它,看看它是否解決了問題。

+0

「Index As Access Path」?新對我來說。 :-( 如何檢查和爲什麼它導致我desribed的問題,但沒有問題,爲openquery? – George2 2010-06-17 12:54:48

+0

從這個鏈接,我發現什麼意思索引爲訪問路徑,但無法找到如何關閉它 http: //msdn.microsoft.com/en-us/library/ms188095.aspx – George2 2010-06-17 13:03:55

+1

此選項可在服務器對象>鏈接服務器>提供程序中找到,然後右鍵單擊>屬性。 它設置查詢是否使用鏈接的服務器索引來嘗試和檢索數據不確定openquery,但我猜它永遠不會使用索引 – starskythehutch 2010-06-17 13:05:51