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

Outils SQL Server Discussion :

Problème SQLCMD : Base n'existe pas


Sujet :

Outils SQL Server

  1. #1
    Membre averti Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Points : 306
    Points
    306
    Par défaut Problème SQLCMD : Base n'existe pas
    Bonjour à tous,

    Je débute en SQL seveur, en vue de me perfectionner j'ai monté une maquette de test

    Windows 7 x64
    SQL Express 2008 R2 x64
    Framework 4.5
    MS Sample database AdventureWorks2008


    Tout est installé en local avec Utilisation de l'authentification Windows

    Lors de l'exécution d'un fichier.sql via le binaire SQLCMD une erreur est retournée stipulant que la base n'existe pas.


    La commande SQLCMD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqlcmd -s HOSTNAME\INSTANCENAME -i "FILE.sql" -o "FILE.log"
    Le contenu du fichier SQL: FILE.sql ( une requête toute simple pour tester le fonctionnement )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    use AdventureWorks2008;
    go
     
    select loginID , nationalIDnumber
    from HumanResources.Employee 
    where JobTitle = 'Production Technician - WC30'
     
    go
    Le message d'erreur dans le fichier de log : FILE.log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Message 911, niveau 16, état 1, serveur HOSTNAME, ligne 12
    La base de données 'AdventureWorks2008' n'existe pas. Assurez-vous que le nom a été saisi correctement.
    Message 208, niveau 16, état 1, serveur HOSTNAME, ligne 2
    Nom d'objet 'HumanResources.Employee' non valide.
    J'ai cherché des pistes dans ce forum et plus généralement sur internet mais malheureusement sans succès. Ai-je raté quelque chose d'"évident" ?

    Merci d'avance pour votre aide.

  2. #2
    Membre averti Avatar de pulsdrum
    Homme Profil pro
    MVP SQL Server - Consultant en Business Intelligence - MCITP, MCTS et MCSA SQL Server 2008/2012
    Inscrit en
    Juillet 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : MVP SQL Server - Consultant en Business Intelligence - MCITP, MCTS et MCSA SQL Server 2008/2012
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 61
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Il faut dans un premier temps, vérifier dans SQL Server Configuration Manager que le service SQL Server est bien démarré.
    Il faut ensuite que tu vérifies que la base de données AdventureWorks2008 est présente et disponible dans ton instance avec SQL Server Management Studio.

    La commande SQLCMD attend que tu mettes a la place de :
    - HOSTNAME : le nom de de ton ordinateur, dans SQL Server Configuration Manager, propriétés de SQL Server, tu trouveras la valeur de ton Host Name.
    - INSTANCENAME : par défaut "MSSQLSERVER", tu peux les retrouver dans SQL Server Configuration Manager puis Network Configuration.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlcmd -s [HOSTNAME]\[INSTANCENAME] -i "C:\FILE.sql" -o "C:\FILE.log"
    ++

  3. #3
    Membre averti Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Points : 306
    Points
    306
    Par défaut
    Bonjour,

    Tout d'abord merci pour ton retour.

    "HOSTNAME,INSTANCENAME,FILE.sql,FILE.log" sont des noms "bidons" juste par soucis de confidentialité, pour ce qui concerne la syntaxe de SQLCMD la pas de problème je pense.
    D'autre part les bases sont bien présentes et fonctionnelles dans Management Studio, pour cette partie tout est "OK", requetage, tests divers et variés de scripts, etc... c'est vraiment avec le binaire SQLCMD que je rencontre des problèmes.

    Pour apporter de l'eau au moulin, j'ai voulu tester une connexion DAC, et ça aussi ça ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqlcmd -s HOSTNAME\INSTANCENAME -A
    Une erreur est retournée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    HResult 0xFFFFFFFF, niveau 16, ‚tat 1
    Interfaces r‚seau SQL Server : Une erreur s'est produite lors de l'obtention du port de connexion administrateur d‚di‚e (DAC). Assurez-vous que l'explorateur SQL est en service ou recherchez le num‚ro du port dans le journal des erreurs [xFFFFFFFF].
    D'autre part lorsque je check les services, les "SQL Serveur" sont démarrés, par contre ceux de l'"Agent SQL Serveur" sont en "stopped" et lorsque je veux les démarrer manuellement ça ne fonctionne pas avec l'erreur pour les deux services :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Windows n’a pas pu démarrer le service Agent SQL Server (MSSQLSERVER) sur Ordinateur local.
    Erreur 1067*: Le processus s’est arrêté inopinément.
    J'espère que ce sont des infos utiles. Merci d'avance

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par plopi Voir le message
    D'autre part lorsque je check les services, les "SQL Serveur" sont démarrés, par contre ceux de l'"Agent SQL Serveur" sont en "stopped" et lorsque je veux les démarrer manuellement ça ne fonctionne pas avec l'erreur pour les deux services :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Windows n’a pas pu démarrer le service Agent SQL Server (MSSQLSERVER) sur Ordinateur local.
    Erreur 1067*: Le processus s’est arrêté inopinément.
    Sous SQL Express, l'agent SQL n'est pas disponible. C'est pour ça que tu ne peux pas le lancer.

  5. #5
    Membre averti Avatar de pulsdrum
    Homme Profil pro
    MVP SQL Server - Consultant en Business Intelligence - MCITP, MCTS et MCSA SQL Server 2008/2012
    Inscrit en
    Juillet 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : MVP SQL Server - Consultant en Business Intelligence - MCITP, MCTS et MCSA SQL Server 2008/2012
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 61
    Points : 335
    Points
    335
    Par défaut
    Des idées :
    • Le service SQL Server Browser permet de faciliter la reconnaissance des instances SQL Server, essaye de le démarrer.
    • Ajoute le port de ton instance dans la commande SQLCMD et vérifie les paramètres TCP.
    • SQL Express DAC Error : sqlauthority


    ++

  6. #6
    Membre averti Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Points : 306
    Points
    306
    Par défaut
    Tout d'abord pour l'"Agent SQL", ça permet de "fermer de la porte".

    Ensuite, j'ai démarré le "SQL Browser" et ça ne change rien. En ce qui concerne la connexion DAC, ce n'est pas un soucis en soi, c'est juste pour tester la connexion vers la base et là aussi ça ne fonctionne pas non plus.

    Merci pour ces retours.

  7. #7
    Membre actif Avatar de ccambier
    Profil pro
    Consultant ERP
    Inscrit en
    Octobre 2006
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Octobre 2006
    Messages : 256
    Points : 267
    Points
    267
    Par défaut
    Bonjour,

    S'il s'agissait d'un problème de service non démarré ou de port, le message aurait été tout autre et serait arrivé bien avant de dire que la DB n'existait pas.

    Est-ce que les scripts fonctionnent avec SQLCMD sans passer par des fichiers .sql?

    Et s'il s'agissait d'un problème de droit, le message d'erreur serait tout à fait différent.

    Le Serveur ne serait pas Case Sensitive? (une piste peut-être....)

Discussions similaires

  1. Afficher une liste qui n'existe pas dans la base de données.
    Par Zvetch dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 25/09/2007, 13h23
  2. [SQL] Vérifier qu'il n'existe pas dans la base
    Par Nemrod13 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 11/06/2007, 17h13
  3. Problème si une balise n'existe pas
    Par SouCaline dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 25/06/2006, 14h26
  4. Réponses: 5
    Dernier message: 02/05/2006, 09h54
  5. Réponses: 8
    Dernier message: 26/01/2006, 14h47

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