Меню

Sql server 2019 произошла ошибка группа пользователи системного монитора не существует


У меня есть тестовая база данных, с которой у меня возникают проблемы с разрешениями.
Я не могу получить доступ к базе данных отчетов, и в справочной документации приложения сказано следующее:

Resolution: 

1. Launch the SQL Server Management Studio and connect to the database server(s) hosting   the Vision and Reporting Server databases. 
2. Expand the security folder. 
3. Select logins and right click on the <username> user and choose properties. 
4. Click the User Mapping tab 
5.Make sure the following databases are selected in the Users mapped to this Login:

    ReportServer
    ReportServerTempDB
    Your Vision databases
    This maps the login/user to the respective databases.
6. As you select each database (including your Vision database), select the db_owner role in the Database role membership for: section. You must select this option for each database.

Когда я делаю это, я получаю следующую ошибку:

"Create failed for user '<servername><username>'.  User, group, or role '<servername><username>' already exists in the current database. (Microsoft SQL Server, Error: 15023)"

Я погуглил эту ошибку и попробовал следующую команду в каждой базе данных:

 ALTER USER [<username>] WITH LOGIN = [<username>] 

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

Что мне не хватает?

За комментарий Кина (спасибо) я попробовал это: — Я щелкнул правой кнопкой мыши по пользователю и выбрал: Script Login As> Drop and Create To> New query window. — Я выполнил полученный запрос и попытался сопоставить роли пользователей, снова выбрав две другие базы данных и db_owner, но все равно получаю то же сообщение об ошибке, что и выше.

Мысли ??

Ответы:


Есть несколько вещей, которые вы можете попробовать, и успех каждого из них, вероятно, будет зависеть от того, какую роль сервера вы выполняете.

Начнем с того, что если это всего лишь один или два пользователя, то, честно говоря, самый простой способ — удалить пользователя базы данных из восстановленной базы данных, и при условии, что уже существует существующий логин сервера, переназначить пользователя базы данных на логин сервера, используя SSMS. Если логин сервера не существует, просто создайте его, сопоставьте пользователя и presto! Понеслось.

Следующая опция: если вы переносите большое количество пользователей, используйте sp_help_revlogin. sp_help_revlogin — это хранимая процедура, поставляемая Microsoft, которая поможет перенести имена входа с одного сервера на другой, включая пароли и SID. Вот хорошая статья об этом SP_HELP_REVLOGIN




ALTER USER [<username>] WITH LOGIN=[<username>]

Это правильный подход.

В противном случае перейдите к:

Безопасность> Логины> (ваше имя пользователя)> Свойства> Отображение пользователей

введите описание изображения здесь

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

Вы можете использовать следующий запрос в контексте вашей базы данных для проверки на наличие сирот:

select
    dp.name [user_name]
    ,dp.type_desc [user_type]
    ,isnull(sp.name,'Orhphaned!') [login_name]
    ,sp.type_desc [login_type]
from   
    sys.database_principals dp
    left join sys.server_principals sp on (dp.sid = sp.sid)
where
    dp.type in ('S','U','G')
    and dp.principal_id >4
order by sp.name


перейти в основную базу данных и удалить пользователя

I have a test database that I’m having permissions issues with.
I can’t access the reporting database, and the application’s help documentation says to do the following:

Resolution: 

1. Launch the SQL Server Management Studio and connect to the database server(s) hosting   the Vision and Reporting Server databases. 
2. Expand the security folder. 
3. Select logins and right click on the <username> user and choose properties. 
4. Click the User Mapping tab 
5.Make sure the following databases are selected in the Users mapped to this Login:

    ReportServer
    ReportServerTempDB
    Your Vision databases
    This maps the login/user to the respective databases.
6. As you select each database (including your Vision database), select the db_owner role in the Database role membership for: section. You must select this option for each database.

When I do this, I get the following error:

"Create failed for user '<servername><username>'.  User, group, or role '<servername><username>' already exists in the current database. (Microsoft SQL Server, Error: 15023)"

