Próbowałem utworzyć diagram bazy danych w SQL Server 2008, ale pojawia się błąd:
Nie można zainstalować obiektów obsługujących diagram bazy danych, ponieważ ta baza danych nie ma prawidłowego właściciela. Aby kontynuować, najpierw użyj strony Pliki w oknie dialogowym Właściwości bazy danych lub instrukcji ALTER AUTHORIZATION, aby ustawić właściciela bazy danych na prawidłowy login, a następnie dodaj obiekty obsługi diagramu bazy danych.
Następnie spróbowałem następujących rzeczy:
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
Pojawia się następny błąd:
Msg 15404, poziom 16, stan 11, wiersz 1 Nie można uzyskać informacji o grupie / użytkowniku Windows NT „WIN-NDKPHUPPNFL \ Administrator”, kod błędu 0x534.
Problem polega na tym, że nazwa komputera zmieniła się na „DevPC”. Zmieniłem to również w skrypcie aktualizacji, ale nadal ten sam błąd 15404.
Co mogę zrobić, aby naprawić ten irytujący błąd?
alter authorization on database::[db_name] to [sa]
, a następnie 2) ponownie uruchom tę samą komendę i zamień[sa]
ją na użytkownika, który był właścicielem bazy danych natychmiast po odtworzeniu.Odpowiedzi:
W przypadku własności bazy danych należy rozważyć konto uwierzytelniania SQL; wtedy nie musisz się martwić o pojawianie się i odchodzenie kont, przenoszenie baz danych lub instancji na inne serwery i następną zmianę nazwy komputera. Mam kilka systemów, w których używamy:
Lub jeśli chcesz zmienić właściciela na to lokalne konto administratora, powinno to być:
Ponieważ zmiana nazwy komputera na
DevPC
wyeliminowała konto lokalne, które było nazwane,WIN-ND...\Administrator
a także unieważniło obecnego właściciela bazy danych.Jeśli
SELECT @@SERVERNAME;
nie jest dokładny (powinien powiedziećDevPC
), to w celu upewnienia się, że zmiana nazwy serwera została przyjęta w programie SQL Server, możesz również wykonać następujące czynności:źródło
sa
jeśli masz wyłączone uwierzytelnianie sql?[sa]
a następnie zmieniłem go z powrotem na użytkownika, który powiedział, że był wcześniej, i altówka, żadnych więcej błędów. Nie jestem pewien, dlaczego przywrócenie bazy danych nie ustawiło poprawnie właściciela bazy danych ...W SQL Server Management Studio wykonaj następujące czynności:
po wykonaniu tej czynności będziesz mieć teraz dostęp do diagramów bazy danych.
źródło
To działa.
źródło
Wpisz „SA” zamiast „sa” w polu tekstowym właściciela. To zadziałało dla mnie.
źródło
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 był użytkownik mojego komputera - zgodnie z oczekiwaniami. ale ponieważ komputer znajduje się w domenie firmy, a ja nie mam połączenia z siecią firmową, baza danych nie mogła ustalić właściciela.
Więc zmieniłem właściciela na lokalnego użytkownika i zadziałało !!
Mam nadzieję, że to komuś pomoże.
Aby zmienić użytkownika, kliknij prawym przyciskiem myszy bazę danych, właściwości, pliki, właściciela
źródło
To naprawiło to dla mnie. Ustawia właściciela znalezionego w sekcji „pliki” okna właściwości bazy danych i jest według skryptu przygotowanego przez Management Studio.
Zgodnie z dokumentacją sp_changedbowner jest to teraz przestarzałe.
Na podstawie odpowiedzi Izraela. Odpowiedzią Aarona jest niezalecana odmiana tego.
źródło
Wybierz bazę danych - Kliknij prawym przyciskiem myszy - Wybierz Właściwości
Wybierz PLIK w lewej części strony
W polu WŁAŚCICIEL wybierz przycisk z trzema kropkami (…)
Teraz wybierz użytkownika i kliknij OK
źródło
Właśnie tego doświadczyłem. Przeczytałem sugestie na tej stronie, a także sugestie SQL Authority (czyli to samo) i żadna z powyższych nie zadziałała.
W końcu usunąłem konto i utworzyłem je ponownie (z tą samą nazwą użytkownika i hasłem). Tak po prostu wszystkie problemy zniknęły.
Niestety, oznacza to, że nie wiem, co poszło nie tak, więc nie mogę udostępniać niczego innego.
źródło
1. kliknij prawym przyciskiem myszy swoją bazę 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 wpisz (sa) w polu tekstowym właściciela
100% działa na mnie.
źródło
Łatwiejszym sposobem rozwiązania tego problemu byłoby kliknięcie prawym przyciskiem myszy nazwy bazy danych, wybranie „Nowa kwerenda”, wpisanie „exec sp_changedbowner 'sa'” i wykonanie zapytania. Wtedy będziesz gotowy.
źródło
musisz wejść jako administrator, kliknij prawym przyciskiem myszy, aby uruchomić studio zarządzania serwerem microsofft sql i uruchomić jako administrator
źródło
Wystarczy wykonać to w edytorze zapytań ALTER AUTORYZACJA W BAZIE DANYCH :: YourDatabase TO [domena \ konto];
źródło
Prawdziwym problemem jest to, że domyślny właściciel (dbo) w ogóle nie ma zmapowanego loginu. Kiedy próbowałem zmapować login sa do właściciela bazy danych, otrzymałem kolejny błąd z informacją "Użytkownik, grupa lub rola 'dbo' już istnieje ... ”. Jeśli jednak wypróbujesz ten kod, będzie on faktycznie działał:
źródło
kliknij prawym przyciskiem myszy swoją 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 wpisz (sa) w polu tekstowym właściciela. to prawdopodobnie zadziała
źródło