IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

[Sql Server 2000][sql sercer ce 2.0] comment gérer un verrou


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Par défaut [Sql Server 2000][sql sercer ce 2.0] comment gérer un verrou
    Salut à tous !

    Je voudrais savoir comment on peut gérer les verrous exclusifs... mon cas est le suivant:

    J'ai un serveur avec Sql server, et deux PPCs avec sql server 2.0, avec chacun la même applis.
    Quand un PPC récupère des lignes d'une table, je voudrais les bloquer (au moins en écriture), avoir le temps d'effectuer des traitements, puis de mettre à jour ma table sur le serveur, en seulement ensuite enlever le verrou... (je ne souhaite pas que le second PPC puisse traiter les mêmes lignes donc)
    J'ai regardé les tutos, mais j'ai l'impression que les verrous ne sont utilisables que pour un bloc d'instructions Sql comprises dans une transaction, et je n'ai pas ce cas de figure présentement, j'ai en gros un select dans une fonction, et la mise à jour dans une autre (méthodes pull et push pour être précis)

    D'avance merci !

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre éclairé Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Par défaut
    Salut Fadace !

    On doit surement par la suite faire un déblocage (unlock?) (j'ai regardé dans la doc mais j'ai pas trouvé d'exemple...)

    Est-ce que tout ça doit être effectué par rapport à une seule et même connexion ?

    en gros ce que je fais dans mon traitement, j'effectue une lecture depuis mon PPC d'une table du serveur, avec une fonction Pull(<Table PPC>,<parametres de connexion>,<Requete de sélection>...) donc cela fait partie d'une connexion 1.
    Là je modifie mes données sur le PPC.
    Ensuite j'effectue une mise à jour de la table du serveur avec une fonction Push(<Table>,<Parametres de connexion>,...), donc une connexion n°2.
    A ce moment précis, puis-je faire un autre Pull() avec dans la requête de sélection un unlock ? et donc que cette série d'instructions s'effectue entièrement sans que d'autres puissent avoir accès à la table serveur ?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 002
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 22 002
    Billets dans le blog
    6
    Par défaut
    On en peut heureusement pas poser de verrous en dehors d'une transaction.
    Sinon, ce serait la voie royale pour pourrir le SGBDR et le rendre impraticable.
    Tu doit faire cela en logique ensembliste ou alors ajouter des informations dans ta table pour gérer un verrou fonctionnel.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre éclairé Avatar de joefou
    Profil pro
    Inscrit en
    Février 2005
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 248
    Par défaut
    D'accord !

    Et bien j'ai adapté mon traitement, j'ai utilisé un "verrou" par la création d'une base de données (par le biais de la fonction Submit, avec une requête Create Database Verrou). Lorsque je tente de créer avec submitesql une base déjà existante, une exception est générée, je la récupère et je sais qu'il y a déjà quelqu'un en utilisation.
    Quand les traitements sont terminés sur mon PPC, je refait un submitsql avec cette fois la requete Drop database verrou.

    Voilà !

    Encore merci pour vos indication !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Upgrade SQL Server 2000 à SQL Server 2005
    Par vincent75 dans le forum Administration
    Réponses: 0
    Dernier message: 19/05/2008, 13h53
  2. sql server 2000 & sql server 2005
    Par twitty20 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 17/01/2008, 12h40
  3. Tuning SQL Server 2000 --> SQL Server 2005
    Par plutonium719 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/10/2007, 16h13
  4. sql server 2005 => SQL SERVER 2000
    Par subzero82 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/11/2006, 17h20
  5. Migration de sql server 2000 à sql server 2005
    Par poosh dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 29/03/2006, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo