Deux petites questions en rapport avec la gestion des transactions sous
SQL Server :
- Comment fait-on pour forcer la descente sur disque des transactions
(Est ce qu'un simple commit suffit ou alors la descente sur disque est
asynchrone ? Y a t-il une commande pour faire cela?)
- Je voudrai savoir quelle est la commande ou la manière de faire pour
switcher sur un nouveau journal de transactions ? Si tout cela est
possible...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
bruno reiter [MVP]
L'écriture des transactions est synchrone, pour forcer l'écriture des données CHECKPOINT On ne force pas le switch sur un nouveau fichier log, il le fait automatiquement s'il n'y aplus de place, on peut qd même utiliser DBCC SHRINKFILE ... EMPTYFILE ... pour déplacer sur un autre fichier
br
"Laurent Léturgez" wrote in message news:43396a78$0$26870$
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...
Merci de vos eclaircissements !!
Laurent
L'écriture des transactions est synchrone, pour forcer l'écriture des
données CHECKPOINT
On ne force pas le switch sur un nouveau fichier log, il le fait
automatiquement s'il n'y aplus de place, on peut qd même utiliser DBCC
SHRINKFILE ... EMPTYFILE ... pour déplacer sur un autre fichier
br
"Laurent Léturgez" <laurent.leturgez_@t_free.fr> wrote in message
news:43396a78$0$26870$626a14ce@news.free.fr...
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous
SQL Server :
- Comment fait-on pour forcer la descente sur disque des transactions
(Est ce qu'un simple commit suffit ou alors la descente sur disque est
asynchrone ? Y a t-il une commande pour faire cela?)
- Je voudrai savoir quelle est la commande ou la manière de faire pour
switcher sur un nouveau journal de transactions ? Si tout cela est
possible...
L'écriture des transactions est synchrone, pour forcer l'écriture des données CHECKPOINT On ne force pas le switch sur un nouveau fichier log, il le fait automatiquement s'il n'y aplus de place, on peut qd même utiliser DBCC SHRINKFILE ... EMPTYFILE ... pour déplacer sur un autre fichier
br
"Laurent Léturgez" wrote in message news:43396a78$0$26870$
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...
Merci de vos eclaircissements !!
Laurent
Bouarroudj Mohamed
Pour la 1ere question je ne suis pas sur de bien comprendre l'intérêt de forcer la descente dans le disque et on a pas besoin de savoir les mécaniques internes de SQL Server pour bien utiliser les transactions .
Pour tous changemenst dans les données, SQL Server utilise deux types d'écritures : - La 1ere c'est l'écriture instantané dans le log des transactions (dans le disque physique sans passé par le buffer) - La 2eme est l'ecriture dans les pages (storage page) et il y'a un ou plusieurs threads qui se déclenchent a des intervalles définies pour écrire physiquement dans le disque, cherche sur le net ou le BOL avec les mots clés : Lazy Writer architecture
Donc SQL Server gere pour nous la descente des données sur le disque et je pense pas qu'on puisque changer cette architecture ou cette configuration
"Laurent Léturgez" wrote in message news:43396a78$0$26870$
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...
Merci de vos eclaircissements !!
Laurent
Pour la 1ere question je ne suis pas sur de bien comprendre l'intérêt de
forcer la descente dans le disque et on a pas besoin de savoir les
mécaniques internes de SQL Server pour bien utiliser les transactions .
Pour tous changemenst dans les données, SQL Server utilise deux types
d'écritures :
- La 1ere c'est l'écriture instantané dans le log des transactions (dans le
disque physique sans passé par le buffer)
- La 2eme est l'ecriture dans les pages (storage page) et il y'a un ou
plusieurs threads qui se déclenchent a des intervalles définies pour écrire
physiquement dans le disque, cherche sur le net ou le BOL avec les mots
clés : Lazy Writer architecture
Donc SQL Server gere pour nous la descente des données sur le disque et je
pense pas qu'on puisque changer cette architecture ou cette configuration
"Laurent Léturgez" <laurent.leturgez_@t_free.fr> wrote in message
news:43396a78$0$26870$626a14ce@news.free.fr...
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous
SQL Server :
- Comment fait-on pour forcer la descente sur disque des transactions (Est
ce qu'un simple commit suffit ou alors la descente sur disque est
asynchrone ? Y a t-il une commande pour faire cela?)
- Je voudrai savoir quelle est la commande ou la manière de faire pour
switcher sur un nouveau journal de transactions ? Si tout cela est
possible...
Pour la 1ere question je ne suis pas sur de bien comprendre l'intérêt de forcer la descente dans le disque et on a pas besoin de savoir les mécaniques internes de SQL Server pour bien utiliser les transactions .
Pour tous changemenst dans les données, SQL Server utilise deux types d'écritures : - La 1ere c'est l'écriture instantané dans le log des transactions (dans le disque physique sans passé par le buffer) - La 2eme est l'ecriture dans les pages (storage page) et il y'a un ou plusieurs threads qui se déclenchent a des intervalles définies pour écrire physiquement dans le disque, cherche sur le net ou le BOL avec les mots clés : Lazy Writer architecture
Donc SQL Server gere pour nous la descente des données sur le disque et je pense pas qu'on puisque changer cette architecture ou cette configuration
"Laurent Léturgez" wrote in message news:43396a78$0$26870$
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...
Merci de vos eclaircissements !!
Laurent
Fred BROUARD
Cela n'a efectivement aucun intérêt, sauf cas très particuliers...
Lorsque des données doivent être écrites : 1) la transaction est écrite dans son intégralité dans le journal : qui, a quel moment, quelles valeurs avant, quelles valeurs après... 2) le journal est physiquement écrit sur le disque 3) les données modifiées sont montée dans les pages mémoire 4) les pages modifiées sont marqués 5) le lazy writer vérifie régulièrement les pages marqués et les copies sur le disque (une minute en principe sauf modif du paramétrage de base) 6) si le lazy writer n'a pas le temps, il le fera "on idle" 7) on peut forcer l'écriture du lazy writer avec des checkpoint.
MAIS : cela bloquera toutes les autres transactions en cours susceptible de porter sur ces pages. Donc à éviter si l'on veut des performances.
Le seul intérêt de forcer un CHECKPOINT est de permettre de raccourcir le temps de remonté des journaux de transaction dans le cadre d'une restauration suite à un plantage...
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Laurent Léturgez a écrit:
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...
Merci de vos eclaircissements !!
Laurent
Cela n'a efectivement aucun intérêt, sauf cas très particuliers...
Lorsque des données doivent être écrites :
1) la transaction est écrite dans son intégralité dans le journal :
qui, a quel moment, quelles valeurs avant, quelles valeurs après...
2) le journal est physiquement écrit sur le disque
3) les données modifiées sont montée dans les pages mémoire
4) les pages modifiées sont marqués
5) le lazy writer vérifie régulièrement les pages marqués et les copies sur le
disque (une minute en principe sauf modif du paramétrage de base)
6) si le lazy writer n'a pas le temps, il le fera "on idle"
7) on peut forcer l'écriture du lazy writer avec des checkpoint.
MAIS : cela bloquera toutes les autres transactions en cours susceptible de
porter sur ces pages. Donc à éviter si l'on veut des performances.
Le seul intérêt de forcer un CHECKPOINT est de permettre de raccourcir le temps
de remonté des journaux de transaction dans le cadre d'une restauration suite à
un plantage...
A +
--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Laurent Léturgez a écrit:
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous
SQL Server :
- Comment fait-on pour forcer la descente sur disque des transactions
(Est ce qu'un simple commit suffit ou alors la descente sur disque est
asynchrone ? Y a t-il une commande pour faire cela?)
- Je voudrai savoir quelle est la commande ou la manière de faire pour
switcher sur un nouveau journal de transactions ? Si tout cela est
possible...
Cela n'a efectivement aucun intérêt, sauf cas très particuliers...
Lorsque des données doivent être écrites : 1) la transaction est écrite dans son intégralité dans le journal : qui, a quel moment, quelles valeurs avant, quelles valeurs après... 2) le journal est physiquement écrit sur le disque 3) les données modifiées sont montée dans les pages mémoire 4) les pages modifiées sont marqués 5) le lazy writer vérifie régulièrement les pages marqués et les copies sur le disque (une minute en principe sauf modif du paramétrage de base) 6) si le lazy writer n'a pas le temps, il le fera "on idle" 7) on peut forcer l'écriture du lazy writer avec des checkpoint.
MAIS : cela bloquera toutes les autres transactions en cours susceptible de porter sur ces pages. Donc à éviter si l'on veut des performances.
Le seul intérêt de forcer un CHECKPOINT est de permettre de raccourcir le temps de remonté des journaux de transaction dans le cadre d'une restauration suite à un plantage...
A +
-- Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com Audit, conseil, expertise, formation, modélisation, tuning, optimisation ********************* http://www.datasapiens.com ***********************
Laurent Léturgez a écrit:
Salut à tous,
Deux petites questions en rapport avec la gestion des transactions sous SQL Server : - Comment fait-on pour forcer la descente sur disque des transactions (Est ce qu'un simple commit suffit ou alors la descente sur disque est asynchrone ? Y a t-il une commande pour faire cela?) - Je voudrai savoir quelle est la commande ou la manière de faire pour switcher sur un nouveau journal de transactions ? Si tout cela est possible...