2013-09-20 5 views
0

У меня есть резервная копия из производственной базы данных, которую я восстанавливаю на своем локальном компьютере.владелец базы данных пуст после восстановления базы данных?

Но когда я пытаюсь создать диаграмму, у меня есть сообщение, где замечена проблема с авторизацией. Хорошо, я пошел, чтобы изменить владельца базы данных, щелкнуть правой кнопкой мыши по базе данных, выбрать «Файлы», и я заметил, что поле владельца пуста.

Почему это пусто?

ответ

1

Это, скорее всего, потому, что логин, который был установлен как владелец на рабочем сервере, не существует на сервере, на котором вы его восстановили.

Вы можете воссоздать это, создав логин, скажем «test_user», создав базу данных и сделав «test_user» владельцем.

Сохраните базу данных, удалите ее, а затем удалите логин «test_user».

Восстановите базу данных, которую вы удалили, теперь владелец будет пустым.

0

У меня возникла эта проблема, после чего поняли, что это повлияет на несколько баз данных, поэтому мне нужно было найти способ обнаружения баз данных, используя последние SQL SSMS 17. Я обнаружил, что если бы я был человеком, который восстановил базу данных что обычные предложения sp_helpdb и т. д. не работают, поскольку они заполняют имя владельца своим собственным именем пользователя, но поле «владелец» по-прежнему пусто на вкладке «Файлы» свойств базы данных.

Я использовал SQL Profiler и обнаружил, что он использует:

use MyDatabaseThatsMissingItsOwner; 
select suser_sname((select sid from sys.database_principals where name = N'dbo')); 

для заполнения этого поля, и подсказывать, что на самом деле будет возвращать пустую строку, если первоначально владелец отсутствует.

Смежные вопросы