共用方式為


遠端伺服器

適用於:SQL Server

SQL Server 支援遠端伺服器僅為了回溯相容性。 新應用程式應該改用連結的伺服器。 如需詳細資訊,請參閱連結伺服器 (資料庫引擎)。

遠端伺服器設定可讓連線到某一個 SQL Server 執行個體的用戶端,不需建立另一個連線,就可以在另一個 SQL Server 執行個體上執行預存程序。 而且,與用戶端連接的伺服器會接受用戶端的要求,並以用戶端的身分將要求傳送至遠端伺服器。 遠端伺服器會處理要求並將任何結果傳回到原始伺服器。 此伺服器接著就會將結果傳遞至用戶端。 設定遠端伺服器組態時,您應該也要考慮如何建立安全性。

如果您想要設定伺服器設定以在另一部伺服器上執行預存程序,而且沒有現有的遠端伺服器設定,請使用連結伺服器,而不是遠端伺服器。 對於連結的伺服器,您可以執行預存程序與分散式查詢;但是對於遠端伺服器,您只能執行預存程序。

遠端伺服器詳細資料

遠端伺服器是以配對設定。 若要設定遠端伺服器的配對,請將兩個伺服器都設定成可以相互辨識另一個為遠端伺服器。

大多數情況下,您不必為遠端伺服器設定配置選項。 SQL Server Set 會在本機和遠端電腦上設定預設值,以允許遠端伺服器連線。

若要讓遠端伺服器存取正常運作,remote access必須在本機和遠端電腦上將組態選項設定為。1 (這是預設設定。 remote access 控制來自遠端伺服器的登入。 您可以使用 Transact-SQL sp_configure 預存程序或 SQL Server Management Studio 來重設此組態選項。 若要重設 SQL Server Management Studio 中的選項,在 [伺服器屬性連線] 頁面上,使用 [允許此伺服器的遠端連線]。 若要存取 [伺服器屬性連線] 頁面,請在 [物件總管] 中,以滑鼠右鍵按一下伺服器名稱,然後選取 [屬性]。[伺服器屬性] 頁面上,選取 [連線] 頁面。

從本機伺服器,您可以停用遠端伺服器設定,以防止與其配對的遠端伺服器上的使用者存取該本機伺服器。

遠端伺服器的安全性

若要對遠端伺服器啟用遠端程序呼叫 (RPC),您必須在遠端伺服器上,甚至在執行 SQL Server 執行個體的本機伺服器上,設定登入對應。 預設會在 SQL Server 中停用 RPC。 此組態以減少其可攻擊介面區來加強伺服器的安全性。 在使用 RPC 之前,您必須先啟用此功能。 如需詳細資訊,請參閱 sp_configure

設定遠端伺服器

必須在遠端伺服器上設定遠端登入對應。 使用這些對應,遠端伺服器便可將來自指定伺服器之 RPC 連接的內送登入對應到本機登入。 可以使用遠端伺服器上的預存程序來 sp_addremotelogin 設定遠端登入對映。

注意

SQL Server 不支援 的sp_remoteoption受信任選項。

設定本機伺服器

針對 SQL Server 驗證的本機登入,您不需要在本機伺服器上設定登入對應。 SQL Server 會使用本機登入和密碼來連線到遠端伺服器。 針對 Windows 驗證登入,在本機伺服器上設定本機登入對應,以定義 SQL Server 執行個體在建立與遠端伺服器之 RPC 連線時使用的登入與密碼。

對於 Windows 驗證所建立的登入,您必須使用預存程序來 sp_addlinkedservlogin 建立登入名稱和密碼的對應。 此登入名稱和密碼必須符合遠端伺服器預期的傳入登入和密碼,如 所建立 sp_addremotelogin

注意

盡可能使用 Windows 驗證。

遠端伺服器安全範例

請考慮下列 SQL Server 安裝: serverSendserverReceiveserverReceive設定為將來自 serverSendSales_Mary傳入登入對應至 ,稱為 的 Alice中經過驗證的登入serverReceive。 另一個serverSend來自 的傳入登入,稱為 Joe,會對應至 中 的serverReceive SQL Server 驗證登入,稱為 Joe

下列的 Transact-SQL 程式碼範例會將 serverSend 設定為對 serverReceive 執行 RPC。

--Create remote server entry for RPCs
--from serverSend in serverReceive.
EXECUTE sp_addserver 'serverSend';
GO

--Create remote login mapping for login 'Sales_Mary' from serverSend  
--to Alice.
EXECUTE sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary';
GO

--Create remote login mapping for login Joe from serverReceive   
--to same login.  
--Assumes same password for Joe in both servers. 
EXECUTE sp_addremotelogin 'serverSend', 'Joe', 'Joe';
GO

serverSend上,會針對 Windows 驗證登入 Sales\Mary 對應於登入 Sales_Mary來建立本機登入對應。 Joe不需本機對應,因為預設會使用相同的登入名稱與密碼,且 serverReceive 會具有 Joe的對應。

--Create a remote server entry for RPCs from serverReceive.
EXECUTE sp_addserver 'serverReceive';
GO

--Create a local login mapping for the Windows authenticated login.  
--Sales\Mary to Sales_Mary. The password should match the  
--password for the login Sales_Mary in serverReceive.
EXECUTE sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary', 'Sales_Mary', '<password>';
GO

檢視本機或遠端伺服器屬性

您可以使用 xp_msver 延伸儲存程序來檢閱本端或遠端伺服器的伺服器屬性。 這些屬性包含 SQL Server 的版本號碼、電腦中的處理器類型和數目,以及作業系統的版本。 您可以從本機伺服器來檢視遠端伺服器的資料庫、檔案、登入與工具。 如需詳細資訊,請參閱 xp_msver

連結伺服器 (資料庫引擎)