Obiekty obsługujące diagram bazy danych nie mogą być instalowane ... no valid owner

Próbowałem utworzyć diagram bazy danych za pomocą SQL Server 2008, ale wystąpił błąd:

Obiekty wspomagające diagram bazy danych nie można zainstalować, ponieważ to baza danych nie ma prawidłowego właściciela. Aby kontynuować, najpierw użyj strony Pliki okna dialogowego Właściwości bazy danych lub Oświadczenie o zmianie autoryzacji aby ustawić właściciela bazy danych na poprawną Zaloguj się, a następnie dodaj diagram bazy danych obiekty wsparcia.

Potem próbowałem "po": {]}

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

Następny eror wyskakuje:

Msg 15404, Poziom 16, Stan 11, Linia 1 Nie można uzyskać informacji o Grupa Windows NT / użytkownik 'WIN-NDKPHUPPNFL\Administrator', błąd kod 0x534.

Problem polega na tym, że nazwa komputera zmieniła się na "DevPC" zmieniłem również to w skrypcie aktualizacji, ale nadal ten sam błąd 15404.

Co mogę zrobić, aby naprawić ten irytujący błąd?

Author: Tim Abell, 2010-01-11

14 answers

Powinieneś rozważyć konto uwierzytelniania SQL dla własności bazy danych; wtedy nie musisz się martwić o konta pojawiające się i znikające, bazy danych lub instancje przenoszące się na różne serwery i następną zmianę nazwy komputera. Mam kilka systemów, w których używamy:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [sa];

Lub jeśli chcesz zmienić właściciela na to konto administratora lokalnego, to powinno być:

ALTER AUTHORIZATION ON DATABASE::Ariha TO [DevPC\Administrator];

Ponieważ zmiana nazwy urządzenia na DevPC wyeliminowała konto lokalne, które kiedyś nosiło nazwę WIN-ND...\Administrator, A to unieważnił również aktualnego właściciela bazy danych.

Jeśli SELECT @@SERVERNAME; nie jest dokładne( powinno być napisane DevPC), to w celu upewnienia się, że zmiana nazwy serwera została wstrzymana w SQL Server, Możesz również wydać następujące polecenie:

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
 160
Author: Aaron Bertrand,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-14 19:07:01

W Sql Server Management Studio wykonaj następujące czynności:

  1. Kliknij prawym przyciskiem myszy bazę danych, wybierz Właściwości
  2. Przejdź do strony opcji
  3. z listy rozwijanej po prawej stronie oznaczonej jako " poziom zgodności "wybierz" SQL Server 2005(90)" 3-1. wybierz "SQL Server 2008", Jeśli pojawi się błąd porównywalności.
  4. Przejdź do strony Plików
  5. wpisz " sa " w polu tekstowym właściciela. 5-1 lub kliknij na elipsy(...) i wybrać prawowitego właściciela.
  6. Hit OK

Po w ten sposób będziesz mógł uzyskać dostęp do diagramów bazy danych.

Tutaj wpisz opis obrazka

 194
Author: Israel Margulies,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-10 02:00:22

1.Wybierz swoją bazę danych >> Right Click >> Select Properties
2.Select FILE in left side of page
3.In w polu OWNER Wybierz przycisk, który ma w sobie trzy kropki ( ... )
4.Teraz wybierz user 'sa' lub NT AUTHORITY\SYSTEM i kliknij OK

 17
Author: Rae Lee,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-22 09:41:55

Wpisz " SA "zamiast" sa " w polu tekstowym właściciela. To mi pomogło.

 5
Author: Adarsh V C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-23 13:19:48

Miałem ten sam problem.
Chciałem zobaczyć mój diagram, który stworzyłem tego samego dnia w pracy, w domu. Ale nie mogłem z powodu tej wiadomości.
Dowiedziałem się, że właścicielem bazy danych jest użytkownik mojego komputera-zgodnie z oczekiwaniami. ale ponieważ komputer jest w domenie firmy, a ja nie jestem podłączony do sieci firmy, baza danych nie mogła rozwiązać właściciela.

