Truecolors Ответов: 1

Как сделать так, чтобы база данных переходила в SSMS вместо localdb?


Я могу войти в SSMS под аутентификацией Windows и аутентификацией SQL Server. Но я не вижу базы данных нигде в среде SQL Server Management Studio. В Visual Studio он переходит в localDb, хотя я изменил строку подключения, чтобы создать базу данных в моей SSMS.

Иногда я вижу имя " BookServiceContext` в разделе подключения к данным в vs Server Explorer, но когда я нажимаю на соединение, я получаю это сообщение об ошибке

> Не удается открыть базу данных "BookServiceContext", запрошенную логином. Вход в систему не удался.
Не удалось войти в систему для пользователя 'MLS\AAnwar'.


Что я могу сделать, чтобы он шел к нужному соединению в моей SSMS?

Что я уже пробовал:

Я изменил строку подключения к серверу SSMS, но база данных по-прежнему создается в localDb. Я, кажется, не могу понять, почему?

<!--<add name="BookServiceContext" connectionString="Data Source=(localdb)\MSSQLLocalDB; Initial Catalog=BookServiceContext-20170328200803; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|BookServiceContext-20170328200803.mdf"
      providerName="System.Data.SqlClient" />-->

    <add name="BookServiceContext" connectionString="Data Source=AA5570LT;Initial Catalog=BookServiceContext;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

Dave Kreskowiak

SSMS-это не движок базы данных, так что вы не имеете никакого смысла. Движками являются LocalDB, SQLExpress и SQL Server Data Engine. SSMS - это среда SQL Server Management Studio, а не компонент database engine.

Вашим "источником данных" должно быть DNS-имя или IP-адрес SQL-сервера. Так что же это за "АА5570ЛТ" ты туда положил?

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

Member 13059365

AA5570LT - это мое имя сервера SSMS. Прошу прощения, если я не использую правильные термины, я просто пытаюсь учиться. Я хочу, чтобы база данных находилась под моим подключением к данным SSMS в Visual Studio, а не в LocalDB.

У меня есть такая настройка строки подключения для всех моих проектов в VS.

CHill60

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

Member 13059365

Да, это именно "АА5570ЛТ". Это мое имя сервера.

CHill60

Тогда почему вы думаете, что подключаетесь к LocalDb?

[no name]

Я не вижу его в своих базах данных SSMS. И когда я пытаюсь получить данные в PostMan для API, я получаю пустой массив.

CHill60

"Я не вижу его в своих базах данных SSMS"... возможно, вам придется поискать другие базы данных, если вы имеете в виду AA5570LT. Я бы на самом деле не ожидал увидеть LocalDb в моем списке на SSMS. То, что вы не видите его в SSMS, не означает, что ваша программа не подключается к нему.
Когда вы пытаетесь получить данные из базы данных и терпите неудачу, это не обязательно означает, что вы подключились не к той базе данных.
Ваш вопрос очень запутан - ваша проблема только в том, что вы загрузили SSMS и не можете подключиться к своей базе данных на сервере AA5570LT? Это полное имя экземпляра SQL server?

1 Ответов

Рейтинг:
12

Truecolors

После того, как я работал над этой проблемой в течение последних 2 дней, наконец-то она заработала. Все, что мне нужно было сделать, это установить проект как "стартовый проект" в обозревателе решений, и он исправил эту проблему. База данных была создана на нужном сервере со всеми данными.


Dave Kreskowiak

Настройка "Startup Project" не имеет абсолютно никакого отношения к базам данных. Он просто сообщает Visual Studio, какой проект в вашем решении следует запустить, когда вы запускаете приложение под отладчиком.