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

Administration SQL Server Discussion :

journaux transactions sql 2000 et 2005


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 75
    Par défaut journaux transactions sql 2000 et 2005
    bonjour,
    voilà j'ai un petit souci au niveau des fichiers de log ... et oui toujours le même problème récurant qui est son volume !!
    mais ma question réside dans la différence qu'il y a entre sql 2000 et 2005 lorsque l'on fait un shrinkfile.

    sur mon 2005 en mode graphique je fais un clique droit sur ma bdd / Tâches / réduire / fichier.
    De là je peux donc libérer l'espace inutilisé qui le rend à système d'exploitation, c'est d'ailleurs assez puissant car je passe d'un log de 21go à environ 1mo !

    sur mon 2000 tjs en mode graphique, clique droit sur ma bdd / toutes les tâches / Compacter la base de données, là dans fihier je choisi de tronquer l'espace libre à la fin du fichier. Et là ... si j'arrive à récupérer 3mo je suis super contente ....

    pourtant en cherchant sur le net, la méthode est toujours de faire un shrinkfile .... est ce que qqu'un connaitrait la différence qu'il peux y avoir ?

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    SHRINKFILE pour restituer l'espace au système, comme tu l'as dit.

    Tronquer le LOG c'est vider les transactions ayant eu un COMMIT ou un ROLLBACK, bref qui ne sont pas en cours. Mais cela ne restitue pas l'espace disque au système.

    Dans l'aide en ligne SQL Server, cherche DBCC SHRINKFILE et BACKUP LOG, notamment avec NO_LOG .

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2008
    Messages : 9

  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
    21 998
    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 : 21 998
    Billets dans le blog
    6
    Par défaut
    Evitez de diminuer la taille de vos fichiers ! C'est une abération totale !!!!!

    Voici pour preuve le coût exhorbitant que cela engendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    -- le répertoire C:\SQLDB\ doit préalablement exister sur votre PC
    USE master
    GO
     
    IF EXISTS(SELECT * FROM sys.DATABASES WHERE name = 'TEST_FICHIER_VAR')
       DROP DATABASE TEST_FICHIER_VAR
    GO
     
    CREATE DATABASE TEST_FICHIER_VAR
    ON PRIMARY ( NAME = DATA,
        FILENAME = 'C:\SQLDB\DATA',
        SIZE = 3MB,
        FILEGROWTH = 1MB)
    LOG ON 
       (NAME = JT,
        FILENAME = 'C:\SQLDB\JT',
        SIZE = 1MB,
        FILEGROWTH = 1MB)
    GO
    USE TEST_FICHIER_VAR
    GO
     
    CREATE TABLE T (LIGNE VARCHAR(500))
    GO
     
    DECLARE @T1 DATETIME, @T2 DATETIME, @I INT
    SET @T1 = CURRENT_TIMESTAMP
    SET @I =1
     
    INSERT INTO T SELECT REPLICATE('A', 500);
     
    WHILE @I < 100
    BEGIN
     
       INSERT INTO T SELECT TOP 3000 * FROM T
     
       SET @I = @I + 1
     
    END
     
    CHECKPOINT
     
    SET @T2 = CURRENT_TIMESTAMP
     
    SELECT CAST((@T2 - @T1) AS FLOAT) * 86400.0 AS SECONDE
     
     
    USE master
    GO
     
    IF EXISTS(SELECT * FROM sys.DATABASES WHERE name = 'TEST_FICHIER_VAR')
       DROP DATABASE TEST_FICHIER_VAR
    GO
     
    CREATE DATABASE TEST_FICHIER_FIX
    ON PRIMARY ( NAME = DATA,
        FILENAME = 'C:\SQLDB\DATA2',
        SIZE = 2GB,
        FILEGROWTH = 10%)
    LOG ON 
       (NAME = JT,
        FILENAME = 'C:\SQLDB\JT2',
        SIZE = 2GB,
        FILEGROWTH = 10%)
    GO
     
    USE TEST_FICHIER_FIX
    GO
     
     
    CREATE TABLE T(LIGNE VARCHAR(500))
    GO
     
    DECLARE @T1 DATETIME, @T2 DATETIME, @I INT
    SET @T1 = CURRENT_TIMESTAMP
    SET @I =1
     
    INSERT INTO T SELECT REPLICATE('A', 500);
     
    WHILE @I < 100
    BEGIN
     
       INSERT INTO T SELECT TOP 3000 * FROM T
     
       SET @I = @I + 1
     
    END
     
    CHECKPOINT
     
    SET @T2 = CURRENT_TIMESTAMP
     
    SELECT CAST((@T2 - @T1) AS FLOAT) * 86400.0 AS SECONDE
     
    USE master;
    GO
     
    DROP DATABASE TEST_FICHIER_FIX
    Même code, l'un pour base de taille variable, l'autre pour base de taille fixe. La différence est constitué par les opérations de croissance !

    En principe une base de données doit être créée de taille fixe (fichiers de données et du JT compris) et cela pour le volume attendu pour la période d'exploitation....

    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/ * * * * *

Discussions similaires

  1. Migration SQL 2000 vers 2005
    Par Epx510 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/03/2008, 11h20
  2. grammaire BNF du Transact SQL 2000
    Par hpa256 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/10/2007, 10h08
  3. Migration SQL 2000 vers 2005 et problème d'Unicode
    Par Micht dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/03/2007, 09h34
  4. editer le journal de transaction sql 2000
    Par kimo0147 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/07/2006, 10h37
  5. [SQL Server] 2000 vs 2005
    Par bslota dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/03/2006, 15h49

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