sp_addremotelogin (Transact-SQL)
適用於:SQL Server
在本機伺服器上新增遠端登錄識別碼。 這可讓遠端伺服器連線和執行遠端過程調用。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用連結的伺服器和連結的伺服器預存程序。
語法
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
登錄對應至本機使用者 salesmgr
。ACCOUNTS
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';