I have googled this error and tried the following command on each database:

 ALTER USER [<username>] WITH LOGIN = [<username>] 

The message indicated that the commands completed successfully but I am still getting the above error when I try to map each database as instructed above.

What am I missing?

Per Kin’s comment (thanks) I tried this:
— I right clicked the user and selected: Script Login As > Drop and Create To > New query window.
— I ran the resulting query and tried to map the user roles by selecting the other two databases and db_owner again but I am still getting the same error message as above.

Thoughts??

  • Remove From My Forums

 locked

Ошибка при просмотре журнала системного монитора

  • Вопрос

  • Добрый вечер!

    Необходимо с одного компьютера собрать данные производительности другого компьютера (на обоих компьютерах 64-х разрядная операционная система Windows Server 2008 R2 Standard). Для этого в диспетчере сервера  (пункт «Производительность»)
    создаём группу сборщиков данных, в которой добавляем необходимые счётчики (% загруженности процессора, средняя длина очереди диска и т.д.) другого компьютера. Затем запускаем сборщик данных и,через некоторое время,
    останавливаем. После этого, при попытке открыть журнал системного монитора возникает ошибка
    «По-крайней мере один из входных двоичных файлов журнала содержит менее чем два образца данных»

    Почему возникает эта ошибка?

    Увеличение параметра «Интервал выборки» не помогает.

Ответы

  • В свойствах сборщика данных изменить учетную запись от имени которой выполняется задача с Система на пользователя домена. При этом пользователь домена должен входить в группы «Пользователи системного монитора»,
    «Пользователи журналов производительности», «Читатели журналов событий». По идее все эти права есть у администраторов, но будучи членом группы администраторов,
    удаленно я не смог собрать данные, пока не был добавлен в эти группы, хотя локально все работало.

    Не стоит забывать что членство в группе обновляется после входа пользователя в систему.  Если машин несколько, то стоит, пожалуй, сделать это с помощью групповой политики,

    • Помечено в качестве ответа

      17 декабря 2014 г. 9:20

  • #1

Добрый день, коллеги! Помогите с проблемой — не получается выполнить план обслуживания SQL server 2019. Ошибка внутри Агента

Сообщение
[298] Ошибка SQLServer: 15404, Не удалось получить сведения о пользователе или группе Windows NT «DOMENJulia», код ошибки: 0x5. [SQLSTATE 42000] (ConnIsLoginSysAdmin)

Подскажите что не так…

Последнее редактирование: 20.09.2021

  • #2

Еще вижу пару ошибок, не ясно относится это к делу или нет

Дата 20.09.2021 11:35:22
Журнал Агент SQL Server (Текущий — 20.09.2021 11:35:00)
Сообщение
[408] SQL Server MSSQLSERVER является кластеризованным сервером — возможность автозапуска (AutoRestart) отключена

Дата 20.09.2021 11:35:22
Журнал Агент SQL Server (Текущий — 20.09.2021 11:35:00)

Сообщение
[396] Не определено условие простоя процессора — расписания заданий типа OnIdle использоваться не будут

  • #3

Попробуйте использовать SA а не «DOMENJulia

  • #4

Можно попробовать пересоздать план обслуживания

  • #5

Попробуйте использовать SA а не «DOMENJulia

А где это делать ??

  • #7

Создала план обслуживания заново, заработало)

  • #8

Как я понял, это происходит из-за изменения названия домена или имени ПК (при этом изменяется имя сервера). А у пользователя остаётся предыдущее имя. Например, у вас было имя «DOMENJulia», соответственно имя сервера «DOMEN». Вы меняете имя компьютера на другое, имя сервера тоже меняется на «дргуое», а ваше имя остаётся «DOMENJulia», вместо «другоеJulia». Точнее, оно меняется, но при создании объектов в поле «владелец» записывается старое имя, которое уже не проходит проверку безопасности.

Вот что у меня сейчас и вот что показывает, когда создаю новую БД:

