Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не могу подключиться к учебной базе данных Northwind.  [new]
Vassillume
Member

Откуда:
Сообщений: 4
Изучаю ADO.NET по книге. В книге
все примеры кода используют базу
данных Northwind. У меня этой
базы не было, я ее скачал. Сама
база, просто учебная и ничего
важного в ней нет. Но она мне
нужна для работы с кодом из
книги. При подключении в Visual
Studio 2010 этой базы, она не
подключается и выходит ошибка.
При подключении к этой базе из
программы выходит такая ошибка:

Не удается открыть базу данных
"NORTHWND", запрашиваемую именем
входа. Не удалось выполнить вход.
Ошибка входа пользователя
"WIN-SJTVGLOOT9E\User".

Если кто знает как можно решить
эту проблему, помогите пожалуйста
мне.
24 ноя 17, 08:28    [20979800]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
gfswg
Guest
Vassillume,

https://social.msdn.microsoft.com/Forums/ru-RU/f8e52899-fcaa-4fe4-a2b7-cf292c5b0682/-vs2013?forum=aspnetru
24 ноя 17, 08:54    [20979824]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
Vassillume,
откройте еррор лог сервера (из студии или нотепадом),
найдите там error 18456,
в соседней стррке в явном виде написана причина
24 ноя 17, 09:26    [20979861]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Yasha123
Member

Откуда:
Сообщений: 1833
но скорее всего, это даже не 18456, это просто вы не отмапили логин, под которым ходит программа, в эту базу.
зайдите на сервер под админом,
use northwind;
create user... from login...
ну и в роль его засуньте, кто вам нужкн, ридер/райтер/овнер?
24 ноя 17, 09:30    [20979869]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Vassillume
Member

Откуда:
Сообщений: 4
Yasha123, Пожалуйста объясните мне
поподробнее, как зайти на сервер. Я
еще только не давно начал изучать
работу с базами данных и не все еще
понимаю. Я посмотрел файл ERRORLOG,
вот текст ошибки:

Вход

Ошибка: 18456, серьезность: 14,
состояние: 38.

Вход

Login failed for user
'WIN-SJTVGL0OT9E\User'.

Причина: не удалось открыть
явно указанную базу данных.
[КЛИЕНТ: <local machine>]

Я не очень много что понял из
этого файла. Если вам не трудно
помогите разобраться. Я обычно в
студии из меню "Данные"
подключаюсь к серверу. Я еще не
совсем правильно и хорошо знаю
язык SQL и его синтаксис. Я читал
в нете, что можно подключиться к
серверу и выполнить команды в
командной строке, я пробовал, но
у меня не получилось, выходили
ошибки в командной строке. Я
попробую в студии ввести (как я
понял команды), но я не совсем
уверен, что нужно писать здесь:

use northwind;
create user... (а что дальше "Имя
пользователя" или что другое?)
from login... (а здесь что писать?).

Помогите пожалуйста разобраться
с моей проблемой и понять мои
ошибки.
24 ноя 17, 18:49    [20981951]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Vassillume
Изучаю ADO.NET по книге. В книге
все примеры кода используют базу
данных Northwind. У меня этой
базы не было, я ее скачал.

Вы скачали архив с бэкапом или сам бэкап SQL базы (файл .bak).
Теперь Вам нужно установить SQL сервер, развернуть на нем базу SQL (работать в студии SSMS), добавить своего локального пользователя WIN-SJTVGLOOT9E\User в logins в закладке Security, дать ему права sysadmin.
После этого Visual Studio 2010 в проекте попробует зацепиться на дефолтный инстанс MSSQLSERVER под Вашей учеткой, найдет наконец-таки сам SQL сервер, тот предоставит данные из базы данных - и все заработает.
Это если вкратце, без нюансов.
24 ноя 17, 19:14    [20982002]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Vassillume
use northwind;
create user... (а что дальше "Имя
пользователя" или что другое?)

Вы преодолели половину пути. SQL сервер установлен, база скорее всего развернута. Осталось самое малое - добавить в администраторы всех БД на это SQL сервере свою учетную Windows запись.
24 ноя 17, 19:16    [20982004]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Vassillume
Member

Откуда:
Сообщений: 4
Andy_OLAP, я вначале скачал с
сайта Microsoft базу данных,
она состоит из трех файлов:
NORTHWND.LDF, NORTHWND.LDF,
instnwnd.sql. Потом с другого
сайта я скачал другие два файла
базы данных: Northwind.bak,
northwind.sql. Я открыл в
Visual Studio 2010 файл
instnwnd.sql, подключился к
серверу, и выполнил код SQL.
На сервере в папке DATA
появились два файл northwnd.ldf,
northwnd.mdf. Сервер я сам не
устанавливал, я думаю когда,
я устанавливал Visual Studio
2010, тогда и был установлен
сервер. Если вы называете
"Развернуть базу данных",
открыть в студии файл базы
данных, подключиться к серверу,
и выполнить код SQL, значит я
ее развернул. Теперь осталось,
"добавить в администраторы всех
БД на этом SQL сервере свою
учетную Windows запись". А вот
как это сделать я к сожалению
не знаю, Если вам не трудно,
пожалуйста объясните поподробнее,
как мне это сделать. Я вообще
пока не знаю как работать с
сервером.
25 ноя 17, 02:28    [20982557]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7399
Vassillume,

емнип VS2010 содержит выбираемый специальной галкой SQL2008 express. Может быть Вы галку не установили при установке студии. VS2015 студия и выше ставил SQL LocalServer без всякого согласия.
Давно уже есть бесплатная Community редакция студии, можете ставить и экспериментировать.
25 ноя 17, 18:56    [20983262]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Vassillume
Andy_OLAP, я вначале скачал с
сайта Microsoft базу данных,
она состоит из трех файлов:
NORTHWND.LDF, NORTHWND.LDF,
instnwnd.sql. Потом с другого
сайта я скачал другие два файла
базы данных: Northwind.bak,
northwind.sql. Я открыл в
Visual Studio 2010 файл
instnwnd.sql, подключился к
серверу, и выполнил код SQL.
На сервере в папке DATA
появились два файл northwnd.ldf,
northwnd.mdf. Теперь осталось,
"добавить в администраторы всех
БД на этом SQL сервере свою
учетную Windows запись". Я вообще
пока не знаю как работать с
сервером.

Пойдем по шагам. Вы установили вместе с VS 2010 в комплекте службу управления базами данных SQL Express 2008. При установке был выбран режим смешанной авторизации - помимо внутренних SQL учетных записей (из которых самая главная, с правами суперадмина, называется "sa") можно добавлять Windows учетные записи и наделять их правами таких же суперадминистраторов внутри сервера баз даннных - что и произошло. Иначе Вы бы не смогли скриптом создать базу данных - а Вы ее создали. Файл mdf содержит данные в виде таблицы со строками и обвязку к ним на языке T-SQL (виртуальные представления таблиц "view", процедуры и функции, на диалекте, которая придумала фирма Microsoft, например, у фирмы-конкурента Oracle их диалект называется PL/SQL, у базы данных PostgreSQL - PLpg/SQL и так далее). Файл ldf содержит служебные записи по фиксации изменений с данными (это журнал, который позволяет в случае любого сбоя "отыграть" назад противоречивые изменения в разных таблицах, пока не будет достигнуто адекватное состояние во всей базе).

Теперь Вы из студии VS 2010 под своим пользователем пытаетесь соединиться с базой NORTHWND - и ничего не происходит.

Вариантов тут 4.
1. После рестарта сервера служба SQL Express оказалось в режиме ручного запуска (manual), а не автоматического - и не запустилась сама. Поэтому и сервер не ловит соединения к базе и ничего не отвечает. Нужно зайти в управление службами Windows (пункт Services раздела администрирования в панели управления) и стартануть службу. Это вряд ли, но нужно проверить.
2. Вы поменяли права доступа на каталоги NTFS, где лежат файлы базы данных и служебные файлы SQL Express - и теперь он вообще не может стартануть даже в автоматическом режиме, потому что сразу останавливается с ошибкой. Это вряд ли, но нужно проверить.
3. Вы в соединении к БД Northwind внутри VS 2010 случайно поменяли пункт - студия по дефолту соединяется с именованным инстансом ".\SQLExpress", а Вы выбрали просто ".", при этом у Вас раньше был установлен еще один инстанс с другим именем (например "MSSQLSERVER"), который и является дефолтным, а все остальные инстансы нужно явно указывать. Не указываете явно - и студия VS цепляется не к тому инстансу. Это вряд ли, но нужно проверить.
4. После установки Вы стали работать другим пользователем - ставили студию от WIN-SJTVGLOOT9E\Administrator, а работаете теперь от WIN-SJTVGLOOT9E\User. Это самый правильный вариант. Возможно, Вы скрипт в VS 2010 прогоняли, когда она была запущена от имени WIN-SJTVGLOOT9E\Administrator - поэтому база данных была создана.

В этом случае Вам нужно скачать отдельно студию SSMS для управления базами данных MSSQL. Запустить в режиме "run as administrator" или явно от имени учетной записи WIN-SJTVGLOOT9E\Administrator, далее зайти в пункт logins и добавить Windows учетную запись WIN-SJTVGLOOT9E\User в список распознаваемых сервером с правами sysadmin (максимально возможные права).
И далее работать с примерами кода в VS 2010 от имени WIN-SJTVGLOOT9E\User.

Это если очень вкратце и очень упрощенно.
25 ноя 17, 20:54    [20983440]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
Vassillume,

Что скачать последнюю нормальную версию SSMS - открываете по ссылке официальный сайт Microsoft и выбираете версию 17.2 (сборка 14.0.17177.0), она позволяет нормально работать как с установленным Вами SQL Express 2008, так и с самыми свежими версиями.
25 ноя 17, 21:11    [20983472]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
Vassillume
Member

Откуда:
Сообщений: 4
Andy_OLAP и все те кто принимал
участие в обсуждении и помогал
мне своими советами, благодарю
вас, большое вам спасибо за вашу
помощь мне!!!

Не без вашей помощи нашол решение
моей проблемы. Как я уже писал,
что я не давно начал изучать
работу с базами данных. В начале
я не мог подключиться к серверу.
В книге в коде было указано имя
сервера local и все. после
изучения проблемы я написал
такое имя сервера:
(local)\SQLEXPRESS И Я
подключился к серверу. Потом
стал вопрос с подключением к
базе данных. Я решил нужно
изучать SQL, заодно читал другую
информацию. Вот мое решение.
Я написал в блокноте такой код
на языке SQL:

sp_addlogin
@loginame=<учетная_запись>
@passwd=<пароль>
@defdb=<имя_базы_данных>

Объясню, что означают то, что
записано в угловых скобках.

<учетная_запись> - Имя
пользователя сервера.

<пароль> - Это пароль
пользователя сервера.

<имя_базы_данных> - это
имя базы данных к которой
нужно подключиться.

Например:

sp_addlogin
@loginame=AlexBrown
@passwd=398uip514jklhy
@defdb=Northwind

Потом нужно сохранить файл
с любым именем, и с расширением
.sql. Например: Моя Запись.sql

Далее я открыл этот файл в
Visual Studio через меню
"Файл" -> "Открыть". Подключился
к серверу, правой кнопкой мыши
на коде и выбрать "Соединение".
И выполнил код SQL, правой
кнопкой мыши на коде и выбрать
"Выполнить", или Ctrl+Shift+E.
После этих действий база стала
подключаться.
27 ноя 17, 18:11    [20986795]     Ответить | Цитировать Сообщить модератору
 Re: Не могу подключиться к учебной базе данных Northwind.  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Vassillume,

это у тебя экран такой маленький или в стихах пытаешься писать?
27 ноя 17, 18:12    [20986805]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить