sp_addremotelogin (Transact-SQL)

適用於:SQL Server

在本機伺服器上新增遠端登錄識別碼。 這可讓遠端伺服器連線和執行遠端過程調用。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用連結的伺服器和連結的伺服器預存程序。

Transact-SQL 語法慣例

語法

sp_addremotelogin
    [ @remoteserver = ] N'remoteserver'
    [ , [ @loginame = ] N'loginame' ]
    [ , [ @remotename = ] N'remotename' ]
[ ; ]

引數

[ @remoteserver = ] N'remoteserver'

遠端登錄所套用之遠端伺服器的名稱。 @remoteserver為 sysname,沒有預設值。 如果只指定@remoteserver,@remoteserver上的所有用戶都會對應至本機伺服器上相同名稱的現有登入。 本地伺服器必須知道伺服器。 這會使用 sp_addserver 來新增。 當使用者@remoteserver連接到執行 SQL Server 以執行遠端預存程式的本地伺服器時,他們會連線為符合自己登入的本機登入@remoteserver@remoteserver是起始遠程過程調用的伺服器。

[ @loginame = ] N'loginame'

SQL Server 本機實例上使用者的登入標識碼。 @loginame為 sysname,預設值為 NULL@loginame必須已存在於 SQL Server 的本機實例上。 如果指定@loginame,@remoteserver上的所有用戶都會對應至該特定本機登入。 當使用者@remoteserver連接到 SQL Server 的本機實例以執行遠端預存程式時,會以@loginame方式連線。

[ @remotename = ] N'remotename'

遠端伺服器上的使用者登入標識碼。 @remotename為 sysname,預設值為 NULL@remotename必須存在於@remoteserver。 如果 指定@remotename ,特定使用者 @remotename 會對應至 本地伺服器上的@loginame 。 當@remotename@remoteserver連接到 SQL Server 的本機實例以執行遠端預存程式時,它會連線為@loginame。 @remotename的登入標識碼與遠端伺服器上的登入標識碼不同,@loginame

傳回碼值

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. 使用明確的一對一對應

下列範例會將遠端伺服器上的遠端使用者Chris登錄對應至本機使用者 salesmgrACCOUNTS

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