Criei view para consultar outro servidor via servidor vinculado (SQL Server 2014).
Preciso conceder permissões aos desenvolvedores para usar esta exibição.
Conceder apenas select não é suficiente e eles obtiveram o seguinte erro:
O acesso ao servidor remoto foi negado porque não existe mapeamento de login.
Qual é a permissão mais restrita que posso conceder a eles para selecionar nesta exibição?
Usamos um login SQL para conectar ao servidor vinculado (ser feito usando esse contexto de segurança) e posso consultar essa exibição com meu usuário. Também posso consultar essa exibição com meu usuário do Active Directory. Não tentei me conectar para acessar o servidor vinculado com o login do servidor vinculado, mas meu usuário AD não conseguiu se conectar ao servidor vinculado, se houvesse algum problema com o login de conexão.
Para fins de teste, concedi sysadmin a esse usuário. Ele pode consultar essa exibição, portanto, é definitivamente um problema de permissão. Antes de conceder sysadmin , o usuário tinha apenas public , sem permissões especiais no nível do servidor e apenas db_reader no banco de dados da exibição.
A mensagem que você está recebendo está informando que não há mapeamento entre as credenciais que você forneceu e as credenciais na máquina de destino. Você precisa garantir que as credenciais usadas para configurar seu servidor vinculado também tenham um login ou possam ser mapeadas para um login no servidor vinculado.
Suspeito que, ao configurá-lo, você especificou a opção
Be made using the login's current security context
que funcionou para você, pois você tem um login na máquina remota - mas não funciona para mais ninguém porque eles não têm credenciais suficientes para consultar o servidor vinculado. (Apenas um palpite)Aqui está um guia sobre como configurar um servidor vinculado e para que servem todas as opções. Suspeito que você precise alterar o contexto de segurança que está usando para se conectar ao servidor vinculado ou adicionar outras contas a ele.
https://msdn.microsoft.com/en-us/library/ff772782.aspx
Recriando o servidor vinculado sem
@provstr=N'ApplicationIntent=ReadOnly'
no login-mapping exists
erro de parâmetro resolvido . Portanto, selecione a permissão é suficiente.