- SQL-Ex blog
- Объекты поддержки диаграмм базы данных SQL Server Management Studio не могут быть установлены
- Проблема
- Решение
- Заключение
- Обратные ссылки
- Комментарии
- Как переименовать компьютер с MS SQL Server
- Переименование компьютера, на который установлен изолированный экземпляр SQL Server
- Переименование компьютера, на котором расположен изолированный экземпляр SQL Server
- После операции переименования
- Проверка операции переименования
- Дополнительные сведения
- Сброс удаленных входов в систему
- Служба SQL Server и служба SQL Server агентов не могут запуститься на автономный сервер
- Симптомы
- Причина
- Решение
- Дополнительные сведения
SQL-Ex blog
Новости сайта «Упражнения SQL», статьи и переводы
Объекты поддержки диаграмм базы данных SQL Server Management Studio не могут быть установлены
Проблема
В этой статье мы собираемся воспроизвести проблему и объяснить, как исправить ситуацию с сообщением об ошибке: «Объекты поддержки диаграмм базы данных не могут быть установлены, так как у базы данных отсутствует допустимый владелец.»
Решение
Предположим, что у нас на машине установлен SQL Server, после чего мы переименовали компьютер хоста с MYPC» на «DBSERVER1». В нашем примере у нас есть дефолтный экземпляр SQL Server и, как говорилось, новое имя сервера для подключения — «DBSERVER1». Если мы попытаемся создать диаграмму базы данных, например, для TestDB, то получим следующее сообщение:
Т.е. диаграмма не может быть создана, поскольку база данных не имеет допустимого владельца. Поэтому давайте проверим, кто является владельцем базы данных. Для этого щелкнем правой кнопкой на базе данных и выберем «Properties» (свойства):
Когда откроется окно свойств базы данных, на вкладке данные мы можем увидеть владельца, которым является пользователь «MYPC\Administrator»:
Мы можем найти соответствующий логин, используя ветку «Security» > «Logins». Тут мы можем обнаружить логин «MYPC\Administrator» и, если открыть его свойства, то можем увидеть, что он имеет членство в роли «db_owner» (владелец БД) для TestDB.
Мы уже знаем, что имя компьютера не «MYPC» и, следовательно, у нас не должно быть такого пользователя. В свойствах компьютера мы можем еще раз это проверить и подтвердить, что компьютер имеет новое имя — «DBSERVER1»:
Кроме того, когда мы подключаемся к экземпляру SQL Server, мы указываем новое имя сервера и используем «DBSERVER1\Administrator» в качестве логина Windows:
Можно догадаться, что «MYPC\Administrator» стало неверным именем для логина. Следовательно, нужно изменить его на правильное имя «DBSERVER1\Administrator». Мы можем сделать это, щелкнув правой кнопкой на логине и выбрав команду «Rename» (переименовать):
Теперь, после набора нового имени логина, мы можем увидеть логин «DBSERVER1\Administrator» в нашем списке логинов:
Если сейчас открыть свойства базы данных TestDB, то мы увидим, что имя владельца автоматически поменялось:
Таким образом, мы установили правильное имя для владельца базы данных, и создание диаграммы базы данных теперь должно работать.
Если повторить создание диаграммы базы данных, то мы уже не получим предыдущего сообщения об ошибке, и появится окно создания диаграммы:
Теперь мы можем успешно создать и сохранить диаграмму базы данных:
Таким образом, наша проблема легко разрешилась изменением унаследованного имени на логин Windows, который является владельцем базы данных в соответствии с новым именем компьютера хоста.
Заключение
Обратные ссылки
Нет обратных ссылок
Комментарии
Показывать комментарии Как список | Древовидной структурой
Автор не разрешил комментировать эту запись
Источник
Как переименовать компьютер с MS SQL Server
При установке Microsoft SQL Server, внутреннее имя экземпляра SQL сервера создается на основании текущего имени хоста. Однако, при переименовании компьютера/сервера, имя SQL сервера в метаданных (хранится в sys.servers ) не обновляется автоматически, в результате чего при работе с SQL могут возникать разные проблемы. В этой инструкции мы покажем, как корректно обновить метаданные в SQL и изменить имя сервера без полной переустановки MSSQL. Инструкция применима для отдельно стоящего (не кластерного) SQL Server версий от MS SQL 2000 до 2012.
Откройте консоль SQL Server Management Studio и с помощью следующего запроса проверьте текущее имя хоста и имя инстанса SQL:
Select @@ServerName ServerName, Host_name() HostName
- Имя сервера (HostName): DESKTOP-V2OE3P0
- Полное имя экземпляра SQL (ServerName): DESKTOP-V2OE3P0\SQLDB
Переименуем имя компьютер и перезагрузим его:
Rename-Computer -NewName Sql-Srv1 -Restart
После перезагрузки попробуйте подключится к старому имени сервера SQL: DESKTOP-V2OE3P0\SQLDB. Появится ошибка, ведь имя сервера изменилось.
Еще раз проверим имя хоста и имя инстанса:
Select @@ServerName ServerName, Host_name() HostName
В данном случае имя инстанса не соответствует имени компьютера и ссылается на старое имя компьютера DESKTOP-V2OE3P0.
Чтобы изменить имя для именованного экземпляра SQL, выполните следующую команду TSQL.
Удалить старое имя:
Добавим новое имя:
sp_addserver «Sql-Srv1\SQLDB», local;
GO
Если нужно сменить имя сервера у дефолтного экземпляра SQL Server команда такая:
sp_dropserver ″OldName″;
GO
sp_addserver ″NewName″, local;
GO
Если при выполнении команды sp_dropserver появится ошибка:
Скорее всего, имеются удаленные подключения к серверу DESKTOP-V2OE3P0. Сбросить их можно такими командами. Для дефолтного инстанса:
Проверим, что имя сервера в метаданных обновилось:
SELECT @@SERVERNAME AS ‘ServerName’
SELECT * FROM SYS.SERVERS
Как вы видите, имя сервера изменилось. Осталось перезапустить службу SQL Server:
net stop MSSQL$SQLDB && net start MSSQL$SQLDB
Источник
Переименование компьютера, на который установлен изолированный экземпляр SQL Server
Применимо к: SQL Server (все поддерживаемые версии) — только Windows
Если изменить имя компьютера, на котором работает SQL Server, новое имя будет распознано в момент следующего запуска SQL Server . Не нужно заново запускать программу установки, чтобы изменить имя компьютера. Вместо этого следует выполнить следующие шаги для обновления системных метаданных, хранимых в представлении каталога sys.servers и возвращаемых системной функцией @@SERVERNAME . Обновите системные метаданные таким образом, чтобы отразить в них изменения в именах компьютеров для удаленных соединений и приложений, в которых используется системная функция @@SERVERNAME или которые запрашивают имя сервера в представлении каталога sys.servers.
Следующие действия нельзя использовать для переименования экземпляра SQL Server. Ими можно воспользоваться только для изменения части имени экземпляра, соответствующей имени компьютера. Например, можно изменить имя компьютера MB1, на котором расположен экземпляр SQL Server с именем Instance1, на другое имя, например MB2. Однако часть имени, представляющая собой имя экземпляра (Instance1), останется неизменной. В данном примере \\ИмяКомпьютера\ИмяЭкземпляра изменится с \\MB1\Instance1 на \\MB2\Instance1.
Before you begin
Прежде чем приступить к процессу переименования, обратите внимание на следующее:
Если экземпляр SQL Server является частью отказоустойчивого кластера SQL Server , переименование компьютера выполняется не так, как для изолированного экземпляра. Дополнительные сведения см. в статье Переименование экземпляра отказоустойчивого кластера SQL Server.
SQL Server не поддерживает переименование компьютеров, участвующих в репликации, за исключением репликации с доставкой журналов. Компьютер-получатель в доставке журнала может быть переименован, если компьютер-источник окончательно потерян. Дополнительные сведения см. в статье Репликация и доставка журналов (SQL Server).
После переименования компьютера, настроенного для использования служб Службы Reporting Services, Службы Reporting Services могут оказаться недоступными. Дополнительные сведения см. в разделе Переименование компьютера, на котором установлен сервер отчетов.
Если компьютер настроен для использования зеркального отображения базы данных, перед его переименованием оно должно быть отключено. После этого зеркальное отображение необходимо вновь установить для нового имени компьютера. Метаданные для зеркального отображения базы данных не будут обновлены автоматически для отражения нового имени компьютера. Выполните следующие шаги, чтобы обновить системные метаданные.
Пользователи, которые подключаются к SQL Server через группу Windows, в которой имя компьютера задано жестко, могут лишиться возможности подключения к SQL Server. Это может произойти после переименования, если в группе Windows останется прежнее имя компьютера. Чтобы убедиться в том, что возможно соединение с SQL Server с использованием таких групп Windows после операции переименования, обновите группу Windows для указания нового имени компьютера.
Подключение к SQL Server с помощью нового имени компьютера станет возможно после перезапуска SQL Server. Чтобы убедиться в том, что системная функция @@SERVERNAME возвращает новое имя локального экземпляра сервера, необходимо вручную выполнить следующую процедуру, применяющуюся в сценарии пользователя. Какая именно процедура должна быть выполнена, зависит от того, установлен ли на компьютере именованный экземпляр SQL Serverили экземпляр по умолчанию.
Переименование компьютера, на котором расположен изолированный экземпляр SQL Server
Для компьютера с измененным именем, на котором установлен экземпляр SQL Serverпо умолчанию, следует выполнить следующие процедуры.
Повторно запустите экземпляр SQL Server.
Для компьютера с измененным именем, на котором установлен именованный экземпляр SQL Server, следует выполнить следующие процедуры.
Повторно запустите экземпляр SQL Server.
После операции переименования
После переименования компьютера все соединения, которые используют прежнее имя, должны подключаться с помощью нового имени.
Проверка операции переименования
Выберите данные из @@SERVERNAME или sys.servers. Функция @@SERVERNAME возвращает новое имя, а в таблице sys.servers отображается новое имя. В следующем примере показано использование @@SERVERNAME .
Дополнительные сведения
Удаленные имена входа — если на компьютере имеются удаленные имена входа, при запуске хранимой процедуры sp_dropserver может возникнуть ошибка, аналогичная следующей:
Server: Msg 15190, Level 16, State 1, Procedure sp_dropserver, Line 44 There are still remote logins for the server ‘SERVER1’.
Чтобы исправить ошибку, необходимо удалить имена для удаленного входа в систему для этого сервера.
Сброс удаленных входов в систему
В случае с экземпляром по умолчанию, выполните следующие действия:
В случае с именованным экземпляром, выполните следующие действия:
Конфигурации связанных серверов . Операция переименования компьютера повлияет на конфигурации связанных серверов. Для обновления ссылок на имена компьютеров используйте хранимые процедуры sp_addlinkedserver или sp_setnetname. Дополнительные сведения см. в статье sp_addlinkedserver (Transact-SQL) или sp_setnetname (Transact-SQL).
Имена-псевдонимы клиентов. Операция переименования компьютера повлияет на псевдонимы клиентов, в которых используются именованные каналы. Например, если псевдоним «PROD_SRVR» указывает на SRVR1 и в нем используется протокол именованных каналов, то имя канала будет выглядеть следующим образом: \\SRVR1\pipe\sql\query . После переименования компьютера путь именованного канала станет недействительным. Дополнительные сведения об именованных каналах см. в разделе Создание допустимой строки подключения, использующей протокол именованных каналов.
Источник
Служба SQL Server и служба SQL Server агентов не могут запуститься на автономный сервер
В этой статье вы можете устранить проблемы, SQL Server службы и службы агентов SQL Server может не запускаться на автономный сервер.
Оригинальная версия продукта: SQL Server
Исходный номер КБ: 307288
Симптомы
Выпуск 1. На автономных серверах служба MSSQLSERVER может не запуститься, и вы получите следующее сообщение об ошибке:
Ошибка 1068 ( служба зависимостей или группа не удалось запустить.) произошла при выполнении этой операции службы в службе MSSQLServer.
Выпуск 2. Кроме того, служба SQLServerAgent также может не запуститься, и вы получите следующее сообщение об ошибке:
Ошибка 1068 ( служба зависимостей или группа не удалось запустить.) произошла при выполнении этой операции службы в службе SQLServerAgent.
Выпуск 1 и выпуск 2 возникают, когда оба следующих условия являются верными:
- Серверный компьютер находится в группе, а не является частью домена.
- Службы MSSQLSERVER и SQLServerAgent должны использовать учетную запись домена для запуска.
Выпуск 3. На сервере участника домена служба MSSQLSERVER может не запускаться во время запуска сервера, и вы получите следующее сообщение об ошибке:
Служба MSSQLSERVER не смогла войти в систему в качестве домена\mssqlsvc с настроенным паролем из-за следующей ошибки: Source: NetLogon Description. В настоящее время нет серверов логотипов, доступных для обслуживания запроса на логотип. Служба MSSQLSERVER неожиданно завершилась.
Эта проблема возникает, когда все следующие условия верны:
- Сервер является частью домена.
- Службы MSSQLSERVER и SQLServerAgent должны использовать учетную запись домена для запуска.
- Режим запуска для MSSQLSERVER и SQLServerAgent задается автоматическим.
Причина
Проблема 1 и выпуск 2 возникает из-за того, что сервер является автономным компьютером, служба NetLogon не запускается на сервере, поэтому проверки подлинности на всей доменной основе невозможно.
Проблема 3 возникает из-за SQL Server службы перед запуском службы NetLogon.
Решение
Чтобы устранить проблему 1 и выпуск 2, выполните следующие действия:
Измените учетную запись запуска msSQLSERVER и SQLServerAgent для использования учетной записи локальной системы.
Чтобы устранить проблему 3, используйте следующие обходные пути:
Настройте запуск SQL Server на отложенный запуск для определенных Windows серверов, другие Windows, такие как NetLogon, сначала завершают и SQL Server без проблем.
Настройка SQL Server для повторного запуска, запуск может быть завершен со второй попытки запуска.
Измените значение Обнаружения дублирующих адресов (-DadTransmits) до 1 для всех сетевых интерфейсов на сервере. Дополнительные сведения см. в командной ленте Set-NetIPInterface.
Измените параметры восстановления для SQL Server и SQL Server агентов. Укажите перезапуск службы в качестве действия для параметров сбоя. Вы можете выполнить этот параметр из applet служб административных инструментов с помощью знакомых интерфейсов диспетчера управления службами.
Если отложенный вариант запуска не может исправить этот выпуск 3, вы можете добавить в службу SQL Server следующие зависимости:
- Служба помощника IP
- Служба сервера
- Служба списков сети
Можно добавить зависимости, используя следующую команду:
Дополнительные сведения
На автономных компьютерах службу NetLogon следует настроить для ручного запуска.
Источник