Gostaria de atribuir direitos dbo em um banco de dados existente a um login existente sem criar um novo usuário no banco de dados. Eu gostaria que o login usasse o usuário dbo, como faz um membro da função de servidor sa.
Tudo o que encontrei envolve a criação de um novo usuário db.
Obrigado!
Se possível, isso deve ser corrigido do lado da implantação das coisas e não de uma modificação questionável do lado do banco de dados de destino (referindo-se à conversa nos comentários sobre a pergunta relacionada ao uso do obsoleto
sp_addalias
).Dependendo de qual é o problema exato, existem várias opções de configuração da implantação do DacPac que podem ser usadas para contornar esses conflitos. Essas opções podem ser especificadas na linha de comando se estiver executando o SqlPackage ou podem ser colocadas em um DAC Publish Profile (ou seja, um arquivo de configuração XML).
As opções de interesse aqui estão listadas na seção Publicar parâmetros, propriedades e variáveis SQLCMD da
SqlPackage
página.Para começar, você tem algum dos seguintes definidos para
True
:DropObjectsNotInSource
(padrão: falso)DropRoleMembersNotInSource
(padrão: falso)IgnoreLoginSids
(padrão: Verdadeiro)Se você tiver a
DropObjectsNotInSource
propriedade definida comoTrue
, tente adicionar:DoNotDropObjectType=Users
ExcludeObjectType=Users
IgnoreRoleMembership=True
IgnoreUserSettingsObjects=True
??Se for necessário especificar a
ExcludeObjectType
propriedade, ela ficará da seguinte maneira, dependendo de onde for especificada:/p:ExcludeObjectType=Users
Em um perfil de publicação DAC: