С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
1

Ошибка подключения с учёткой SQL

06.01.2018, 06:51. Показов 5933. Ответов 21

Author24 — интернет-сервис помощи студентам
System.Data.SqlClient.SqlException: "Не удается открыть базу данных "Storage.dbo", запрашиваемую именем входа. Не удалось выполнить вход.
При входе в систему пользователя "SQLADMIN" произошла ошибка."
Учётные данные передаю через SqlCredential. Учётные данные передаются верные (хотя возможности увидеть передаваемый пароль нет, проверил введя случайный набор букв, да и длина пароля соответствует). Учётка, как уже было замечено, SQL. Использование SQL учётки разрешено. Роли проставлены для этой учётки вообще все, какие были там. И для сервера и для этой базы в частности.
В какую сторону копать не пойму.

Строка подключения:
XML
1
2
3
4
        "ConnectionString":
            "Server=localhost,58358;
            Database=Storage.dbo;
            Integrated Security=false;"
Когда ставил аутентификацию через Integrated Security=true ошибка другая была - подключение было успешным, но что-то там другое было.

Пытался ввести учётные данные системные, от учётки live.com - просто не принимает. При чём писал логин и учётки live.com, и учётки на компе, к которой она привязана (win 10), и почтовый ящик даже писал - одинаково всё. Вот это я тоже не понял - как войти под учёткой своего Live-аккаунта?

Какие может данные показать надо?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.01.2018, 06:51
Ответы с готовыми решениями:

Почему ошибка 233 (отсутствуют процессы на концах) с учёткой SQL?
SQL Server 14.0.1000 MS SQL SMS 2017 14.0.17199.0 Вход с системной учёткой (Live.com) проходит...

Ошибка подключения к SQL Server
Доброго времени суток. Сегодня столкнулся с проблемой Windows авторизации в SQL SERVER, хотя вчера...

Ошибка подключения к SQL (SQL Server не существует, или доступ запрещен.)
Привет Всем уважаемые форумчане! Вопрос такой, у себя на ПК (На котором пишу программу) -...

Авторизация под учеткой SQL с удаленного компа
Всем привет! Подскажите возможно или нет подключатся к базе с удаленного компьютера используя...

21
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
06.01.2018, 07:34 2
Цитата Сообщение от SrgKord Посмотреть сообщение
Не удается открыть базу данных "Storage.dbo
что такое Storage.dbo?
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
06.01.2018, 11:03  [ТС] 3
Цитата Сообщение от qwertehok Посмотреть сообщение
что такое Storage.dbo?
Э, ну у меня была другая проблема с подключением, нагуглил на каком-то форуме ответ, проблему решил, а база данных вот именно так и была там записана. Думаете, стоит просто Storage написать?

Добавлено через 4 минуты
Написал Database=Storage; - теперь просто:
System.Data.SqlClient.SqlException: "При установлении соединения с SQL Server произошла ошибка, связанная с сетью или с определенным экземпляром. Сервер не найден или недоступен. Убедитесь, что имя экземпляра указано правильно и что на SQL Server разрешены удаленные соединения. (provider: TCP Provider, error: 0 - Удаленный компьютер отклонил это сетевое подключение.)"
Добавлено через 2 минуты
Написал Database=dbo.Storage - аналогично
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
06.01.2018, 11:24 4
Database это имя базы, просто имя, пишите как оно у вас есть

теперь с подключением
Цитата Сообщение от SrgKord Посмотреть сообщение
"Server=localhost,58358;
что такое 58358?
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
06.01.2018, 13:46  [ТС] 5
Цитата Сообщение от qwertehok Посмотреть сообщение
что такое 58358?
Это номер порта. Там же вычитал, что можно порт через зпт написать. Посмотрел, как проверить действующий порт, и записал здесь.

Но попробовал и без порта. И вовсе убрал запись Server, т.к. на msdn было сказано, что если не указывать, то будет подключаться к локальному.
Без порта ошибка такая же как и выше. Ещё такая приписка после текста описания ошибки:
Win32Exception: Не удается найти указанный файл
Получилось!

Написал так:
"Server=DESKTOP-N3HG1RC\\SQLEXPRESS;
Database=Storage;
Integrated Security=false;"
Добавлено через 4 минуты
Ладно, с подключением SQL-учётки разобрался. Осталось не ясно, как войти под виндовой учёткой. При текущих параметрах - когда удалось подключиться, я вводил свои учётные данные, опять, короткое имя учётки, имя локальной виндовой учётки, и почтовый ящик. Во всех случаях данные отклоняются.
Может там надо что-то типа домена указать?

Добавлено через 1 минуту
Ещё, да, хочу обратить внимание всех, кто будет это читать решая такую же проблему:
Не пишите localhost, localdb, (local), 127.0.0.1, пишите только полное имя вашего сервера в формате ИМЯ МАШИНЫ\\ИМЯ СЕРВЕРА
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
06.01.2018, 14:06 6
Цитата Сообщение от SrgKord Посмотреть сообщение
Это номер порта.
почему вы не посмотрели какой порт использует MSSQL?

Цитата Сообщение от SrgKord Посмотреть сообщение
Не пишите localhost
если писать Localhost то все работает, а вот Local и localdb не нужно писать

Цитата Сообщение от SrgKord Посмотреть сообщение
Может там надо что-то типа домена указать?
нужно указать что нужно использовать доменную аутентификацию
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
06.01.2018, 14:25  [ТС] 7
Цитата Сообщение от qwertehok Посмотреть сообщение
почему вы не посмотрели какой порт использует MSSQL
Так наоборот, посмотрел:
SQL
1
2
3
4
USE MASTER
GO
xp_readerrorlog 0, 1, N'Server is listening on'
GO
Цитата Сообщение от qwertehok Посмотреть сообщение
если писать Localhost то все работает, а вот Local и localdb не нужно писать
Только что проверил - не то. Всё равно не пускает.

Добавлено через 1 минуту
Цитата Сообщение от qwertehok Посмотреть сообщение
нужно указать что нужно использовать доменную аутентификацию
Integrated Security=true - это вот чтоли?
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
06.01.2018, 14:36 8
Цитата Сообщение от SrgKord Посмотреть сообщение
Так наоборот, посмотрел:
посмотрел, но не то
https://www.osp.ru/winitpro/2014/08/13042170

Цитата Сообщение от SrgKord Посмотреть сообщение
Только что проверил - не то. Всё равно не пускает.
см картинку, меня пускает

Цитата Сообщение от SrgKord Посмотреть сообщение
это вот чтоли?
Trusted_connection - не оно?
Миниатюры
Ошибка подключения с учёткой SQL  
0
3548 / 2122 / 752
Регистрация: 02.06.2013
Сообщений: 5,146
06.01.2018, 14:57 9
Цитата Сообщение от SrgKord Посмотреть сообщение
Там же вычитал, что можно порт через зпт написать. Посмотрел, как проверить действующий порт, и записал здесь.
Перезагрузите комп и порт станет другой. Так и будете все время строку соединения править?
Читайте что такое служба SQL Server Browser.
Цитата Сообщение от SrgKord Посмотреть сообщение
И вовсе убрал запись Server, т.к. на msdn было сказано, что если не указывать, то будет подключаться к локальному.
Нужно различать именованный и неименованный (дефолтный) экземпляр.
У вас именованный, поэтому указывать сервер нужно обязательно.
Цитата Сообщение от SrgKord Посмотреть сообщение
Осталось не ясно, как войти под виндовой учёткой.
Достаточно написать Integrated Security = true. Учетные данные указывать не нужно. Всегда используются текущие.
Цитата Сообщение от SrgKord Посмотреть сообщение
Не пишите localhost, localdb, (local), 127.0.0.1, пишите только полное имя вашего сервера в формате ИМЯ МАШИНЫ\\ИМЯ СЕРВЕРА
Не нужно свой неудачный опыт обобщать на остальной мир.
Еще раз - у вас именованный экземпляр. Поэтому писать нужно не localhost, а localhost\SQLEXPRESS или (local)\SQLEXPRESS или .\SQLEXPRESS
localdb да, совсем из другой оперы.
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 05:52  [ТС] 10
Цитата Сообщение от qwertehok Посмотреть сообщение
посмотрел, но не то
Ну, видимо, порт у меня 1433. Но и с этим портом подключения тоже не было, проверял.

Цитата Сообщение от qwertehok Посмотреть сообщение
Trusted_connection - не оно?
Синонимы ж вроде.

Цитата Сообщение от invm Посмотреть сообщение
Достаточно написать Integrated Security = true. Учетные данные указывать не нужно. Всегда используются текущие.
Это если я буду подключаться со своей машины. А если, ну гипотетически, что я буду подключаться в коде с другой машины к базе, расположенной на моей машине, тогда этот трюк уже не пройдёт, надо будет ввести учётные данные.

Цитата Сообщение от invm Посмотреть сообщение
Еще раз - у вас именованный экземпляр. Поэтому писать нужно не localhost, а localhost\SQLEXPRESS или (local)\SQLEXPRESS или .\SQLEXPRESS
localdb да, совсем из другой оперы.
Попытаюсь ещё раз проверить все эти варианты.
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
07.01.2018, 07:09 11
Цитата Сообщение от SrgKord Посмотреть сообщение
А если, ну гипотетически, что я буду подключаться в коде с другой машины к базе, расположенной на моей машине, тогда этот трюк уже не пройдёт, надо будет ввести учётные данные.
если компы в домене, и при установке (при работе сервиса) использован пользователь домена, то не нужно
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 07:42  [ТС] 12
Цитата Сообщение от qwertehok Посмотреть сообщение
если компы в домене, и при установке (при работе сервиса) использован пользователь домена, то не нужно
На счёт домена - понятно. Но у нас маленький отдел из пяти человек, и домен поднимать никто как-то пока не догадался =)
Работаем в локалке.
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
07.01.2018, 07:45 13
Цитата Сообщение от SrgKord Посмотреть сообщение
и домен поднимать никто как-то пока не догадался =)
профессионалы, что же говорить

Цитата Сообщение от SrgKord Посмотреть сообщение
Работаем в локалке.
тогда я совсем не понимаю ваше желание использовать авторизацию винды
сделайте себе 5 пользователей в SQL и все
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 07:48  [ТС] 14
Цитата Сообщение от qwertehok Посмотреть сообщение
тогда я совсем не понимаю ваше желание использовать авторизацию винды
Ну это принципиально =) это же должно быть возможно

Добавлено через 50 секунд
Цитата Сообщение от qwertehok Посмотреть сообщение
профессионалы, что же говорить
А нам оно зачем? ^_^ Разве мы какие-то плюшки от этого получим?
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
07.01.2018, 07:56 15
Цитата Сообщение от SrgKord Посмотреть сообщение
Ну это принципиально =) это же должно быть возможно
это возможно, настраивайте

Цитата Сообщение от SrgKord Посмотреть сообщение
Разве мы какие-то плюшки от этого получим?
конечно, сквозная авторизация как минимум
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 08:28  [ТС] 16
Цитата Сообщение от qwertehok Посмотреть сообщение
конечно, сквозная авторизация как минимум
Т.е. вы полагаете, что на маленький отдел имеет смысл заморочиться, и настроить домен?
У вас так и сделано?
0
5571 / 4422 / 1079
Регистрация: 29.08.2013
Сообщений: 27,662
Записей в блоге: 3
07.01.2018, 08:35 17
я уверен что вашу задачу можно решить несколькими способами
но я не знаю ни вашу задачу, ни возможности

Цитата Сообщение от SrgKord Посмотреть сообщение
У вас так и сделано?
не работал в маленьких организациях, не представляю себе сеть без домена)
0
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 09:32  [ТС] 18
Цитата Сообщение от qwertehok Посмотреть сообщение
не работал в маленьких организациях, не представляю себе сеть без домена)
Ну, это как домашняя сеть - нет необходимости ни групповые политики создавать, ни учётки, ни роли т.к. все ресурсы в сети прятать не от кого.
0
3548 / 2122 / 752
Регистрация: 02.06.2013
Сообщений: 5,146
07.01.2018, 12:41 19
Цитата Сообщение от SrgKord Посмотреть сообщение
А если, ну гипотетически, что я буду подключаться в коде с другой машины к базе, расположенной на моей машине, тогда этот трюк уже не пройдёт, надо будет ввести учётные данные.
Это не трюк. Вы просто не понимаете как работает Windows-аутентификация. Всегда используются учетные данные потока инициатора соединения. Принципиально невозможно эти учетные данные "внести".

Поэтому, чтобы Windows-аутентификация работала вне домена, на клиентском и серверном компьютере необходимо создать идентичные логин и пароль.
1
49 / 31 / 2
Регистрация: 14.02.2013
Сообщений: 677
07.01.2018, 17:26  [ТС] 20
Цитата Сообщение от invm Посмотреть сообщение
Это не трюк. Вы просто не понимаете как работает Windows-аутентификация. Всегда используются учетные данные потока инициатора соединения. Принципиально невозможно эти учетные данные "внести".
Поэтому, чтобы Windows-аутентификация работала вне домена, на клиентском и серверном компьютере необходимо создать идентичные логин и пароль.
Ага, понятно. Кароче, если к базе будет подключаться другая машина, то без SQL-учётки не обойтись.
0
07.01.2018, 17:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2018, 17:26
Помогаю со студенческими работами здесь

Ошибка подключения к БД SQL
Пытаюсь в проекте C# WinForms подключиться к БД SQL , выходит ошибка как на скрине. Из-за чего это...

Ошибка подключения к MS SQL
Добрый день, пытаюсь подключиться к MS SQL серверу через PHP. При подключении вылазит такое Call to...

Ошибка подключения к sql server
Пытаюсь к приложению на c# в visual studio подключить базу данных на sql server 2014 что значит...

Ошибка подключения к MS Sql Server
Привет! Прошу помощи в установлении соединения с БД MS SQL SERVER mass = gcnew...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru