Не удается получить доступ к моей базе данных, созданной с помощью 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.