БД.png

Помогло изменение владельца на sa.

Я пытаюсь сопоставить свою другую БД с пользователем, выбрав
Безопасность> Логины> щелкните правой кнопкой мыши пользователя> Свойства> Сопоставление пользователей> Выберите БД> установите как db_owner, а затем ОК, но я продолжаю получать сообщение об ошибке

Пользователь, группа или роль «someuser» уже существует в текущей базе данных. (Microsoft SQL Server, ошибка: 15023)

Что вызывает ошибку и как сопоставить этого пользователя с базой данных?

6 ответов

Чтобы исправить сопоставление пользователя и входа, вам нужно открыть окно запроса в SQL Server Management Studio. Введите следующие две строки и замените myDB на имя базы данных, а myUser на правильное имя пользователя:

USE myDB

EXEC sp_change_users_login 'Auto_Fix', 'myUser'

В случае успешного запуска вы должны получить вывод, подобный этому:

The row for user '****' will be fixed by updating its login link to a login already in existence.

The number of orphaned users fixed by updating users was 1.

The number of orphaned users fixed by adding new logins and then updating users was 0.**

Теперь ваш пользователь должен быть правильно сопоставлен.

Изменить:

Новый способ разрешить/исправить пользователя-сироту:

В базе данных master используйте оператор CREATE LOGIN с параметром SID, чтобы воссоздать отсутствующий логин, указав SID пользователя базы данных.

CREATE LOGIN <login_name>   
WITH PASSWORD = '<use_a_strong_password_here>',  
SID = <SID>;  

Чтобы сопоставить потерянного пользователя с логином, который уже существует в master, выполните оператор ALTER USER в пользовательской базе данных, указав имя логина.

ALTER USER <user_name> WITH Login = <login_name>;  

Когда вы воссоздаете отсутствующий логин, пользователь может получить доступ к базе данных, используя предоставленный пароль. Затем пользователь может изменить пароль учетной записи входа с помощью инструкции ALTER LOGIN.

ALTER LOGIN <login_name> WITH PASSWORD = '<enterStrongPasswordHere>';  


123

CR241
18 Фев 2018 в 06:21

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

Вариант 2. Если вы переносите большое количество пользователей, используйте sp_help_revlogin. sp_help_revlogin — это хранимая процедура, предоставленная корпорацией Майкрософт, которая поможет перенести учетные данные с одного сервера на другой, включая пароли и SID. Вот хорошая статья об этом SP_HELP_REVLOGIN: http://www.databasejournal.com/features/mssql/article.php/2228611/Migrating-Logins-from-One-SQL-Server-to-Another.htm

Исправления кода, которые помогут его использовать: запустите следующий запрос T-SQL в Query Analyzer. Это вернет всех существующих пользователей в базе данных в панели результатов.

USE YourDB
GO
EXEC sp_change_users_login 'Report'
GO

Запустите следующий запрос T-SQL в Query Analyzer, чтобы связать логин с именем пользователя. Атрибут Auto_Fix создаст пользователя в экземпляре SQL Server, если он не существует. В следующем примере «ColdFusion» — это имя пользователя, «cf» — это пароль. Автоисправление связывает запись пользователя в таблице sysusers в текущей базе данных с логином с тем же именем в sysxlogins.

USE YourDB
GO
EXEC sp_change_users_login 'Auto_Fix', 'ColdFusion', NULL, 'cf'
GO

Запустите следующий запрос T-SQL в Query Analyzer, чтобы связать логин с именем пользователя. «Update_One» связывает указанного пользователя в текущей базе данных для входа в систему. логин уже должен существовать. необходимо указать пользователя и логин. пароль должен быть NULL или не указан

USE YourDB
GO
EXEC sp_change_users_login 'update_one', 'ColdFusion', 'ColdFusion'
GO

2) Если учетная запись входа имеет разрешение на удаление других пользователей, запустите следующий T-SQL в Query Analyzer. Это сбросит пользователя.

