Banco de Dados de Apoio Diagrama objetos não pode ser instalado ... não proprietário válido
-
19-09-2019 - |
Pergunta
Eu tentei criar um diagramm banco de dados com SQL Server 2008, mas ocorre um erro:
Suporte diagrama de banco de dados objetos não pode ser instalado porque este banco de dados não tem um proprietário válido. Para continuar, primeiro use a página de arquivos da caixa de diálogo banco de dados Propriedades de caixa ou a instrução ALTER AUTHORIZATION para definir o proprietário banco de dados para um válido login, em seguida, adicione o diagrama de banco de dados objetos de suporte.
Então eu tentei o seguinte:
EXEC sp_dbcmptlevel 'Ariha', '90';
GO
ALTER AUTHORIZATION ON DATABASE::Ariha TO [WIN-NDKPHUPPNFL\Administrator]
GO
USE Ariha
GO
EXECUTE AS USER = N'dbo' REVERT
GO
A seguir erorr aparece:
Msg 15404, nível 16, estado 11, linha 1 Não foi possível obter informações sobre Windows NT grupo / usuário 'WIN-NDKPHUPPNFL \ Administrator', erro código de 0x534.
O problema é o nome do PC se transformou em "DevPC" Eu também mudou isso no script de atualização, mas ainda o mesmo erro 15404.
O que posso fazer para corrigir este erro irritante?
Solução
Você deve considerar a conta de autenticação do SQL para a propriedade de banco de dados; então você não precisa se preocupar com contas indo e vindo, bancos de dados ou instâncias que se deslocam para diferentes servidores, e sua próxima mudança de nome PC. Tenho vários sistemas onde usamos:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];
Ou se você quiser alterar o proprietário para essa conta Administrador local, então ele deve ser:
ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];
Como mudar o nome da máquina para DevPC
eliminou a conta local que costumava ser chamado WIN-ND...\Administrator
e isso também tem invalidado o proprietário atual do banco de dados.
Se SELECT @@SERVERNAME;
não é exato (que deve dizer DevPC
), então, a fim de garantir que a sua renomeação servidor tomou conta dentro do SQL Server, você também pode querer emitir o seguinte:
EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
Outras dicas
No SQL Server Management Studio faça o seguinte:
- clique direito em seu banco de dados, escolha Propriedades
- Vá para a página Opções
- no menu suspenso na direita chamado "nível de compatibilidade" escolha "SQL Server 2005 (90)" 3-1. escolha "SQL Server 2008" se você receber um erro de comparabilidade.
- Vá para a página arquivos
- Digite "sa" no proprietário caixa de texto. 5-1 ou clique nas reticências (...) e escolher um legítimo proprietário.
- Clique em OK
depois de fazer isso, você vai agora ser capaz de acessar o banco de diagramas.
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
Ele funciona.
Digite "SA" em vez de "sa" no proprietário caixa de texto. Isso funcionou para mim.
Eu tive o mesmo problema.
Eu queria ver o meu diagrama, que eu criei no mesmo dia no trabalho, em casa. Mas eu não podia por causa dessa mensagem.
Eu descobri que o proprietário do banco de dados foi o usuário do meu computador -conforme o esperado. mas desde que o computador está no domínio da empresa, e eu não estou conectado à rede da empresa, o banco de dados não foi possível resolver o proprietário.
Então, o que eu fiz é alterar o proprietário para um usuário local e funcionou !!
Espero que isso ajude alguém.
Você pode alterar o usuário, clique com o botão direito no banco de dados, propriedades, arquivos, proprietário
Este fixa-lo para mim. Ele define o proprietário encontrou abrigo da secção da janela de propriedades do banco de dados dos arquivos ', e está conforme o script pelo estúdio de gestão.
USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
De acordo com a sp_changedbowner documentação este é obsoleto agora.
Com base na resposta de Israel. A resposta de Aaron é a variação não-obsoleto disso.
Selecione seu banco de dados - Right Click - Selecione Propriedades
Selecionar ARQUIVO no lado esquerdo da página
Na caixa de proprietário, selecione o botão que tem três pontos (...) nele
Agora selecione o usuário ‘sa e clique em OK
Eu só experimentou este. Eu tinha lido as sugestões nesta página, bem como as sugestões da Autoridade SQL (que é a mesma coisa) e nenhuma das opções acima funcionou.
No final, I removido a conta e recriados (com o mesmo nome de utilizador / palavra-passe). Só assim, todas as questões foram embora.
Infelizmente, isso significa que eu não sei o que deu errado, então não posso compartilhar qualquer outra coisa.
1.Right clicar no seu banco de dados, 2.Then propriedades escolha. 3.Select a opção nos níveis de compatibilidade escolher sql 2008 [100] se você estiver trabalhando com o Microsoft SQL 2008.
4.Then selecione o arquivo e write (sa) em owner`s caixa de texto
100% funciona para mim.
Uma maneira mais fácil de resolver este problemas seria clicar o botão direito no nome do seu banco de dados, escolha "New Query", digite "exec sp_changedbowner 'sa'" e executar a consulta. Então você vai ser bom para ir.
Você deve entrar como administrador, clique direito de estúdio de gestão do Microsoft SQL Server e executar como administrador
Apenas precisa executá-lo em consulta editor ALTER AUTORIZAÇÃO ON DATABASE :: yourdatabase TO [domínio \ conta];
O verdadeiro problema é que o proprietário padrão (dbo) não tem um login mapeado para ele na all.As Tentei mapear o logon do sa para o proprietário do banco recebi outro erro informando "Usuário, grupo ou função 'dbo' já existe ... "No entanto, se você tentar este código que vai realmente funciona:.
EXEC sp_dbcmptlevel 'yourDB', '90';
go
ALTER AUTORIZAÇÃO ON DATABASE :: yourDB TO "yourLogin"
go
Usar [yourDB]
go
EXECUTAR AS REVERT N'dbo' USER =
go
clique direito em seu banco de dados, em seguida, selecione Propriedades. selecionar a opção nos níveis de compatibilidade escolher sql 2005 [90], em vez de 2008 se você estiver trabalhando com Microsoft SQL Server 2008. em seguida, selecione o arquivo e write (sa) em owner`s caixa de texto. ele vai trabalhar provavelmente