我有兩個SQL Server實例:訪問鏈接服務器直接
- SQLSERVER64
- SQLSERVER32
在SQLSERVER32
,我有一個鏈接的服務器稱爲ParadoxDBLinkedServer
一個悖論數據庫。
要獲得某些Paradox表的我只是執行下面的語句服務器:
SELECT *
FROM [ParadoxDBLinkedServer]...Clients
然後,我需要從SQLSERVER64
實例訪問這些對象。爲此,我在本例中創建了一個名爲[.\SQLSERVER32
]的鏈接服務器,指向SQLSERVER32
。
我試圖現在要做的就是直接從SQLSERVER64
實例訪問ParadoxDBLinkedServer
對象。我的意思是,從另一臺鏈接服務器訪問鏈接的服務器。
查詢我正嘗試運行的是以下之一:
SELECT *
FROM [.\SQLSERVER32].[ParadoxDBLinkedServer ]...Clients
但我得到這個錯誤:
The number name '.\SQLSERVER32.ParadoxDBLinkedServer ...Clients' contains more than the maximum number of prefixes. The maximum is 3.
有什麼辦法來執行這樣的訪問?我在這裏錯過了什麼?
我試圖避免在SQLSERVER32
實例中爲ParadoxDBLinkedServer
的每個表創建視圖以減少開銷。
你當你在你的四個部分命名約定多餘的對象得到這個錯誤:[。\ SQLSERVER32]。'[ParadoxDBLinkedServer] [SCHEMA_NAME ]。[Table_Name]'試試這個.. –
@Darshan_Viswanath_BI,模式丟失。實際上它是在默認模式下。但嘗試[。\ SQLSERVER32]。[ParadoxDBLinkedServer]。[默認值]。我得到的客戶端:鏈接服務器「%ls」的OLE DB提供程序「%ls」不包含表「%ls」。該表或者不存在,或者當前用戶對該表沒有權限。 – Andres
你可以登錄到兩臺服務器,並從[數據庫]中執行select *。[dbo]。[Client]'?使用[ParadoxDBLinkedServer]前綴應該是您的解決方案。如果表格不存在或者您沒有必要的權限,您將會知道它。 –