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

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

C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA

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

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

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

на Connect to раздел в нижней части раскрывающегося списка отображается:Master, Model, msdb и tempdb и не отображается мой emailDatabase.

поэтому я выбираю Attach Database File и нажмите кнопку "Обзор" и выполните

local C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATA

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

возникает следующая ошибка :

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

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

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

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

5 ответов


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

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

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

enter image description here

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

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


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

ИГНОРИРОВАТЬ ВСЕ НИЖЕ ЭТОЙ СТРОКИ.

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

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

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

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

  4. после открытия SSMS вы можете прикрепить проект МДФ. Теперь он будет в вашем списке баз данных. Имя базы данных является идентификатором GUID.

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

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


была та же проблема, и я понял, что проблема была не в VS2010, а в моем SQLserver.
мое имя экземпляра OMAFANO, и это то, к чему мой MSSQL подключен под именем сервера. Теперь вот улов, нажмите на это и подключитесь к ОМАФАНО\SQLEXPRESS и создайте все свои базы данных и таблицы там, если вы хотите, чтобы они появились в VS2010 так, как указано там. Поэтому под именем сервера в VS2010 также напишите ИМЯ ЭКЗЕМПЛЯРА\SQLEXPRESS Если вы хотите см. вновь созданные базы данных и т. д. Взгляните на картинку:
enter image description here


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

тогда теперь это может работать


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