Не удается получить доступ к моей базе данных, созданной с помощью Visual Studio?

Я создал базу данных emailDatabase, ее хранящуюся в

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

В Visual Studio я использую Server Explorer, нажмите кнопку добавления нового подключения.

Появится диалоговое окно добавления соединения.

Под именем сервера я использую раскрывающийся список и выберите DEV-5\SQLEXPRESS. Я использую проверку подлинности Windows.

В разделе Connect to внизу снизу отображается: Master, Model, msdb и tempdb и не отображается мой emailDatabase.

Итак, я выбираю Attach Database File и выбираю просмотр и следую за ним

local C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA

и выберите мою базу данных электронной почты.

Произошла следующая ошибка:

emailDatabase
У вас нет разрешения на открытие этого файла.
Чтобы получить разрешение, свяжитесь с владельцем файла или администратором.

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

Когда я создал свою базу данных, я щелкнул правой кнопкой мыши по базам данных в SQL Server Management Studio и сказал новую базу данных, затем добавил столбцы с запросом. затем сохраните файл.

Как я могу получить копию моего файла базы данных со всеми разрешениями, которые мне нужно использовать в visual Studio??

Ответ 1

Когда вы создаете базу данных на сервере (используя SQL Server Management Studio), вам больше не нужно (и не должно!) скручиваться с файлами базы данных - пусть дескриптор сервера для вас.

Вместо этого выполните следующее: Добавить соединение в Visual Studio, а затем укажите экземпляр сервера (DEV-5\SQLEXPRESS) и имя базы данных (emailDatabase) в диалоговом окне подключения.

При этом вы подключаете и используете базу данных SQL Server так, как планировалось использовать, - на самом экземпляре SQL Server. Это намного проще и гораздо меньше хлопот, чем бороться с "свободно плавающими" .mdf файлами и прикреплять их к вашим решениям и тому подобное....

enter image description here

Итак, вот - заполните DEV-5\SQLEXPRESS в раскрывающемся списке "Имя сервера", а затем используйте опцию "Выбрать или ввести имя базы данных" и введите имя своей базы данных (или выберите ее из раскрывающегося списка) - она ​​должна быть там!

НЕ используйте параметр "Прикрепить файл базы данных" - это свободно плавающая функция .mdf, которая довольно неуклюжая и трудная в использовании и подвержена ошибкам - снова: я рекомендуем не, используя это...

Ответ 2

Я думал, что понял, но проблемы продолжают всплывать. Итак...

IGNORE ВСЕ НИЖЕ ЭТО ЛИНИЯ.

После нескольких часов работы я наконец понял, как использовать SSMS для подключения к базе данных SQLServer 2008, которая была создана в VS2010, и это относительно просто. Но из числа оставшихся без ответа вопросов повсюду не задокументировано. Вот как это сделать:

  • В VS щелкните правой кнопкой мыши проект в SolutionExplorer и выберите Добавить новый элемент, затем выберите Data, затем базу данных SQLServer. Он предложит вам сохранить его в папке app_data и создать для вас папку, если она не существует.

  • Найдите файл Ssms.exe(в моей системе он находится в папке C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE

  • Щелкните правой кнопкой мыши Ssms.exe и выберите "Запуск от имени администратора".

  • После открытия SSMS вы можете прикрепить проект MDF. Он будет теперь включен в ваш список баз данных. Имя базы данных - это идентификатор GUID.

  • Вы даже можете запустить aspnet_regsql для базы данных, чтобы добавить таблицы членства и sprocs.

ВАЖНО! Вы можете управлять этой базой данных с помощью EITHER SMSS ИЛИ VS, но не одновременно одновременно. Если вы связываетесь с базой данных из VS с помощью ServerExplorer, вы нарушите соединение SSMS. Чтобы исправить это, вам нужно будет отсоединить и повторно подключить базу данных.

Ответ 3

Имел ту же проблему, и я понял, что проблема не в VS2010, а на моем SQLserver.
Мое имя экземпляра - это OMAFANO, и то, к чему мой MSSQL подключился под именем сервера. Теперь вот catch, нажмите на него и подключитесь к OMAFANO\SQLEXPRESS и создайте все свои базы данных и таблицы там, если вы хотите, чтобы они отображались в VS2010, как указано здесь. Поэтому под именем сервера в VS2010 также напишите INSTANCENAME\SQLEXPRESS, если вы хотите увидеть свои недавно созданные базы данных и т.д. Посмотрите на изображение:
enter image description here

Ответ 4

Запустите Visual Studio как администратор Перейдите к экземпляру Visual Studio i.e С#, С++ и т.д. Щелкните правой кнопкой мыши > Запуск от имени администратора

Затем теперь он может работать

Ответ 5

Чтобы подключиться к базе данных ssms2014 из visual studio 2013, в новом мастере подключения мне пришлось изменить "источник данных" из файла базы данных ms sql server в "поставщик данных .NET Framework для сервера sql..". Затем я смог ввести [имя компьютера] [имя пользователя] для проверки подлинности Windows.