Объекты поддержки диаграммы базы данных не могут быть установлены… нет действительного владельца

Я попытался создать диаграмму базы данных с SQL Server 2008, но произошла ошибка:

Невозможно установить объекты поддержки диаграмм базы данных, поскольку у этой базы данных нет действительного владельца. Чтобы продолжить, сначала используйте страницу «Файлы» диалогового окна «Свойства базы данных» или инструкцию ALTER AUTHORIZATION, чтобы установить для владельца базы данных действительный логин, а затем добавьте объекты поддержки диаграмм базы данных.

Затем я попробовал следующее:

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

Появится следующее сообщение об ошибке:

Сообщение 15404, Уровень 16, Состояние 11, Строка 1 Не удалось получить информацию о группе Windows NT / пользователе 'WIN-NDKPHUPPNFL \ Administrator', код ошибки 0x534.

Проблема в том, что имя ПК изменилось на «DevPC». Я также изменил это в скрипте обновления, но все равно та же ошибка 15404.

Что я могу сделать, чтобы исправить это раздражает ошибка?

129
задан Tim Abell 16 October 2014 в 10:19
поделиться

1 ответ

Вы должны рассмотреть учетную запись аутентификации SQL для собственности базы данных; Тогда вам не нужно беспокоиться о счетах и ​​идти, базах данных или экземплярах, переходящих на разные серверы, и ваше следующее изменение имени ПК. У меня есть несколько систем, где мы используем:

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

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

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

, потому что переименование машины на devpc устранило локальную учетную запись которые были названы Win-ND ... \ Administrator , и это также недействило нынешний владелец базы данных.

Если выберите @@ ServerName; не точен (он должен сказать devpc ), затем, чтобы убедиться, что ваш сервер переименовать в SQL Server, вы также можете также Хотите выдать следующее:

EXEC sp_dropserver @server = N'old server name';
GO
EXEC sp_addserver @server = N'DevPC', @local = N'local';
GO
177
ответ дан 24 November 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: