Accès multi-utilisateur

Microsoft SQL Server Compact autorise les connexions uniques ou multiples à une base de données SQL Server Compact.

Le fait d'autoriser plusieurs connexions pour accéder à une base de données SQL Server Compact offre aux développeurs un modèle simple de développement. Comme le moteur de base de données SQL Server Compact peut gérer des requêtes simultanées de plusieurs applications, ou plusieurs requêtes de connexion d'une seule application, les développeurs ne sont pas tenus de planifier l'accès aux bases de données.

Si SQL Server Compact autorisait une seule connexion pour accéder à une base de données, une transaction devait être terminée avant qu'une autre puisse commencer, et les accès concurrentiels étaient restreints. Dans SQL Server Compact, vous pouvez exécuter simultanément plusieurs applications qui modifient ou qui ont accès à différents jeux de données. S'il n'existe pratiquement pas de contention de données entre les applications pour une ressource spécifique dans la base de données, le fait d'autoriser plusieurs applications à avoir accès à la base de données améliore le taux d'accès concurrentiels.

L'accès aux bases de données SQL Server Compact peut se produire des manières suivantes :

  • Connexion unique—une seule application qui requiert une connexion unique à une base de données SQL Server Compact.

  • Connexions multiples—une même application peut avoir à établir des connexions multiples à une seule base de données pour prendre en charge des opérations diverses.

  • Plusieurs applications—plusieurs applications peuvent avoir simultanément accès à une seule base de données. Le développeur n'est pas obligé de gérer des connexions exclusives. Les utilisateurs peuvent avoir recours à des outils de base de données, tels que l'Analyseur de requêtes SQL Server Compact pendant qu'une autre application est connectée à la base de données.

Si votre application requiert une connexion unique et que vous ne souhaitez pas que d'autres connexions ou applications aient simultanément accès à la base de données, vous pouvez ouvrir celle-ci en mode exclusif de sorte que l'accès multi-utilisateur ne soit pas autorisé. Pour plus d'informations sur les connexions exclusives, consultez Procédure : définir le mode de fichier lors de l'ouverture d'une base de données (par programme) et Procédure : définir le mode de fichier lors de l'ouverture d'une base de données à l'aide d'OLE DB (par programme). Certains scénarios de plateformes 64 bits ne prennent pas en charge l'accès simultané à un fichier de base de données avec des versions antérieures de SQL Server Compact. Pour plus d'informations sur les composants 64 bits, consultez Gestion d'applications de base de données 64 bits.

Le verrouillage est utilisé en tant que mécanisme de contrôle des accès concurrentiels. Il permet à toutes les transactions d'être exécutées indépendamment les unes des autres, bien que plusieurs transactions puissent être exécutées à tout moment. Pour plus d'informations, consultez Verrouillage (SQL Server Compact).

Le nombre de connexions simultanées à une base de données est limité par le nombre et la quantité de ressources disponibles, telles que la table de session de taille fixe. La limite est de 256 connexions au maximum.

Important

Dorénavant, SQL Server Compact 4.0 prend en charge 256 connexions complètes, sans générer d'erreur de mémoire insuffisante.

Aucun rôle ou privilège n'est pris en charge. Les applications et les utilisateurs peuvent se connecter à la base de données à l'aide des mêmes procédures d'authentification et d'autorisation que dans les versions antérieures de SQL Server Compact.