Рейтинг:
6
OriginalGriff
Присоединение баз данных-это особый "режим" SQL, в котором новый экземпляр сервера "отделяется" для ухода за этим одним файлом БД, и он предназначен только для разработки, чтобы ваш код не мог отказать любому другому доступу к базе данных. Именно по этой причине он недоступен в "полном" SQL Server, а только в Express edition.
При присоединении базы данных новый экземпляр SQL Server engine запускается и получает контроль над файлом. До тех пор, пока файл не будет отсоединен или экземпляр не закроется, файл используется и будет оставаться таким. Пока он используется, SQL server имеет эксклюзивную блокировку файла, и вы не можете открыть его в другом приложении.
Я бы настоятельно рекомендовал вам импортировать свою БД в SQL и позволить ей полностью управлять ею, а не присоединять.
Member 10376725
БД была создана в SQL, я создал ее на этом компьютере и пытаюсь прикрепить ее к форме Windows, чтобы я мог манипулировать ею с помощью программы Visual Basic. Я прошел мимо проблемы с сервером, но теперь у меня есть новая проблема. Теперь, когда я пытаюсь атташе его, я получаю это сообщение об ошибке.
Невозможно открыть физический файл "C:\Program файлы\Microsoft SQL Server\MSSSQL12.Elyea_SQLEXPRESS\MSSQL\DATA\Temp_Emp_Log.ldf ошибка операционной системы 5: "5(Доступ запрещен)"
Попытка прикрепить базу данных с автоматическим именем для файла C:\Program ошибка Files\Microsoft SQL Server \MSSQL12.ELYEA_SQLEXPRESS\MSSQL\DATA\Temp_Emp.mdf. База данных с таким же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC (?)
Я уже создавал и прикреплял файлы данных в этой системе ранее, но последнее обновление Windows 10 Pro создало многочисленные проблемы с моими системами. Мне удалось проработать их все, но теперь это поднимает уродливую голову, и я не уверен, является ли это проблемой Windows 10 или проблемой Mocrosoft SQL 2014 или проблемой Visual Studio 2017.
OriginalGriff
Если вы создали его в SQL через SSMS или VS, то он уже подключен и управляется SQL Server, и вам нужно только подключиться к нему. Вы не можете подключить базу данных, которая уже используется SQL Server - и это именно то, что говорит вам сообщение об ошибке.
Все, что вам нужно, - это строка подключения. Это может помочь:
https://www.codeproject.com/Tips/1198443/Simple-SQL-Connection-String-Creation