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 :

Base de données en récupération [2008]


Sujet :

Administration SQL Server

  1. #41
    Membre éclairé Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 332
    Points : 723
    Points
    723
    Par défaut
    PS: j'ai bien compris que le SHRINK est stupide donc je l'enleve demain de mon job.
    Excellente initiative

    A cet instant meme, une de mes bases fait 370 Go (mdf) , mon ldf fait 20 Mo
    Si tu prend le ration donné de 20 à 30%, la taille de ton journal de transaction doit être comprise entre 74Go et 111 Go

    Par contre à mon tour je te pose une question. quel est l'espace utilisés dans ta base de données?
    Qu'elle est la croissance sur une année?

    Cordialement,

    Loïc
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

  2. #42
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Mais si je fixe mon log sur 100 Go et je fais un grow de 1Go 100 fois, est ce que je ne tomberai pas dans la problematique de VLFs a 16 Go au moment de cette fixation ? J'avoue que je suis perdu la !

    Comment savoir l'espace utilisé dans ma BD ?
    La croissance je dirai 10% chaque année.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  3. #43
    Membre éclairé Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 332
    Points : 723
    Points
    723
    Par défaut
    Mais si je fixe mon log sur 100 Go et je fais un grow de 1Go 100 fois, est ce que je ne tomberai pas dans la problematique de VLFs a 16 Go au moment de cette fixation ?
    non, non tu dois partir de ton fichier à 24 Mo et là tu fais 100 incrément de 1Go.

    Comment savoir l'espace utilisé dans ma BD ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT sf.name,
           sf.size,
    	   CAST(FILEPROPERTY(sf.name,   + 'SpaceUsed') AS int)/128.0 AS SpaceUsed,
           CAST(sf.size/128.0 - CAST(FILEPROPERTY(sf.name,   + 'SpaceUsed') AS int)/128.0 AS int) AS FreeSpaceMB	   
    FROM dbo.sysfiles AS sf
    Cordialement,

    Loïc
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

  4. #44
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Est ce que vos propositions de tailler le log et changer les parametrages par defaut (autogrow...) sont aussi valables pour une base de donnees deja existante ? Ou bien c'est valable pour les nouvelles creations de BD ?
    Les deux mon Général !

    A cet instant meme, une de mes bases fait 370 Go (mdf) , mon ldf fait 20 Mo (car hier soir a été SHRINKé via un job automatique qui s'execute juste avant la sauvegarde full, et 60 VLFs). Dans ce cas, pour tailler mon log est ce que je dois attendre une certaine periode pour evaluer la taille de mon log pour la fixer au niveau du ALTER ? Ou bien je peux des maintenant la fixer a 1Go et la faire evoluer de 1Go pendant 100 fois (en executant le script du prince )?
    Dans ce cas vous pouvez :
    - fixer l'incrément de croissance automatique (autogrow) à 1Go
    - tailler la taille totale du fichier du journal des transactions à 25% de 370Go, soit, disons pour simplifier, 100Go. Prenez le script de Bernardos pour ce faire

    Et supprimer la tâche de réduction du fichier du journal des transactions (!!!)

    @++

  5. #45
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Donc techniquement je ne dois faire que deux choses et pas AUTRES CHOSES :
    1. Enlever le SHRINK
    3. Executer le script de Bernardos (sans aucune modification a part pointer sur le bon nom de mon log, je laisse le compte tel que).

    C'est bien ca messieurs ?
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  6. #46
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Exact.

    @++

  7. #47
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 760
    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 760
    Points : 52 541
    Points
    52 541
    Billets dans le blog
    5
    Par défaut
    Pour constater le nombre de VLF, vous pouvez utiliser la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DBCC LOGINFO('nom_de_ma_base')
    Pour le savoir pour toutes vos bases :
    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
    CREATE TABLE #VLF (DATABASE_NAME     nvarchar(128), 
                        RecoveryUnitId    INT, 
                        FileId            smallint, 
                        FileSize          float, 
                        StartOffset       bigint,
                        FSeqNo            int, 
                        Status            tinyint,
                        Parity            smallint,
                        CreateLSN         BINARY(16));
    DECLARE @DBN NVARCHAR(128), @SQL NVARCHAR(200);
    DECLARE C CURSOR LOCAL FORWARD_ONLY STATIC READ_ONLY
    FOR
       SELECT name FROM sys.databases WHERE source_database_id IS NULL;
    OPEN C;
    FETCH C INTO @DBN;
    WHILE @@FETCH_STATUS = 0
    BEGIN
       SET @SQL = N'USE [' + @DBN + N']; DBCC LOGINFO';
       INSERT INTO #VLF (RecoveryUnitId, FileId, FileSize, StartOffset, FSeqNo, Status, Parity, CreateLSN)
       EXEC (@SQL);
       UPDATE #VLF SET DATABASE_NAME = @DBN WHERE DATABASE_NAME IS NULL;
       FETCH C INTO @DBN;
    END 
    CLOSE C;
    DEALLOCATE C;
     
    SELECT DATABASE_NAME, COUNT(*) AS NB_VLF, 
           MIN(FileSize) AS VLF_MIN_SIZE_MB, 
           FLOOR(AVG(FileSize)) AS VLF_AVG_SIZE_MB, 
           MAX(FileSize) AS VLF_MAX_SIZE_MB,
           CASE Status WHEN 0 THEN 'PAST' ELSE 'ACTIVE' END
    FROM   #VLF
    GROUP  BY DATABASE_NAME, CASE Status WHEN 0 THEN 'PAST' ELSE 'ACTIVE' END
    ORDER  BY DATABASE_NAME, NB_VLF DESC;
     
    DROP TABLE #VLF;
    Et pour de plus amples informations :
    Nom : Couverture livre SQL server Eyrolles.jpg
Affichages : 211
Taille : 105,0 Ko

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

  8. #48
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    L'exécution du script donne ceci :

    Msg 213, Level 16, State 7, Line 1
    Le nom ou le numéro de colonne des valeurs fournies ne correspond pas à la définition de la table.
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  9. #49
    Membre éclairé Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 332
    Points : 723
    Points
    723
    Par défaut
    enlève
    dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO #VLF (RecoveryUnitId, FileId, FileSize, StartOffset, FSeqNo, Status, Parity, CreateLSN)
    RecoveryUnitId est arrivé avec sql server 2012 si je ne m'abuse et toi tu es visiblement en 2008

    Cordialement,
    Loïc BERNARD
    Consultant Senior dba sql server & Microsoft Business Intelligence



    Il n'y a jamais de problèmes, il n'y a que des solutions!

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2011, 13h43
  2. Récupération du type d'une colonne dans une base de données
    Par Astartee dans le forum Accès aux données
    Réponses: 2
    Dernier message: 07/05/2007, 13h03
  3. [MySQL] Récupération de code php dans une base de données
    Par kitana dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2006, 00h25
  4. [Récupération]Base de données après problème disque
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 15/02/2006, 15h08

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