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 :

Ouverture avec SSMS d'un fichier de base de données


Sujet :

Administration SQL Server

  1. #1
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut Ouverture avec SSMS d'un fichier de base de données
    Bonjour tout le monde,

    Depuis la grande mise à jour il y a quelques mois, avant laquelle j'ai exporté mes bases dans des fichiers, je ne les ai pas réimportées, donc dans SSMS je ne vois pas de bases. Jusque là, logique.
    D'ailleurs, j'ai créé une base test sans problème.

    Maintenant, ce que j'aimerais bien faire, c'est ouvrir un fichier de base de données, créé dans un projet WinForms, pour voir ce qu'il a dans les tripes, notamment si il y a des procédures stockées.

    Or, quand je sélectionne le fichier pour le "joindre", je me retrouve avec une erreur "liée à l'instance ou au serveur".

    À un moment, pour cette manœuvre, il fallait LocalDb, pas vrai ?
    Je ne sais pas si j'aurais dû cocher quelque chose pendant l'installation, toujours est-il que dans SSMS je ne vois qu'un serveur, .\SQLEXPRESS.
    D'ailleurs, à la place du ., j'ai d'abord eu le nom de ma machine lors de l'achat, mais ça a bien récalcitré à s'ouvrir, là maintenant j'ai le nom actuel et ça s'ouvre.

    Mais pour ouvrir un fichier de base de données, d'extension mdf, ce n'est pas immédiat.

    Est-ce que la suite se passe dans le programme d'installation de SSMS, dans SSMS lui-même, ou encore ailleurs ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SQL Server Management Studio						15.0.18386.0
    SQL Server Management Objects (SMO)						16.100.46437.65
    Outils clients Microsoft Analysis Services						15.0.19618.0
    Microsoft Data Access Components (MDAC)						10.0.19041.2604
    Microsoft MSXML						3.0 6.0 
    Microsoft .NET Framework						4.0.30319.42000
    Système d'exploitation						10.0.19045
    Hum ... Ce n'est pas vraiment formaté pour apparaître dans le forum, cette affaire-là.
    Est-ce que je devrais remplacer les tabulations par des points-virgules ?

    J'ai installé la version 16 de SSMS par dessus la 15, non seulement ça n'a rien résolu, mais en plus ça ne se voit pas dans les références.

  2. #2
    Membre expérimenté Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 460
    Points : 1 327
    Points
    1 327
    Par défaut
    Bon c'est confus votre affaire, il y a plein de détails mais pas l'essentiel.
    Qu'est-ce que vous avez fait factuellement et quel est l'erreur (en entier svp) que vous obtenez ?

  3. #3
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut
    Alors ça affiche ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    TITRE*: Microsoft SQL Server Management Studio
    ------------------------------
     
    Une erreur s'est produite lors de l'attachement de la ou des bases de données.  Pour plus d'informations, cliquez dans la colonne Message sur le lien hypertexte.
     
    ------------------------------
    BOUTONS*:
     
    OK
    ------------------------------
    Et pour ce qui est de la colonne message :
    Nom : Message BDD Capture d’écran 2023-04-16 201940.png
Affichages : 94
Taille : 11,0 Ko

    J'espère que c'est moins confus comme ça

    Ah oui c'est vrai qu'il y a encore un message dans l'angle inférieur gauche de la boîte de dialogue :
    Nom : Message BDD angle Capture d’écran 2023-04-16 204602.png
Affichages : 93
Taille : 4,6 Ko

  4. #4
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut
    Ah oui c'est vrai en pareil cas il faut regarder dans l'observateur d'événements.
    Là j'ai droit à une erreur 5 sur Database1_log.ldf
    Il est même précisé en toutes lettres que ça veut dire accès refusé.

    J'ai pourtant fermé Visual Studio, je sens que ça va être intéressant de savoir qui a verrouillé le fichier journal de la base de données.
    J'ai regardé dans les propriétés du fichier, les utilisateurs authentifiés ont les droits de modification, lecture et exécution, lecture, écriture.
    Pareil pour la base de données elle-même, d'ailleurs.

    Il ne paraît pas certain qu'il soit utile d'essayer avec élévation de privilèges ?

    ***
    Dans le menu contextuel de Database1_log.ldf, il y a une commande "Qu'est-ce qui utilise ce fichier ?", installée par les Powertoys Microsoft.
    Après avoir fermé SSMS j'ai lancé ça, ça répond "Aucun résultat".

  5. #5
    Membre expérimenté Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 460
    Points : 1 327
    Points
    1 327
    Par défaut
    ok ça ressemble au compte sous lequel tourne ton instance qui n'a pas accès à ton répertoire.

    Place tes fichiers .mdf et .ldf dans le répertoire par défaut des datafiles. Si tu as fait une installation par défaut, ça doit être quelque chose dans ce goût : C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\DATA
    Là tu n'auras pas de problème de droit.

  6. #6
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut
    Merci, le raisonnement se tient, et à un caractère près (\ à la place de .) le répertoire existe, et j'ai pu mettre le fichier dedans, mais SSMS ne le voit pas (pas de fichier dans la boîte de dialogue). Il voit le répertoire, mais pas de fichier dedans.

    Si je remplace MSSQL15.MSSQLSERVER par MSSQL14.MSSQLEXPRESS, en insistant sur l'élévation de privilèges je peux mettre le fichier dedans et SSMS le voit, mais j'ai le même problème que dans le répertoire du projet.

    ***
    Pourtant, MSSQLSERVER a le droit de contrôle total aussi bien sur la base que son journal, par héritage du répertoire MSSQL15.MSSQLSERVER. Ce que d'ailleurs ne voit pas AccessEnum, qui ne liste que les droits de l'administrateur.
    ***
    Ah oui mais il faut gérer les options de AccessEnum, si je coche les comptes service ça donne ça :

    "Path" "Read" "Write" "Deny"
    "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA" "Administrateurs, AUTORITE NT\Système, NT SERVICE\MSSQLSERVER" "Administrateurs, AUTORITE NT\Système, NT SERVICE\MSSQLSERVER" ""

    Peut-être plus lisible comme ça :
    Path : "C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA"

    Read : "Administrateurs, AUTORITE NT\Système, NT SERVICE\MSSQLSERVER"

    Write : "Administrateurs, AUTORITE NT\Système, NT SERVICE\MSSQLSERVER"

    Deny : ""

  7. #7
    Membre expérimenté Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 460
    Points : 1 327
    Points
    1 327
    Par défaut
    Êtes vous sur la bonne instance, la locale ?
    Est-ce que l'extension de votre fichier est bien .mdf ?

  8. #8
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut
    Bonjour,

    Je n'ai pas connaissance d'avoir plus d'une instance.
    Pour en obtenir la liste il faut passer par le programme d'installation, il me semble ?
    En tout cas je travaille en local.

    Dans le passé il m'est arrivé de finasser un peu, là c'était plutôt Next, Next, Next, Next ...
    Tant que c'était possible.

    Ah pour ce qui est de la liste d'instances, peut-être bien que ceci peut aider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL
        SQLEXPRESS    REG_SZ    MSSQL14.SQLEXPRESS
        MSSQLSERVER    REG_SZ    MSSQL15.MSSQLSERVER
    Pour ce qui est du nom de fichier base de données, il y a une copie d'écran dans mon deuxième message. Je n'ai pas dépensé des trésors d'imagination là-dessus.

  9. #9
    Membre émérite
    Profil pro
    Développeur Web
    Inscrit en
    Février 2008
    Messages
    2 196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2008
    Messages : 2 196
    Points : 2 317
    Points
    2 317
    Par défaut
    J'ai peut-être été un peu long pour la liste d'instances ?

Discussions similaires

  1. Envoyer un formulaire avec champ fichier en base de données
    Par MInfo25 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/01/2022, 16h05
  2. Gérer des fichiers avec un serveur Web et une base de données
    Par Happpy dans le forum Forum général Solutions d'entreprise
    Réponses: 4
    Dernier message: 18/08/2016, 16h33
  3. Réponses: 2
    Dernier message: 16/11/2005, 13h41
  4. [Conception] upload de fichiers et base de données
    Par Corben dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 14/10/2005, 09h10
  5. Fichier de base de données
    Par Nout dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 14/08/2004, 00h28

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