2014-02-12 4 views
0

У меня небольшая проблема, и я надеялся, что некоторые из вас, ребята, имеют какой-либо опыт в этом. Прежде всего, я собираюсь объяснить, что я планирую усвоить.Несколько соединений с одной базой данных sql

Я создаю программу для сервера Windows, работающую с локальной базой данных SQL Server (SQLEXPRESS 2008). Я думаю, это не имеет значения в моем вопросе, но это будет написано на C#.

Эта программа использует эту БД как общий держатель данных между всеми пользователями сервера win. Это означает, что один процесс для одного пользователя, а это означает одно соединение с SQL и DB для одного пользователя в то время.

И мой вопрос. Представьте себе ситуацию, когда один пользователь вставляет что-то в эту БД и точно в то же время какой-то другой пользователь хочет подключиться к этой БД и что-то прочитать. Это будет исключение? Он будет ждать очереди? Я действительно не знаю, и это трудно проверить эту ситуацию.

Так что, если кто-нибудь знает, я был бы очень признателен. Посмотрел вглубь в google, но не смог найти ответ для этого.

Заранее спасибо.

+0

Вы ищете примеры подключения? Для каждого вызова создается новый экземпляр, поэтому он не будет проблемой. –

ответ

0

Короткий ответ: не беспокойтесь об этом, SQL Server управляет этим для вас.

Дополнительная информация:
SQL использует транзакции и блокировки. это означает, что запросы или пакет запросов обрабатываются как атомарные действия. ресурсы будут заблокированы во время потребления клиентом.

Обычно это не будет замечено пользователями, так как транзакции достаточно быстры.

+0

Означает ли это, что моя программа будет ожидать выполнения sql-запроса? – FossilMFC

+0

Только если он пытается получить доступ к ресурсу (например, таблице), который потребляется другим клиентом. –

Смежные вопросы