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

Développement SQL Server Discussion :

[Requête]Afficher les chemins mdf et ldf d'une base de données sur la même ligne


Sujet :

Développement SQL Server

  1. #1
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut [Requête]Afficher les chemins mdf et ldf d'une base de données sur la même ligne
    Bonjour,

    Dans une requête sql, je voudrais afficher les chemins mdf et ldf d'une même base de données sur une même ligne. J'ai quasiment réussi, le problème est qu'il m'affiche ça sur 2 lignes.

    Voilà ma requête:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Select sys.databases.name,
    case when right(sys.master_files.physical_name,3) = 'mdf' then sys.master_files.physical_name end as [MDF],
    case when right(sys.master_files.physical_name,3) = 'ldf' then sys.master_files.physical_name end as [LDF]
    from sys.databases 
    inner join sys.master_files on 
    sys.databases.database_id = sys.master_files.database_id
    group by sys.databases.name,sys.master_files.physical_name
    A noter que j'ai essayé avec et sans le group by.

    Merci de votre aide .

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 897
    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 897
    Points : 53 135
    Points
    53 135
    Billets dans le blog
    6
    Par défaut
    Votre requête sera de toute façon, même une fois achevée totalement fausse car une base de données peut être composée d'autant de fichier de données ou du JT que l'on souhaite !

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE DATABASE [OPTIM] ON  PRIMARY 
    ( NAME = N'F_PRIM_1', FILENAME = N'C:\DB\FP1' , SIZE = 25KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ), 
     FILEGROUP [FG_COM] 
    ( NAME = N'F_COM_1',  FILENAME = N'C:\DB\FC1' , SIZE = 256KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
    ( NAME = N'F_COM_2',  FILENAME = N'C:\DB\FC21' , SIZE = 256KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
     FILEGROUP [FG_DATA] 
    ( NAME = N'F_DATA_1', FILENAME = N'C:\DB\FD1' , SIZE = 256KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB ), 
     FILEGROUP [FG_INDEX] 
    ( NAME = N'F_INDEX_1',FILENAME = N'C:\DB\FI1' , SIZE = 256KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10240KB )
     LOG ON 
    ( NAME = N'F_LOG_1',  FILENAME = N'C:\DB\FL1' , SIZE = 256KB , MAXSIZE = 2048GB , FILEGROWTH = 10240KB ),
    ( NAME = N'F_LOG_2',  FILENAME = N'C:\DB\FL2' , SIZE = 256KB , MAXSIZE = 2048GB , FILEGROWTH = 10240KB )
    GO
    A +

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2004
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Août 2004
    Messages : 137
    Points : 188
    Points
    188
    Par défaut
    Essaye ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Select sys.databases.name, mdf = 
    	(select sys.master_files.physical_name from sys.master_files where right(sys.master_files.physical_name,3) = 'mdf' and sys.databases.database_id = sys.master_files.database_id),
    	ldf = 
    	(select sys.master_files.physical_name from sys.master_files where right(sys.master_files.physical_name,3) = 'ldf' and sys.databases.database_id = sys.master_files.database_id)
    from sys.databases 
    group by sys.databases.name, sys.databases.database_id

  4. #4
    Membre habitué Avatar de Ishizaki
    Inscrit en
    Avril 2006
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 262
    Points : 175
    Points
    175
    Par défaut
    @SQLPro => Oui, mais dans mon cas, ça ne sert pas, mais merci de l'information.

    @Ben et nuts => Merci, il fallait y penser ! Heureusement que vous étiez là !

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

Discussions similaires

  1. [AC-2007] Partager une base de données sur un serveur et limiter les accés
    Par tounam dans le forum Sécurité
    Réponses: 2
    Dernier message: 07/09/2011, 14h32
  2. Réponses: 10
    Dernier message: 29/08/2011, 15h03
  3. Réponses: 3
    Dernier message: 19/01/2010, 09h53
  4. Réponses: 7
    Dernier message: 16/10/2008, 16h11
  5. Afficher une image d'une base de données sur une page web
    Par tortuegenie dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/10/2008, 14h11

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