Поделиться через


Многопользовательский доступ

Microsoft SQL Server Compact поддерживает как отдельные, так и множественные подключения к базе данных SQL Server Compact.

Разрешение нескольких подключений к базе данных SQL Server Compact предлагает разработчикам простую модель разработки. Поскольку компонент SQL Server CompactDatabase Engine может одновременно обрабатывать запросы от нескольких приложений или несколько запросов от одного приложения, разработчикам не приходится планировать доступ к базе данных.

Если в SQL Server Compact разрешено лишь одно подключение к базе данных, для запуска новой транзакции потребуется дожидаться окончания предыдущей, что ограничивает параллелизм. В SQL Server Compact можно одновременно запускать несколько приложений, открывающих или изменяющих различные наборы данных. Если по конкретному ресурсу базы данных практически не возникает конфликтов данных между приложениями, разрешение нескольким приложениям получать одновременный доступ к базе данных улучшает параллелизм.

Доступ к базам данных SQL Server Compact выполняется двумя способами.

  • Отдельное подключение — одно приложение требует одного соединения с базой данных SQL Server Compact.

  • Несколько соединений ― одно приложение может иметь несколько соединений с одной базой данных для поддержки различных операций.

  • Несколько приложений — одновременно доступ к одной базе данных могут иметь несколько приложений. От разработчика не требуется управлять монопольными соединениями. Пользователи могут работать со средствами базы данных, например с SQL Server Compact Query Analyzer, пока другое приложение подключено к базе данных.

Если приложению необходимо отдельное подключение, другие подключения или приложения не должны при этом одновременно получать доступ к базе данных. Базу данных можно открыть монопольно, запретив тем самым многопользовательский доступ. Дополнительные сведения о монопольных подключениях см. в разделах Как установить файловый режим при открытии базы данных (программным путем) и Как установить файловый режим при открытии базы данных при помощи OLE DB (программным путем). Некоторые сценарии 64-разрядных платформ не поддерживают одновременный доступ к файлу базы данных с SQL Server Compact более поздних версий. Дополнительные сведения о 64-разрядных версиях компонентов см. в разделе Управление 64-разрядными приложениями баз данных.

Блокировка используется как механизм управления параллелизмом. Блокировка позволяет запускать все транзакции в полной изоляции друг от друга, что позволяет выполнять одновременно несколько транзакций. Дополнительные сведения см. в разделе Блокировки (SQL Server Compact).

Количество одновременных соединений с базой данных ограничено числом доступных ресурсов, например таблицей сеансов фиксированного размера, которая ограничивает число одновременных соединений 256.

Важно!

Теперь SQL Server Compact 4.0 поддерживает до 256 соединений, при этом не возникнет никаких ошибок в связи с нехваткой виртуальной памяти.

Роли и привилегии не поддерживаются. Приложения и пользователи могут подключаться к базе данных, используя те же процедуры проверки подлинности и авторизации, что и в ранних версиях SQL Server Compact.