Resposta selecionada e algumas outras são boas. Eu só quero dar uma explicação mais pura de SQL. É a mesma solução que não existe um proprietário de banco de dados (válido).
A conta do proprietário do banco de dados dbo
mencionada com erro é sempre criada com o banco de dados. Portanto, parece estranho que não exista, mas você pode verificar com duas seleções (ou uma, mas vamos simplificar).
SELECT [name],[sid]
FROM [DB_NAME].[sys].[database_principals]
WHERE [name] = 'dbo'
que mostra o SID do dbo
usuário no banco de dados DB_NAME e
SELECT [name],[sid]
FROM [sys].[syslogins]
para mostrar todos os logins (e seus SIDs) para esta instância do servidor SQL. Observe que ele não gravou nenhum prefixo db_name, porque todo banco de dados possui as mesmas informações nessa exibição.
Portanto, no caso de erro acima , não haverá logon com o SID atribuído ao usuário dbo do banco de dados.
Como explicado acima, isso geralmente acontece ao restaurar o banco de dados de outro computador (em que o banco de dados e o usuário dbo foram criados por login diferente). E você pode corrigi-lo alterando a propriedade para o login existente.