Database al servizio di due o più client

giovedì 25 febbraio 2010 - 09.08

ridaria Profilo | Expert

Ciao amici.

Sto implementando un software di tipo client e server.
Sul server viene installato il database SQL server 2008 e sui diversi client le release che interagiscono con il database.

La domanda è questa:

Dato che ci sono due o più pc che fanno le stesse cose, cosa accade se due di essi operano concorrentemente sugli stessi record?

Spero fortemente che SQL server gestisca questa cosa in modo ottimale.
Con access con ADODB ricordo che bisognava impostare i tipi di blocchi sul corsore in lettura e modifica per non compromettere la integrità dei dati.


Mi date qulche indicazione indicazione in merito?

Grazie





Riccardo D'Aria

lbenaglia Profilo | Guru

>La domanda è questa:
>
>Dato che ci sono due o più pc che fanno le stesse cose, cosa
>accade se due di essi operano concorrentemente sugli stessi record?
>
>Spero fortemente che SQL server gestisca questa cosa in modo
>ottimale.

Ciao Riccardo,

Il discorso è particolarmente esteso ma descritto molto bene sui Books Online.
Inizia a leggere questo paragrafo e tutti quelli referenziati:
http://msdn.microsoft.com/en-us/library/ms187101.aspx

>Grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

ridaria Profilo | Expert

Grazie,

ho rintracciato lo stesso in italiano:

http://msdn.microsoft.com/it-it/library/ms189132.aspx

GLi ho già dato una lettura.

Dunque per cominciare:
1) è con le transazioni che la cosa si gestisce.
2) ed in particolar modo alla singola transazione bisogna associare un determinato tipo di Livello di isolamento giusto?

Grazie


Riccardo D'Aria

lbenaglia Profilo | Guru

>ho rintracciato lo stesso in italiano:
>
>http://msdn.microsoft.com/it-it/library/ms189132.aspx
>
>GLi ho già dato una lettura.
Leggi TUTTI i links che trovi in quel documento ed in quelli successivi.
E' un argomento molto vasto e richiede uno studio attento ed approfindito.
Prenditi tutto il tempo che ti serve per digerire i concetti.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

ridaria Profilo | Expert

ok ho letto i link di quel documento, e come al solito le guide di microsoft sono più casinare che mai.

Domanda, per evitare che due soggetti modifichino contemporaneamente lo stesso dato: occorre impostare così la tranzasione?:

Ok allora vediamo se ho capito:

Voglio evitare che due soggetti modifichino lo stesso dato contemporaneamente, e voglio evitare che se un soggetto entra in lettura su dei dati su cui è in corso una modifica con Transazione, a questi viene impedita la lettura, o meglio sarebbe, la lettura stessa viene messa in attesa fino a completamento della transazione in corso.

Per fr ciò il livello di isolamento della transazione è:
RepeatableRead

Mi dai conferma?


Grazie per la conferma :-)


Grazie


Riccardo D'Aria
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5