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 :

Inclure SQL Server Express et activer sa Base de données dans un installeur [2014]


Sujet :

Administration SQL Server

  1. #1
    Membre éprouvé Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 147
    Par défaut Inclure SQL Server Express et activer sa Base de données dans un installeur
    Bonjour à tous !

    Tout est dans le titre...

    Chaque nouvel utilisateur qui installe l'appli (c'est un fichier accdb) doit se voir installer "en même temps"

    • une copie de MS SQL Server Express,
    • sa propre db liée *.mdf prête pour Réplication/fusion avec les serveurs de la boîte.
    • (+ répertoires pdf, jpg, les dll/ocx, Help.chm - No problemo...)

    Quel sera le meilleur logiciel de création d'installeur ?

    J'ai d'abord essayé les solutions de Visual Studio (cfr le très bon tuto de Gaby https://gaby277.developpez.com/Tutor...rProject/#L8-1). Puis Advanced Installer, ClickOnce indisponible, Powershell non plus... Pas de documentation VS complète.

    Le résultat est fonctionnel mais terriblement basique. Et aussi un choix de police unique (c'est flou !), des icones introuvables, le visuel est vraiment atroce, primitif à décourager les clients avant même de commencer... Bref : la galère !

    J'ai ensuite trouvé Actual Installer https://www.actualinstaller.com/ , hyper-clair. Premiers tests de base très satisfaisants.

    Actual Installer peut aller chercher MS SQL Server Express en ligne (c'est build-in), et on peut aussi lui demander d'importer et d'installer Access Runtime (ou n'importe quoi d'autre), en précisant l'addresse de la version souhaitée.

    La question est :

    Comment automatiser au mieux le processus de création de la base de données MSSQL Server à l'installation, et avec quels outils ?

    Je suppose qu'il ne suffit pas de coller les trois fichiers mdf, mdf.dsn et _log.ldf dans un répertoire local....

    Ah si ???

    Ah bon !!

    Sérieusement, quel est votre avis ???

    Un grand merci d'avance à tous !

    phil



    CAPTURE DE ACTUAL INSTALLER


    Nom : ActualInstaller.JPG
Affichages : 296
Taille : 113,0 Ko

  2. #2
    Membre éprouvé Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 147
    Par défaut
    Re-bonjour à tous !

    Un peu de recherche, et je viens de voir qu'il est possible de copier-coller manuellement les deux fichiers mdf et log.ldf d'un PC à l'autre...

    1. Mettre d'abord la base hors-ligne dans SQL Server sur le PC d'origine
    2. Aller dans C:\Programmes\Microsoft SQL Server\...\MSSQL\DATA\ et y copier les deux fichiers
    3. Clé USB
    4. Coller ibidem sur PC de destination
    5. Cliquer "Joindre" dans SQL Server sur PC de destination.

    Ca vaut ce que ça vaut... Ce serait bien de mettre ça dans l'installeur... Mais ?

    Est-ce que cela remplacera le travail de l'Assistant Copie de base de données (que je n'ai d'ailleurs pas sur SQL Server Express) ?

    De plus, https://docs.microsoft.com/fr-fr/sql...l-server-ver15 nous dit que

    L’Assistant Copie de base de données ne peut pas être utilisé pour copier ou déplacer les bases de données :
    1. système ;
    2. marquées pour la réplication ;
    3. marquées comme Inaccessible, Chargement, Déconnecté, Récupération, Suspect ou en Mode urgence ;
    4. qui ont des fichiers journaux ou de données stockés dans Microsoft Azure Storage.

    Dans les "Tâches", j'ai aussi essayé "Exporter une application de la couche de données...". Cela produit un gros fichier *.bacpac , dont je ne sais pas encore trop à quoi il peut servir...

    Cela nous fait trois pistes...

    D'autres idées à l'horizon ???

    phil


    (
    )

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par harpyopsis Voir le message
    Re-bonjour à tous !

    Un peu de recherche, et je viens de voir qu'il est possible de copier-coller manuellement les deux fichiers mdf et log.ldf d'un PC à l'autre...

    1. Mettre d'abord la base hors-ligne dans SQL Server sur le PC d'origine
    2. Aller dans C:\Programmes\Microsoft SQL Server\...\MSSQL\DATA\ et y copier les deux fichiers
    3. Clé USB
    4. Coller ibidem sur PC de destination
    5. Cliquer "Joindre" dans SQL Server sur PC de destination.

    Ca vaut ce que ça vaut... Ce serait bien de mettre ça dans l'installeur... Mais ?
    C'est pas la bonne méthode :
    1) backup de la base
    2) restore.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BACKUP DATABASE MonNomDeBase TO DISK = 'C:\???...\MaBase.bak'
    RESTORE DATABASE MonNomDeBase FROM DISK = 'C:\???...\MaBase.bak'
    Si nécessaire utilisez l'option MOVE dans la clause WITH pour indiquer l'emplacement des fichiers de la base

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RESTORE DATABASE MonNomDeBase FROM DISK = 'C:\???...\MaBase.bak' 
    WITH MOVE 'NomLogoqueFichierData' TO 'C:\NouvelEmplacement\NomDuFichier.mdf'
         MOVE 'NomLogoqueFichierTran' TO 'C:\NouvelEmplacement\NomDuFichier.ldf'
    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/ * * * * *

  4. #4
    Membre éprouvé Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 147
    Par défaut
    Oke, merci infiniment Frédéric !

    Va donc pour utiliser Backup - Restore, si un copier/coller de *.mdf et *log.ldf n'est pas la bonne méthode !

    N'oublions pas en passant, que la base à installer sur chaque nouvelle machine sera une copie pratiquement vide de données. L'IHM Access est fin-prête pour "on no data", "empty/null recordset".

    Questions :

    1. Tu me donnes du code, mais je suis nul et béotien avec SQL Server ! Ou faudrait-il écrire ce code ??? Dans un script ? Comment ouvrir, sauvegarder et exécuter au bon endroit ??? Ah-la-la, il faut encore tout me dire !
    2. Serait-il équivalent de créer manuellement la sauvegarde une bonne fois pour toutes par le menu "Tâches" ? Est-ce la même chose ?
    3. Une fois la db (en format *.bak ???) collée au bon endroit sur la machine de destination par l'installeur, quelles seront alors les étapes pour la rendre active (cad : *mdf et log.ldf, utilisable par le fichier front-end accdb, et réplicable merge par Server) ?? Faudra-t-il exécuter le code RESTORE DATABASE ??? Comment faire ça proprement depuis l'installeur ???


    Pas de doutes, cette fois on avance bien !!

    Un super merci !

    phil

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Dans SQL Server et contrairement à beaucoup de "pseudo" SGBDR, tout rdt fait par le moteur SQL. Il n'y a donc aucun script à lancer autrement que comme requête…
    Deux solutions :
    • dans SSMS (aspect graphique), pour développer
    • dans SQLcmd.exe (mode "caractères) en ligne de commande


    POur les scripts SQL de lancement, comme la restauration, tu peut donc, après installation de SQL Server qu'il faut faire en premier, utiliser comme suit SQLcmd :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLcmd -S"nom de l'instance SQL Server" -U"nom de connexion" -P"Mot de passe" -Q"Requete ou lot de requêtes à lancer"
    L'aide sur le sujet :
    https://docs.microsoft.com/fr-fr/sql...l-server-ver15

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

  6. #6
    Membre éprouvé Avatar de harpyopsis
    Homme Profil pro
    Vétérinaire
    Inscrit en
    Octobre 2015
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Indonésie

    Informations professionnelles :
    Activité : Vétérinaire
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2015
    Messages : 147
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQLcmd -S"nom de l'instance SQL Server" -U"nom de connexion" -P"Mot de passe" -Q"Requete ou lot de requêtes à lancer"
    Ok, merci Frédéric, ça semble clair...

    Dans l'installeur "Actual Installer", ca donnerait ça ??? (En attendant p-ê de revenir à VS).

    Nom : AddCommand.JPG
Affichages : 218
Taille : 61,6 Ko

    Je viens d'installer Windows 10 sur une machine, et je me prépare maintenant à lui coller Express ET Developer 2019 côte-à-côte... Ils n'ont qu'à bien se tenir !!!

    Je te tiens au courant sous peu !

    phil

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    22 010
    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 : 22 010
    Billets dans le blog
    6
    Par défaut
    Oui à peu de chose près…..

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

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

Discussions similaires

  1. sql server:creation backup d'une base de donnée
    Par yucf_miagiste dans le forum Administration
    Réponses: 3
    Dernier message: 25/09/2007, 15h41
  2. [SQL SERVER][ACCESS]Taille de la base de données.
    Par aityahia dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/05/2007, 19h36
  3. [SQL SERVER 2005] comment créer une base de données ?
    Par Syrrus dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/03/2007, 14h26
  4. [C#] inclure sql server express
    Par superbobo dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/11/2006, 16h55
  5. [C#/SQL Server 2005] Comment créer une base de donnée par le code ?
    Par FraktaL dans le forum Accès aux données
    Réponses: 4
    Dernier message: 09/09/2006, 17h27

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