sp_addremotelogin (Transact-SQL)
Aplica-se a: SQL Server
Adiciona uma nova ID de logon remoto no servidor local. Isso permite que os servidores remotos se conectem e executem chamadas de procedimento remoto.
Importante
Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam. Use procedimentos armazenados de servidor vinculado e servidores vinculados em vez disso.
Convenções de sintaxe de Transact-SQL
Sintaxe
sp_addremotelogin
[ @remoteserver = ] N'remoteserver'
[ , [ @loginame = ] N'loginame' ]
[ , [ @remotename = ] N'remotename' ]
[ ; ]
Argumentos
@remoteserver [ = ] N'servidor remoto'
O nome do servidor remoto ao qual o logon remoto se aplica. @remoteserver é sysname, sem padrão. Se apenas @remoteserver for especificado, todos os usuários no @remoteserver serão mapeados para logons existentes com o mesmo nome no servidor local. O servidor deve ser conhecido do servidor local. Isso é adicionado usando sp_addserver. Quando os usuários no @remoteserver se conectam ao servidor local que está executando o SQL Server para executar um procedimento armazenado remoto, eles se conectam como o logon local que corresponde ao seu próprio logon no @remoteserver. @remoteserver é o servidor que inicia a chamada de procedimento remoto.
@loginame [ = ] N'loginame'
A ID de logon do usuário na instância local do SQL Server. @loginame é sysname, com um padrão de NULL
. @loginame já deve existir na instância local do SQL Server. Se @loginame for especificado, todos os usuários no @remoteserver serão mapeados para esse logon local específico. Quando os usuários no @remoteserver se conectam à instância local do SQL Server para executar um procedimento armazenado remoto, eles se conectam como @loginame.
@remotename [ = ] N'nome remoto'
A ID de login do usuário no servidor remoto. @remotename é sysname, com um padrão de NULL
. @remotename deve existir em @remoteserver. Se @remotename for especificado, o @remotename de usuário específico será mapeado para @loginame no servidor local. Quando @remotename no @remoteserver se conecta à instância local do SQL Server para executar um procedimento armazenado remoto, ele se conecta como @loginame. O ID de login do @remotename pode ser diferente do ID de login no servidor remoto, @loginame.
Valores do código de retorno
0
(sucesso) ou 1
(falha).
Comentários
Para executar consultas distribuídas, use sp_addlinkedsrvlogin
.
sp_addremotelogin
não pode ser usado dentro de uma transação definida pelo usuário.
Permissões
Somente membros das funções de servidor fixas sysadmin e securityadmin podem executar sp_addremotelogin
.
Exemplos
R. Mapear um a um
O exemplo a seguir mapeia nomes remotos para nomes locais quando o servidor remoto ACCOUNTS
e o servidor local usam os mesmos logons de usuário.
EXEC sp_addremotelogin 'ACCOUNTS';
B. Mapeie muitos para um
O exemplo a seguir cria uma entrada que mapeia todos os usuários do servidor remoto ACCOUNTS
para a ID de logon local Albert
.
EXEC sp_addremotelogin 'ACCOUNTS', 'Albert';
C. Usar mapeamento um-para-um explícito
O exemplo a seguir mapeia um logon remoto de um usuário remoto Chris
no servidor remoto ACCOUNTS
para o usuário local salesmgr
.
EXEC sp_addremotelogin 'ACCOUNTS', 'salesmgr', 'Chris';
Conteúdo relacionado
- sp_addlinkedsrvlogin (Transact-SQL)
- sp_addlogin (Transact-SQL)
- sp_addserver (Transact-SQL)
- sp_dropremotelogin (Transact-SQL)
- sp_grantlogin (Transact-SQL)
- sp_helpremotelogin (Transact-SQL)
- sp_helpserver (Transact-SQL)
- sp_remoteoption (Transact-SQL)
- sp_revokelogin (Transact-SQL)
- Procedimentos armazenados do sistema (Transact-SQL)