sp_addremotelogin (Transact-SQL)

在本機伺服器上加入新的遠端登入識別碼。此舉可讓遠端伺服器連接及執行遠端程序呼叫。

[!附註]

下一版的 Microsoft SQL Server 將不再提供此功能。請勿在新的開發工作中使用此功能,並且儘速修改使用此功能的應用程式。 請改用連結伺服器和連結伺服器預存程序。

主題連結圖示Transact-SQL 語法慣例

語法

sp_addremotelogin [ @remoteserver = ] 'remoteserver' 
     [ , [ @loginame = ] 'login' ] 
          [ , [ @remotename = ] 'remote_name' ]

引數

  • [ @remoteserver = ] 'remoteserver'
    這是遠端登入所套用的遠端伺服器名稱。remoteserver 是 sysname,沒有預設值。只要指定 remoteserver,remoteserver 上所有的使用者,都會對應至本機伺服器上現有的同名登入。本機伺服器必須知道這部伺服器。它可以利用 sp_addserver 加入。當 remoteserver 上的使用者連接到執行 SQL Server 的本機伺服器,來執行遠端預存程序時,它們是利用與它們在 remoteserver 上登入相符的本機登入來連接。remoteserver 是起始遠端程序呼叫的伺服器。

  • [ @loginame = ] 'login'
    這是 SQL Server 本機執行個體上的使用者登入識別碼。login 是 sysname,預設值是 NULL。login 必須已存在於 SQL Server 的本機執行個體。如果有指定 login,則 remoteserver 上所有的使用者都會對應至該特定的本機登入。當 remoteserver 上的使用者連接到 SQL Server 的本機執行個體,來執行遠端預存程序時,它們是以 login 的身分連接。

  • [ @remotename = ] 'remote_name'
    這是遠端伺服器上的使用者登入識別碼。remote_name 是 sysname,預設值是 NULL。remote_name 必須已存在於 remoteserver。如果有指定 remote_name,特定的使用者 remote_name 便會對應至本機伺服器的 login。當 remoteserver 上的 remote_name 連接到 SQL Server 的本機執行個體,來執行遠端預存程序時,它是以 login 的身分連接。remote_name 的登入識別碼可能與遠端伺服器的登入識別碼 login 不同。

傳回碼值

0 (成功) 或 1 (失敗)

備註

若要執行分散式查詢,請使用 sp_addlinkedsrvlogin

sp_addremotelogin 無法在使用者自訂交易內執行。

權限

只有系統管理員 (sysadmin)安全性管理員 (securityadmin) 固定伺服器角色的成員,才能夠執行 sp_addremotelogin

範例

A. 一對一對應

下列範例是在遠端伺服器 ACCOUNTS 和本機伺服器具有相同的使用者登入時,將遠端名稱對應至本機名稱。

EXEC sp_addremotelogin 'ACCOUNTS';

B. 多對一對應

下列範例會建立一個項目,將遠端伺服器 ACCOUNTS 上所有的使用者,對應至本機登入識別碼 Albert。

EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';

C. 使用明確的一對一對應

下列範例會將來自遠端伺服器 ACCOUNTS 上遠端使用者 Chris 的遠端登入,對應至本機使用者 salesmgr。

EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';