USE YourDB
GO
EXEC sp_dropuser 'ColdFusion'
GO

Создайте того же пользователя снова в базе данных без каких-либо ошибок.


9

NG.
26 Окт 2016 в 12:13

Если вы назначаете разрешения пользователю базы данных без предварительного сопоставления его с базой данных, он выдает упомянутую вами ошибку.

Вы должны иметь возможность удалить пользователя, сопоставить его с базой данных, а затем назначить пользователю роль db_owner.


5

knockout
26 Окт 2016 в 10:56

Сначала отбросьте своего пользователя, затем выполните приведенный ниже скрипт:

USE [YOURDB]
GO
CREATE USER [USERNAME] FOR LOGIN [USERNAME]
GO
USE [YOURDB]
GO
ALTER USER [USERNAME] WITH DEFAULT_SCHEMA=[dbo]
GO


1

sɐunıɔןɐqɐp
16 Сен 2018 в 15:27

У меня возникла проблема, когда я пытался скопировать производственную базу данных в локальную тестовую базу данных. В SSMS я обязательно отключился от производственного сервера перед выполнением сценариев на локальном. Однако, несмотря на то, что я думал, что отключился, кто-то указал, что заголовок рабочей базы данных все еще там, и я получил ошибки, что объекты уже были там. Решение состояло в том, чтобы полностью выйти из SSMS и запустить ее снова, подключившись на этот раз только к локальной тестовой базе данных.


0

Bruce Patin
13 Май 2021 в 18:05

Вы можете решить проблему, развернув базу данных -> Безопасность -> Пользователи и удалив пользователя «someuser», после этого перейдите к сопоставлению пользователей и назначьте. эта проблема возникает несколько раз, потому что пользователь базы данных «someuser» был удален из «Логин» в разделе «Безопасность» в SSMS, и база данных по-прежнему владеет этим пользователем


0

Aws Moayed
9 Май 2022 в 14:48

Содержание статьи:

    • SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером
      • Ошибка SQL-сервера 26
      • Ошибка SQL-сервера 18456
      • Не удалось запустить SQL-server — код ошибки 3417
    • Повреждена база данных
      • Код ошибки SQL-сервера 945
      • Код ошибки SQL-сервера 5172
      • Ошибка SQL-сервера 823
      • Ошибка SQL-сервера 8946
    • Другие ошибки SQL Server
      • Код ошибки SQL-сервера 1814
      • Код ошибки SQL-сервера 1067
      • SQL-сервер запускается, но работает слишком медленно

SQL-сервер не найден или недоступен, ошибки соединения с SQL-сервером

  • Если SQL-сервер не найден, убедитесь, что ваш экземпляр SQL-сервера действительно установлен и запущен. Для этого зайдите на компьютер, где он установлен, запустите диспетчер конфигурации SQL и проверьте, есть ли там тот экземпляр, к которому вы пытаетесь подключиться и запущен ли он. Нелишним будет также получить отчет об обнаружении компонентов SQL-серверов.
  • Если вы проделали п1. и не обнаружили источник проблемы, возможно, неверно указан IP-адрес компьютера или номер порта TCP. Перепроверьте их настройки.
  • Причиной того, что невозможно подключиться к SQL-серверу, также может быть сеть, убедитесь, что компьютер с SQL-сервером доступен по сети.
  • Проверьте, может ли клиентское приложение, установленное на том же компьютере, что и сервер, подключиться к SQL-серверу. Запустите SQL Server Management Studio(SSMS), в диалоговом окне “Подключиться к серверу” выберите тип сервера Database Engine, укажите способ аутентификации “Аутентификация Windows”, введите имя компьютера и экземпляра SQL-сервера. Проверьте подключение.

Обратите внимание, что многие сообщения об ошибках могут быть не показаны или не содержат достаточной информации для устранения проблемы. Это сделано из соображений безопасности, чтобы при попытке взлома злоумышленники не могли получить информацию об SQL-сервере. Полные сведения содержатся в логе ошибок, который обычно хранится по адресу C:Program FilesMicrosoft SQL ServerMSSQL13.MSSQLSERVERMSSQLLogERRORLOG, или там, куда его поместил администратор системы.

