Несколько подключений в одной базе данных .mdf (ASP.net) SQL Server - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь разместить базу данных .mdf на Computer A и получить к ней доступ одновременно на Computer B, но у меня возникает ошибка, которая говорит о том, что я не могу получить доступ к файлу mdf, поскольку он используется другим процессом.

Настройка: база данных находится в общей папке в Computer A. У меня Visual Studio работает на обоих компьютерах, и Computer B обращается к базе данных на компьютере A.

Компьютер A Строка пути подключения:

C: \ Users \ Public \ database.mdf

Компьютер B Строка пути подключения:

\ 192.168.254.8 \ Public \ database.mdf

Есть ли какая-то настройка, о которой я не знаю, чтобы включить множественный доступ на БД? Или это невозможно?

EDIT:

Позвольте мне перефразировать мой вопрос, извините.

К сети подключено два компьютера, и я хочу получить доступ к одному веб-сайту решений / проектов Visual Studio. Я хотел сделать это как демонстрацию, это возможно?

Ответы [ 5 ]

1 голос
/ 23 января 2012

У вас должен быть экземпляр SQL Server (даже экспресс), работающий на хост-компьютере.

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

1 голос
/ 23 января 2012

Одновременный или прямой доступ к файлам базы данных в любой СУБД контролирует либо очень плохую практику, либо просто невозможную.

Используйте надлежащие инструменты СУБД для доступа к данным.

И да - возможно получить доступ к проекту веб-сайта для демонстрации.

0 голосов
/ 18 апреля 2014

Да, если 2 или более компьютеров соединены сетями, такими как ЛВС. Вы можете получить доступ к базе данных Database1.mdf (скажем) с другого сервера SQL, введя его имя пользователя / пароль / с помощью подключения Visual Studio.

Недостатки:

Если более 7 ~ 8 систем одновременно обращаются к одной и той же базе данных, отклик системы замедляется и зависает или может привести к ошибке, такой как превышение пула соединений или устройство не отвечает ..

в большомКомпании, которые используют огромный многоядерный и многопроцессорный сервер, который будет реагировать быстрее.

Преодолеть: при написании приложений используйте открытое и закрытое соединение Особенно при выполнении SQL-запросов в другое время оно должно быть закрыто.

Best Programer использует Transaction вместо обычных методов.Транзакция делает каждый пользовательский доступ к базе данных с действительным и успешным выполнением запросов.Эти запросы (запросы транзакций) в основном выполняются на клиентском компьютере, а затем обновляются на главном сервере, когда он получает для него временной интервал (синхронизация).

0 голосов
/ 06 февраля 2012

Вместо указания файла MDF в строке подключения (которая, я полагаю, использует форму пользовательского экземпляра), вам следует использовать SQL Server Management Studio (SSMS) для подключения MDF.Затем подключитесь к SQL Server, а не к MDF.

Возможно, вам потребуется переместить файлы MDF и LDF в место, где удостоверение SQL Server может получить к ним доступ, а не хранить их в проекте VS.

Большинство проектов хранят сценарии для создания БД в своем проекте VS, но не сам двоичный MDF.

При развертывании процесс аналогичен: используйте SSMS для присоединения MDF на вашем сервере.

0 голосов
/ 23 января 2012

Установите SQL Server на хост-компьютере (тот, на котором вы хотите сохранить базу данных).

Затем в Visual Studio используйте «обозреватель сервера», чтобы найти удаленный экземпляр базы данных. Оттуда вы можете использовать удаленный экземпляр SQL Server в строке подключения, что позволит вам подключить несколько компьютеров к одной базе данных.

Использование двух экземпляров SQL Server для подключения к одному файлу .mdf - очень плохая практика.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...