Не удается получить доступ к моей базе данных, созданной в 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
файлы и прикреплять их к вашим решениям и тому подобное....
так вот-заполните DEV-5\SQLEXPRESS
в раскрывающемся списке "имя сервера", а затем используйте опцию "выбрать или ввести имя базы данных" и введите имя базы данных (или выберите его из раскрывающегося списка) - это должно быть есть!
НЕ используйте опцию "прикрепить файл базы данных" -это свободно плавающий .mdf
"функция", которая довольно неуклюжа и трудна в использовании и подвержена ошибкам-снова: я рекомендую не используя это...
Я думал, что понял это, но проблемы продолжают всплывать. Так. ..
ИГНОРИРОВАТЬ ВСЕ НИЖЕ ЭТОЙ СТРОКИ.
после нескольких часов возни я, наконец, понял, как использовать SSMS для подключения к базе данных SQLServer 2008, которая была создана в VS2010, и это относительно просто. Но из-за количества неотвеченных вопросов повсюду не очень хорошо документировано. Вот как это сделать:
в VS щелкните правой кнопкой мыши проект в SolutionExplorer и выберите Добавить новый элемент, затем выберите данные, а затем базу данных SQLServer. Он предложит вам сохранить ее в папке App_Data и создать папку для вас, если он не существует.
найти Ssms.exe-файл (в моей системе он находится в C:\Program файлы\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE
щелкните правой кнопкой мыши Ssms.exe и выберите Запуск от имени администратора.
после открытия SSMS вы можете прикрепить проект МДФ. Теперь он будет в вашем списке баз данных. Имя базы данных является идентификатором GUID.
вы даже можете запустить aspnet_regsql против базы данных, чтобы добавить таблицы членства и sprocs.
важно! Вы можете управлять этой базой данных с помощью или SMSS или VS, но не оба одновременно. Если вы возитесь с базой данных изнутри VS с помощью ServerExplorer, вы нарушите соединение SSMS. Чтобы исправить это, вы будете нужно отсоединить и снова подключить базу данных.
была та же проблема, и я понял, что проблема была не в VS2010, а в моем SQLserver.
мое имя экземпляра OMAFANO, и это то, к чему мой MSSQL подключен под именем сервера. Теперь вот улов, нажмите на это и подключитесь к ОМАФАНО\SQLEXPRESS и создайте все свои базы данных и таблицы там, если вы хотите, чтобы они появились в VS2010 так, как указано там. Поэтому под именем сервера в VS2010 также напишите ИМЯ ЭКЗЕМПЛЯРА\SQLEXPRESS Если вы хотите см. вновь созданные базы данных и т. д. Взгляните на картинку:
запустите Visual studio от имени администратора Перейдите к экземпляру Visual Studio i.e C#, C++ etc Щелкните правой кнопкой мыши > Запуск от имени администратора
тогда теперь это может работать
чтобы подключиться к базе данных ssms2014 из visual studio 2013, в новом мастере подключения мне пришлось изменить "источник данных" с "файл базы данных ms sql server" на " поставщик данных .net framework для sql server..'. Затем я смог ввести [имя компьютера][имя пользователя] для проверки подлинности windows.