Я попытался создать диаграмму базы данных с помощью 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
Далее появляется erorr:
Msg 15404, уровень 16, состояние 11, строка 1 Не удалось получить информацию о группе / пользователе Windows NT «WIN-NDKPHUPPNFL \ Administrator», код ошибки 0x534.
Проблема в том, что имя ПК изменилось на «DevPC». Я также изменил это в скрипте обновления, но все равно ошибка 15404.
Что я могу сделать, чтобы исправить эту досадную ошибку?
alter authorization on database::[db_name] to [sa]
, а затем 2) снова запустить эту же команду и заменить[sa]
ее пользователем, которому принадлежала база данных сразу после восстановления.Ответы:
Вы должны рассмотреть учетную запись аутентификации SQL для владения базой данных; тогда вам не нужно беспокоиться о приходе и уходе учетных записей, перемещении баз данных или экземпляров на другие серверы, а также об изменении имени вашего следующего компьютера. У меня есть несколько систем, в которых мы используем:
Или, если вы хотите изменить владельца этой учетной записи локального администратора, это должно быть:
Поскольку переименование машины в
DevPC
устранило локальную учетную запись, которая раньше была названа,WIN-ND...\Administrator
и это также сделало недействительным текущего владельца базы данных.Если
SELECT @@SERVERNAME;
это неточно (должно быть сказаноDevPC
), то, чтобы гарантировать, что переименование вашего сервера закрепилось в SQL Server, вы также можете выполнить следующее:источник
sa
если у вас отключена аутентификация sql?[sa]
а затем вернул его пользователю, который сказал, что это было раньше, и альт, больше никаких ошибок. Не уверен, почему при восстановлении базы данных не был правильно установлен владелец базы данных ...В SQL Server Management Studio выполните следующие действия:
после этого вы сможете получить доступ к диаграммам базы данных.
источник
Оно работает.
источник
Введите "SA" вместо "sa" в текстовое поле владельца. Это сработало для меня.
источник
У меня такая же проблема.
Я хотел посмотреть дома свою схему, которую создал в тот же день на работе. Но я не мог из-за этого сообщения.
Я обнаружил, что владельцем базы данных был пользователь моего компьютера, как и ожидалось. но поскольку компьютер находится в домене компании, а я не подключен к сети компании, база данных не смогла определить владельца.
Я сменил владельца на локального пользователя, и это сработало !!
Надеюсь, это кому-нибудь поможет.
Вы меняете пользователя, щелкнув правой кнопкой мыши базу данных, свойства, файлы, владельца
источник
Это исправило это для меня. Он устанавливает владельца, указанного в разделе «файлы» окна свойств базы данных, и выполняется в соответствии со сценарием студии управления.
Согласно документации sp_changedbowner, теперь это устарело.
На основании ответа Израиля. Ответ Аарона - это не устаревший вариант этого.
источник
Выберите базу данных - щелкните правой кнопкой мыши - выберите Свойства
Выберите ФАЙЛ в левой части страницы
В поле ВЛАДЕЛЕЦ выберите кнопку с тремя точками (…) внутри
Теперь выберите пользователя и нажмите ОК.
источник
Я только что испытал это. Я прочитал предложения на этой странице, а также предложения SQL Authority (что одно и то же), и ничего из вышеперечисленного не сработало.
В конце концов, я удалил учетную запись и создал заново (с тем же именем пользователя и паролем). Просто так все проблемы ушли.
К сожалению, это означает, что я не знаю, что пошло не так, поэтому больше не могу поделиться.
источник
1. Щелкните правой кнопкой мыши свою базу данных, 2. Затем выберите свойства. 3. Выберите опцию в уровнях совместимости, выберите sql 2008 [100], если вы работаете с Microsoft sql 2008.
4. Затем выберите файл и напишите (sa) в текстовом поле владельца
У меня 100% работает.
источник
Более простой способ решить эту проблему - щелкнуть правой кнопкой мыши имя вашей базы данных, выбрать «Новый запрос», ввести «exec sp_changedbowner 'sa'» и выполнить запрос. Тогда тебе будет хорошо идти.
источник
вы должны войти как администратор, щелкнуть правой кнопкой мыши в студии управления сервером microsofft sql и запустить как администратор
источник
Нужно только выполнить его в редакторе запросов. ALTER AUTHORIZATION ON DATABASE :: YourDatabase TO [domain \ account];
источник
Реальная проблема заключается в том, что владелец по умолчанию (dbo) вообще не имеет имени, сопоставленного с ним. Когда я попытался сопоставить имя входа sa с владельцем базы данных, я получил еще одну ошибку с указанием «Пользователь, группа или роль« dbo ». уже существует ... ". Однако, если вы попробуете этот код, он действительно будет работать:
источник
щелкните правой кнопкой мыши на вашей базе данных, затем выберите свойства. выберите опцию в уровнях совместимости, выберите sql 2005 [90] вместо 2008, если вы работаете с Microsoft sql 2008. затем выберите файл и напишите (sa) в текстовое поле владельца. это сработает наверное
источник