Ошибка SQL-сервера 26

Одна из наиболее часто встречающихся ошибок подключения к SQL-серверу, обычно связана с тем, что в настройках SQL-сервера не разрешены или ограничены удаленные соединения. Чтобы это исправить, попробуйте:

  • в SSMS в настройках SQL-сервера включите аутентификацию Windows
  • для брандмауэра Windows  создайте новое правило, которое разрешает подключение для всех программ и протоколов с указанного IP-адреса
  • убедитесь, что запущена служба SQL Server Browser

Ошибка SQL-сервера 18456

Эта ошибка означает, что попытка подключиться к серверу не успешна из-за проблем с именем пользователя или паролем. По коду ошибки в журнале ошибок можно узнать более точную причину, чтобы устранить ее.

Не удалось запустить SQL-server — код ошибки 3417

Возникает в случае, если были изменены настройки Windows или перемещена папка с файлами MSSQL.

  • зайдите в C:Program FilesMicrosoft SQLServerMSSQL.1MSSqLData — БезопасностьНастройки доступа — Учетная запись сетевой службы — добавьте учетную запись сетевой службы
  • проверьте, что MDF-файл не сжимается. Если это не так, отключите “Сжимать содержимое для экономии места на диске” в свойствах файла

Иногда ни один из этих способов не помогает, это значит, что файлы БД повреждены и ее придется восстанавливать из резервной копии.

Повреждена база данных

Код ошибки SQL-сервера 945

Ошибка 945 возникает, когда БД SQL-сервера помечена как IsShutdown. Проверьте, достаточно ли места на диске, достаточно ли прав у учетной записи для операций с БД, файлы MDF и LDF не должны быть помечены “Только для чтения”.

Код ошибки SQL-сервера 5172

SQL-сервер хранит свою физическую БД в первичном файле, в котором информация разбита постранично. Первая страница содержит информацию о заголовке mdf-файла и называется страницей заголовка. Она состоит из разнообразной информации о БД, такой как размер файла, подпись и т.д. В процессе прикрепления MDF на SQL-сервере часто возникает ошибка 5172. Это в основном происходит, если MDF-файл поврежден, информация в его заголовке тоже и соответственно сложно добраться до данных. Причиной может быть вирус, аварийное выключение системы, ошибка оборудования.

Ошибка SQL-сервера 823

SQL использует API Windows для операций ввода-вывода, но кроме завершения этих операций SQL проверяет все ошибки обращений к API. Если эти обращения несовместимы с ОС, появляется ошибка 823. Сообщение об ошибке 823 означает, что существует проблема с базовым оборудованием для хранения данных или с драйвером, который находится на пути запроса ввода-вывода. Пользователи могут столкнуться с этой ошибкой, если в файловой системе есть противоречия или поврежден файл базы данных.

Ошибка SQL-сервера 8946

Основной причиной ошибки 8946 так же, как и для 5172, является повреждение заголовков страниц БД SQL вследствие сбоя питания, вирусной атаки, отказа оборудования — SQL-сервер больше не может прочесть эти страницы.

Перечисленные ошибки 945, 5172, 823, 8946 можно устранить двумя методами:

  • если у вас есть свежая резервная копия базы — восстановить базу из этой копии
  • можно попробовать использовать специализированное ПО, такое как SQL Recovery Tool, чтобы восстановить поврежденные файлы

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

Другие ошибки SQL

Код ошибки SQL-сервера 1814

SQL-сервер не может создать базу данных tempdb.  Убедитесь, что на выделенном под нее диске достаточно места и что у учетной записи хватает прав для записи в указанную директорию.

Код ошибки SQL-сервера 1067