Więc to co zrobiłem to zmienić właściciela NA lokalnego użytkownika {[6] } i zadziałało!!
Mam nadzieję, że to pomoże ktoś.

Zmieniasz użytkownika klikając prawym przyciskiem myszy na bazie danych, właściwości, pliki, właściciela

 4
Author: PhpLou,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-04 22:46:38

To mi to naprawiło. Ustawia właściciela znalezionego w sekcji "Pliki" okna Właściwości bazy danych i jest skryptem autorstwa management studio.

USE [your_db_name]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

Zgodnie z Dokumentacja sp_changedbowner jest teraz przestarzała.

Na podstawie odpowiedzi Izraela. Odpowiedź Aarona jest nieaktualna.
 3
Author: Tim Abell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-16 10:33:25
USE [ECMIS]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO
To działa.
 3
Author: user3544798,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-31 07:18:25

Właśnie tego doświadczyłem. Przeczytałem sugestie na tej stronie, a także sugestie dotyczące uprawnień SQL (co jest tym samym) i żadna z powyższych nie zadziałała.

W końcu usunąłem Konto i odtworzyłem (z tą samą nazwą użytkownika/hasłem). Tak po prostu, wszystkie problemy zniknęły.

Niestety, oznacza to, że nie wiem, co poszło nie tak, więc nie mogę dzielić się niczym innym.

 0
Author: Dave,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-07 16:12:38

1.Kliknij prawym przyciskiem myszy na swojej bazie danych , 2.Następnie wybierz Właściwości . 3.Wybierz opcję w poziomach zgodności wybierz sql 2008[100], jeśli pracujesz z Microsoft SQL 2008.

4.Następnie wybierz plik i zapisz (sa) w polu tekstowym właściciela

100% mi pasuje.
 0
Author: Jefferson X Masonic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-05 14:56:35

Łatwiejszym sposobem rozwiązania tego problemu byłoby kliknięcie prawym przyciskiem myszy nazwy bazy danych, wybranie "New Query", wpisz "exec sp_changedbowner' sa '" i wykonanie zapytania. Więc możesz iść.

 0
Author: Lebone Mcdonald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-02 07:38:35

Musisz wpisać jako administrator kliknij prawym przyciskiem myszy, aby microsofft SQL server management studio i uruchom jako admin

 0
Author: abdelnaser rafat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-23 18:25:23

Wybierz swoją bazę danych - kliknij prawym przyciskiem myszy-wybierz Właściwości

Wybierz Plik z lewej strony Strony

W polu właściciel wybierz przycisk, który ma w sobie trzy kropki ( ... )

Teraz wybierz user ' sa i kliknij OK

 0
Author: Anil Rana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-09 18:21:51

Prawdziwym problemem jest to, że właściciel domyślny (dbo) nie ma loginu mapowanego do niego w all.As próbowałem mapować logowanie sa do właściciela bazy danych otrzymałem kolejny błąd stwierdzający "użytkownik, grupa lub rola' dbo ' już istnieje...".Jednak jeśli spróbujesz tego kodu to faktycznie zadziała :

EXEC sp_dbcmptlevel 'yourDB', '90';

Go

ALTER AUTHORIZATION ON DATABASE:: yourDB TO "yourLogin"

Go

Użycie [yourDB]

Go

EXECUTE AS USER = N ' dbo ' REVERT

Go

 -3
Author: Vandana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-17 09:18:31

Kliknij prawym przyciskiem myszy bazę danych, a następnie wybierz Właściwości . wybierz opcję w poziomach zgodności wybierz sql 2005 [90] zamiast 2008, jeśli pracujesz z Microsoft SQL 2008. następnie wybierz plik i zapisz (sa) w polu tekstowym właściciela. prawdopodobnie zadziała

 -3
Author: Ezzo gasmallah,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-04-26 08:38:21