none
Problème déploiement de Base de données sur le serveur RRS feed

  • Question

  • Bonjour tout le monde,

    Je suis entrain de développer une application Web (Asp .NET) en utilisant une base de données Sql Server (j'utilise sql server Express installé avec Visual Studio).

    A chaque fois que je veux accéder à la base de données, je déclaré une chaine de connexion:

    string connexionString = @"Data Source=LALIB-PC\SQLEXPRESS;Initial Catalog=BD_NAME;Integrated Security=True;User Id=sa;Password=XXXX;";

    Ça veut dire que j'utilise une connexion avec le compte SA et le mot de passe XXXX !!! Je voudrais savoir, lorsque je vais déployer mon application web sur un serveur IIS, bien sûr que je vais trouver des problèmes si le compte SA du sql server (du serveur) n'a pas le mot de passe XXXX, et donc est-ce que je dois créer un compte sur mon sql server express et puis de créer ce même compte sur le sql server du serveur que je vais héberger mon application, ou comment on fait exactement pour éviter ce type de problèmes ?!

    Une 2ème question: Je sais bien qu'on peut lire les chaînes de connexion dans le fichier Web.config, et donc lorsque je vais héberger mon application il suffit juste de changer les informations de connexion du fichier Web.config, est-ce que cela pourra être une bonne solution pour mon problème?

    Je voudrais avoir la méthode professionnelle qu'on utilise pour la connexion à la base de données

    Merci d'avance


    Bilal

    samedi 28 avril 2012 17:06

Réponses

  • Effectivement, dans le lien que Papy Normand m'a fournit j'ai trouvé la solution idéale à mon problème:

    1- D'abord, je crée des fichiers script .SQL pour ma base de données: (sur Visual Studio: clique droit sur la BD -> Publish to provider -> choisir l'emplacement du fichier .sql -> choisir le type de données à publier: données, schémas, données et schémas).

    2- J'exécute mon fichier script .SQL sur mon serveur de données afin de créer les tables sur sql server.

    3- Je mis à jour la chaîne de connexion stockée dans le fichier Web.config (nom du serveur,...)

    Ainsi mon application devra marcher sur le serveur de déploiement, avec la base de données bien sûr, et la chaîne de connexion est changeable selon le serveur...


    Bilal

    mercredi 2 mai 2012 09:01
  • Bonjour,

    Je ne vous donne que ce lien ( malheureusement  en anglais ) . Il vous faudra peut-être l'adapter car il concerne SQL Server 2005 ( si vous lisez SAC or SQL Server Surface Area Configuration, il a été remplacé dans les versions plus récentes par le SQL Server Configuration Manager )

    http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/a0ed5d30-63b0-4acd-b807-20a4d2d2a583

    Il y a dedans un lien vers la documentation MSDN qui pourrait vous être utile.

    Pour ceux qui ne connaissent pas Mike Wachal, il a fait partie de SQL Server Express Product Team ( qui s'occupe de tout ce qui concerne SQL Server Express chez Microsoft Corporation ). Il s'est aussi occupé de http://blogs.msdn.com/b/sqlexpress/ de 2004 à 2009 et pendant cette période, il répondait sur le SQL Server Express Forum à tous les problèmes. Ce Weblog est une mine de renseignements pour tout ce qui concerne SQL Server Express et il est dommage que trop de gens ne connaissent pas ce site. Le remplaçant de Mike n'est autre que le SQL Server Express Product Manager et il vient de sortir toute une série d'articles concernant SQL Server Express 2012 et IIS ( il est arrivé à me faire oublier Mike Wachal à qui je dois 90% de mes connaissances sur SQL Server Express )

    Si je retrouve d'autres liens, je les posterai.

    N'hésitez pas à poster à nouveau pour plus d'aide ou explications.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.



    • Marqué comme réponse BEN SBAIH Bilal mercredi 2 mai 2012 08:50
    • Modifié Papy Normand vendredi 11 août 2017 07:57 r oublié autres liens
    mardi 1 mai 2012 15:14

Toutes les réponses

  • Bonjour,

    Si mes souvenirs sont bons, il est possible de crypter la chaîne de connection même dans Web.config.Par contre, je n'ai jamais essayé et je ne sais pas comment on fait.

    Par contre, utiliser le login sa même pour des tests frôle l'hérésie, car il est le plus puissant tout au moins au niveau SQL Server ( c'est sûrement pour cela qu'il est désactivé par défaut pour SQL Server Express ). Il ne devrait être utilisé que pour les cas d'urgence ( quand tous les logins sont bloqués ou lorsque l'on doit accéder à l'instance SQL Server comme unique utilisateur car elle est "gravement malade").Il ne faut pas oublier que sa a tous les droits et surtout un fondamental : il peut en toutes ciconstances s'accorder n'importe quel droit sur une instance et ses bases...

    Il vaut mieux créer au moins un login SQL Server avec un minimum de permissions sur la base de données de façon à pouvoir à pouvoir executer les applications

    Je viens de rerouver le lien pour accéder par programme à la chaîne de connection située dans Web.Config

    http://msdn.microsoft.com/en-us/library/ms178411.aspx

    Je donne toujours les liens us car je ne suis jamais sûr que la/les pages ont été traduites en français.De plus, ce sont celles qui sont mises à jour en 1er et qui sont les moins sujettes à erreur.

    Vous trouverez dans la partie Security un lien expliquant comment encrypter une chaîne de connection ( c'est juste avant la partie Community content ).

    Personnellement, j'utilise un écran de saisie pour la connexion.Cela évite de laisser la chaîne de connexion dans l'application où , même cryptée, elle pourrait être retrouvée.

    N'hésitez pas à poster à nouveau pour plus d'aide ou d'explications.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.

    dimanche 29 avril 2012 22:35
  • Bonjour Papy Normand,

    Effectivement on peut stocker la chaine de connexion dans le fichier de configuration, on peut même crypter les informations sensibles...

    Ce que je cherche exactement, lorsque je vais héberger mon application sur un serveur IIS, est-ce que la connexion à la base de données posera un problème ?! car je travaille maintenant sur Sql Server Express et avec le compte sa, et dans le serveur y a Sql Server avec un autre compte (sûrement pas sa), alors je dois changer la chaine de connexion dans chaque fichier ou quoi faire dans ce cas ?!


    Bilal

    mardi 1 mai 2012 14:46
  • Bonjour,

    Je ne vous donne que ce lien ( malheureusement  en anglais ) . Il vous faudra peut-être l'adapter car il concerne SQL Server 2005 ( si vous lisez SAC or SQL Server Surface Area Configuration, il a été remplacé dans les versions plus récentes par le SQL Server Configuration Manager )

    http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/a0ed5d30-63b0-4acd-b807-20a4d2d2a583

    Il y a dedans un lien vers la documentation MSDN qui pourrait vous être utile.

    Pour ceux qui ne connaissent pas Mike Wachal, il a fait partie de SQL Server Express Product Team ( qui s'occupe de tout ce qui concerne SQL Server Express chez Microsoft Corporation ). Il s'est aussi occupé de http://blogs.msdn.com/b/sqlexpress/ de 2004 à 2009 et pendant cette période, il répondait sur le SQL Server Express Forum à tous les problèmes. Ce Weblog est une mine de renseignements pour tout ce qui concerne SQL Server Express et il est dommage que trop de gens ne connaissent pas ce site. Le remplaçant de Mike n'est autre que le SQL Server Express Product Manager et il vient de sortir toute une série d'articles concernant SQL Server Express 2012 et IIS ( il est arrivé à me faire oublier Mike Wachal à qui je dois 90% de mes connaissances sur SQL Server Express )

    Si je retrouve d'autres liens, je les posterai.

    N'hésitez pas à poster à nouveau pour plus d'aide ou explications.

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.



    • Marqué comme réponse BEN SBAIH Bilal mercredi 2 mai 2012 08:50
    • Modifié Papy Normand vendredi 11 août 2017 07:57 r oublié autres liens
    mardi 1 mai 2012 15:14
  • Bonjour, Tawaha2010,

    Est-ce que vous avez pu avancer en utilisant les infos fournies par Papy Normand ? Merci de tenir la communauté informée sur la suite de vos démarches.

    Bonne journée,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 2 mai 2012 07:34
  • Effectivement, dans le lien que Papy Normand m'a fournit j'ai trouvé la solution idéale à mon problème:

    1- D'abord, je crée des fichiers script .SQL pour ma base de données: (sur Visual Studio: clique droit sur la BD -> Publish to provider -> choisir l'emplacement du fichier .sql -> choisir le type de données à publier: données, schémas, données et schémas).

    2- J'exécute mon fichier script .SQL sur mon serveur de données afin de créer les tables sur sql server.

    3- Je mis à jour la chaîne de connexion stockée dans le fichier Web.config (nom du serveur,...)

    Ainsi mon application devra marcher sur le serveur de déploiement, avec la base de données bien sûr, et la chaîne de connexion est changeable selon le serveur...


    Bilal

    mercredi 2 mai 2012 09:01