Эта ошибка может возникать по разным причинам. Наиболее часто оказывается, что повреждены или отсутствуют конфигурационные файлы, SQL-сервер обращается к поврежденным системным файлам, ошибочные данные пользователя, нет информации про лицензию. В самых тяжелых случаях придется переустанавливать SQL-сервер. Но иногда помогает восстановление поврежденных файлов или изменение настроек SQL-сервера — вы можете создать новую учетную запись в домене и использовать ее для службы MSSQL.

SQL-сервер запускается, но работает слишком медленно

Проанализируйте журнал сервера, индексы (фрагментацию), запросы, задания, возможность взаимных блокировок.  Причин может быть масса.

Мы работаем с разными версиями SQL-сервера уже много лет, знакомы со всевозможными инструкциями SQL-сервера, видели самые разные варианты его настройки и использования на проектах у своих клиентов. В целом мы можем выделить четыре основных источника неполадок:

  • Индексы — причина проблем номер один. Неправильные индексы, отсутствующие индексы, слишком много индексов и подобное. Чаще всего при проблеме с индексами пользователи или администраторы базы данных не получают сообщения об ошибке, они просто видят, что база работает очень медленно и докопаться до причин бывает очень нелегко
  • изначально плохая архитектура сервера баз данных — ошибка, которую очень сложно и дорого исправлять на этапе, когда база уже используется
  • плохой код, в котором возможны блокировки и тупиковые места
  • использование конфигурации по умолчанию,

Если у вас не получается устранить ошибки сервера SQL-server самостоятельно, если они появляются снова и снова, то скорее всего в основе лежит одна из этих причин. В таком случае — если у вас произошла ошибка с SQL сервером, ваше ПО не видит SQL-сервер, либо нужно развернуть кластер SQL-серверов — вы всегда можете обратиться за консультацией и технической поддержкой к специалистам Интегруса, отправив заявку с сайта, написав на e-mail, либо позвонив в колл-центр нашей компании.

Присоединяйтесь к нам,

чтобы получать чек-листы, реальные кейсы, а также
обзоры сервисов раз в 2 недели.

Вы можете столкнуться с ошибкой SQL Server 18456, если сервер не может аутентифицировать соединение, и это может быть вызвано недоступностью прав администратора для SQL-сервера или если протокол TCP / IP отключен в настройках SQL-сервера.

Проблема возникает, когда пользователь пытается подключиться к серверу SQL (локальному или удаленному), но обнаруживает ошибку 18456 (с разными состояниями).

Ошибка Microsoft SQL Server 18456

Вы можете исправить ошибку SQL-сервера 18456, попробовав приведенные ниже решения, но перед этим проверьте, решает ли проблему перезагрузка сервера, клиентского компьютера и сетевых компьютеров. Кроме того, убедитесь, что вы вводите правильное имя пользователя и пароль (а не копируете адрес).

Также проверьте, правильно ли вы вводите имя базы данных (без опечаток), и убедитесь, что вы соответствующим образом обновили файл конфигурации. Кроме того, проверьте, решает ли проблему разблокировка учетной записи (с помощью запроса ALTER LOGIN WITH PASSWORD = UNLOCK). Если вы видите ошибки в журнале ошибок SQL, убедитесь, что ваш SQL-сервер не атакован. И последнее, но не менее важное: убедитесь, что часы сервера и клиентского компьютера установлены правильно.

Вы можете столкнуться с ошибкой 18456, если SQL-сервер не имеет повышенных разрешений на выполнение своей операции, и запуск его от имени администратора (или отключение элементов управления UAC на сервере) может решить проблему.

Откройте SQL Server от имени администратора

  1. Щелкните Windows и введите SQL Server Management Studio.
  2. Теперь щелкните правой кнопкой мыши SMSS и выберите «Запуск от имени администратора».Запустите Microsoft SQL Server Management Studio от имени администратора.
  3. Затем нажмите Да (если получено приглашение UAC) и проверьте, не содержит ли SQL-сервер ошибки 18456.
  4. Если нет, проверьте, решает ли проблему отключение UAC на сервере.

