Jak zmienić właściciela bazy danych SQL Server?
Gdy przypadkowo klikam na zakładkę diagramy bazy danych, pojawia się jeden z następujących błędów:
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.
- - - LUB - - -
The baza danych nie posiada jednego lub więcej z obiektów pomocniczych wymaganych do korzystania tworzenie diagramów baz danych. Czy chcesz stworzyć je?
Jaka jest składnia zmiany właściciela tej bazy danych na 'sa'?
4 answers
Aby zmienić właściciela obiektu spróbuj wykonać następujące czynności
EXEC sp_changedbowner 'sa'
To jednak nie jest Twój problem, aby zobaczyć diagramy, należy utworzyć obiekty Da Vinci Tools (zobaczysz tabele i procs zaczynające się od dt_) po tym
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
2009-04-20 18:17:26
Aby zmienić właściciela bazy danych:
ALTER AUTHORIZATION ON DATABASE::YourDatabaseName TO sa
Począwszy od SQL Server 2014 nadal możesz używać sp_changedbowner
, mimo że Microsoft obiecał usunąć go w" przyszłej " wersji po SQL Server 2012. Usunęli go jednak z SQL Server 2014 BOL.
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-28 04:57:14
Jest to znak zachęty do utworzenia kilku obiektów, takich jak sp_help_diagram (?), które nie istnieją.
To nie powinno mieć nic wspólnego z właścicielem db.
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
2009-04-20 18:17:20
Oto sposób na zmianę właściciela we wszystkich DBS (z wyjątkiem systemu)
EXEC sp_msforeachdb'
USE [?]
IF ''?'' <> ''master'' AND ''?'' <> ''model'' AND ''?'' <> ''msdb'' AND ''?'' <> ''tempdb''
BEGIN
exec sp_changedbowner ''sa''
END
'
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-04-28 18:23:54