Запуск SQL Server в однопользовательском режиме

  1. Щелкните Windows, введите и откройте диспетчер конфигурации SQL Server.
  2. Теперь щелкните правой кнопкой мыши службу SQL Server (на вкладке «Службы SQL Server») и выберите «Свойства».Откройте свойства SQL Server
  3. Затем перейдите на вкладку Параметры запуска и в поле Укажите параметр запуска введите: -m
  4. Теперь нажмите «Добавить» и примените изменения.Добавьте параметр «-m» к параметрам запуска SQL Server.
  5. Затем щелкните правой кнопкой мыши службу SQL Server и выберите «Перезагрузить».Перезапустите службу SQL Server.
  6. Теперь щелкните Windows, введите: SQL Server Management Studio, щелкните правой кнопкой мыши SMSS и выберите Запуск от имени администратора.
  7. Теперь проверьте, можете ли вы подключиться к SQL Server от имени администратора.
  8. Если это так, добавьте учетную запись домена на SQL-сервер и назначьте ей роль SysAdmin.
  9. Теперь вернитесь в окно диспетчера конфигурации SQL Server и удалите параметр -m на вкладке Параметры запуска.
  10. Затем перезапустите службу SQL Server (шаг 3) и проверьте, нормально ли работает SQL-сервер.

Если проблема не исчезнет, ​​проверьте, правильно ли настроены параметры запуска или сведения о пути. Если проблема все еще существует, убедитесь, что ваша учетная запись пользователя имеет необходимые разрешения для служб базы данных / отчетов, а затем проверьте, решена ли проблема.

Включите протокол TCP / IP в диспетчере конфигурации сервера.

Код ошибки 18456 на сервере SQL означает, что серверу не удалось аутентифицировать соединение, и это может произойти, если протокол TCP / IP, необходимый для доступа к базе данных в сети, отключен в диспетчере конфигурации сервера. В этом контексте включение TCP / IP в диспетчере конфигурации SQL Server может решить проблему.

  1. Щелкните Windows и разверните Microsoft SQL Server, указав год, например, 2008 (вам может потребоваться немного прокрутить, чтобы найти параметр).
  2. Теперь откройте диспетчер конфигурации SQL Server и нажмите Да (если получено приглашение UAC).
  3. Затем разверните сетевую конфигурацию SQL Server и выберите Протоколы для (имя сервера / базы данных) на левой панели.
  4. Теперь на правой панели дважды щелкните TCP / IP и выберите Да в раскрывающемся списке Включено.Откройте TCP / IP в протоколах конфигурации сети SQL Server
  5. Затем примените изменения и щелкните Windows.Включить TCP / IP в SQL
  6. Теперь введите «Службы», щелкните правой кнопкой мыши результат «Службы» и выберите «Запуск от имени администратора».Откройте службы в качестве администратора
  7. Затем щелкните правой кнопкой мыши SQL Server (с именем сервера) и выберите «Перезагрузить».Перезапустите службу SQL в окне служб.
  8. Теперь проверьте, очищен ли SQL-сервер от ошибки 18456.

Если это не помогло, убедитесь, что вы подключаетесь к правильному порту SQL-сервера (особенно, если вы используете сервер в многосерверной среде).

Измените режим аутентификации SQL Server

Сервер SQL может отображать ошибку 18456, если метод аутентификации сервера SQL не настроен должным образом (например: вы пытаетесь войти в систему с использованием аутентификации сервера SQL, тогда как сервер настроен на использование аутентификации Windows). В этом случае изменение метода аутентификации SQL-сервера может решить проблему. Прежде чем двигаться дальше, убедитесь, что для текущего пользователя включен статус входа в систему (например, SA).

  1. В обозревателе объектов Microsoft SQL Server Management Studio щелкните правой кнопкой мыши свой сервер и выберите «Свойства».
  2. Теперь на левой панели выберите Безопасность, а на правой панели выберите SQL Server и проверку подлинности Windows (или наоборот).Включить SQL Server и проверку подлинности Windows
  3. Затем примените изменения и в обозревателе объектов щелкните правой кнопкой мыши сервер.
  4. Теперь выберите «Перезагрузить» и после перезапуска проверьте, можете ли вы подключиться к базе данных без ошибки 18456.

Если вы не можете войти в SQL, вы можете установить MS Power Tools и выполнить следующую команду с повышенными привилегиями:

psexec.exe -i -s ssms.exe

После этого вы можете использовать учетную запись установки SQL, чтобы внести изменения, а также убедиться, что учетная запись SA не отключена:

Включите учетную запись SA и сбросьте пароль учетной записи

Если вы не можете подключиться к SQL Server, то включение учетной записи SA SQL-сервера и сброс его пароля может решить проблему.

  1. Запустите Microsoft SQL Server Management Studio (возможно, вам придется использовать учетную запись администратора домена) и разверните Безопасность.
  2. Затем дважды щелкните Logins и откройте SA.Откройте учетную запись SA в Microsoft SQL Server Management Studio.
  3. Теперь введите новый пароль и подтвердите его (убедитесь, что вы используете надежный пароль).
  4. Затем перейдите на вкладку Server Roles и убедитесь, что выбраны следующие роли: Public SysadminВключение ролей общедоступного сервера и сервера системного администратора для учетной записи SA
  5. Теперь перейдите на вкладку «Статус» и на правой панели выберите «Включено» (в разделе «Вход»).Включение учетной записи SA в SQL
  6. Затем примените изменения и нажмите кнопку Windows.
  7. Теперь введите Services и щелкните его правой кнопкой мыши.
  8. Затем выберите «Запуск от имени администратора» и перейдите к службе SQL Server.
  9. Теперь щелкните его правой кнопкой мыши и выберите «Перезагрузить».
  10. После перезапуска службы проверьте, устранена ли ошибка 18456 SQL-сервера.

Создайте новый логин и перезапустите службы Reporting Services

Если вы не можете использовать какую-либо учетную запись для подключения к базе данных, то создание новой учетной записи и перезапуск служб отчетов может решить проблему.

  1. Запустите Microsoft SQL Server Management Studio и разверните вкладку «Безопасность».
  2. Затем разверните Логины и щелкните его правой кнопкой мыши.
  3. Теперь выберите «Новый вход» и введите учетные данные (в имени входа выберите учетную запись компьютера), если используется проверка подлинности SQL Server.Создать новый логин в SQL Server
  4. Затем не забудьте снять флажок «Пользователь должен сменить пароль при следующем входе в систему» ​​и выберите базу данных.
  5. Теперь перейдите на вкладку Server Roles и выберите роль Public.
  6. Затем на вкладке «Сопоставление пользователей» обязательно выберите базу данных и выберите db_owner.Выберите db_owner для базы данных в SQL
  7. Теперь примените ваши изменения и щелкните Windows.
  8. Затем введите Services и щелкните правой кнопкой мыши результат Services. Затем выберите Запуск от имени администратора.
  9. Теперь щелкните правой кнопкой мыши службу отчетов SQL Server и выберите «Перезагрузить».Перезапустите службу отчетов SQL Server.
  10. Затем повторно подключитесь к базе данных и проверьте, очищен ли сервер SQL от ошибки 18456.

Если это так, убедитесь, что вы создали пользователя в BUILTIN administrators, и затем вы можете использовать этого пользователя для управления SQL Server. Если вы восстановили базу данных из резервной копии, будет лучше удалить и повторно добавить пользователей, чтобы удалить все старые записи пользователей. Если вы хотите запустить SQL-сервер от имени другого пользователя, введите Microsoft SQL Server в поиске Windows, Shift + щелкните правой кнопкой мыши на SQL Server и выберите «Запуск от имени другого пользователя». И последнее, но не менее важное: проверьте, решает ли проблема использование Azure Data Studio с сервером SQL.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Sql server 2008 журнал ошибок
  • Sql server 2005 ошибка 10054