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 :

Publication site ASP.net --> comment rattacher les bases SQL serveur


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut Publication site ASP.net --> comment rattacher les bases SQL serveur
    Bonjour à tous,

    Je rencontre un souci ou plutôt je suis complètement perdu et je pense qu'il me manque un truc à la con qui me bloque actuellement.

    Après le développement d'un application web, l'achat d'un serveur pour la publier et la configuration d'IIS pour la faire fonctionner je me retrouve bloquer avec mes bases SQL serveur.

    Je possède trois fichier .mdf contenu dans le répertoire app_data de mon application, mais je n'ai aucun idée de comment les déclarer à mon application sur le serveur...

    Que dois-je faire ? Dois-je installer l'outil d'administration SQL Serveur pour faire cette déclaration?

    Désolé pour la question bête mais je suis perdu, je vous remercie par avance de votre aide !

    Emilien

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Le fichier.mdf est le fichier de données de votre base de données.
    Possédez-vous le fichier de journal des transactions de celle-ci (par défaut l'extension de celui-ci est .ldf) ?

    Pour attacher la base de données : CREATE DATABASE maBD ON (FILENAME = 'C:\monFichier.mdf')
    Le fichier de journal des transactions doit se trouver dans le même répertoire, sauf si vous ne l'avez pas :

    - Si vous disposez du fichier de journal des transactions, ajouter FOR ATTACH
    - Sinon, ajoutez FOR ATTACH_REBUILD_LOG

    Le plus propre restant de faire une sauvegarde complète de la base de données depuis l'instance source pour le restaurer sur l'instance cible

    Que dois-je faire ? Dois-je installer l'outil d'administration SQL Serveur pour faire cette déclaration?
    Pas forcément même si c'est plus pratique, disons que ça dépend de l'urgence de la manoeuvre

    Vous pouvez faire avec l'utilitaire SQLCMD, dans une console DOS :

    - ouvrez la console
    - tapez SQLCMD -S monServeur\monInstance -U user -P pass -d master
    - tapez la commande que je vous ai décrite plus haut, puis entree
    - tapez GO puis entrée

    Si vous voulez faire avec SSMS, c'est par ici si vous êtes sous SQL Server 2005.

    @++

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    Bonjour CTEMan,

    Merci pour toute ces précisions.
    Je suis rentré en contact avec mon hébergeur car à priori je devrais avoir depuis mon espace client des outils d'administration pour ce genre de chose.

    Pour info j'ai souscrit une offre 1&1 WinServeur Virtuel XL chez 1and1 me permet d'administrer mon serveur avec Virtuozzo et surtout Plesk qui ne veut pas s'installer. Du coup je fais tout à la mimine coté serveur...

    Selon leur réponse j'installerai SSMS sur mon serveur sinon je me lancerais dans la découvert de l'utilitaire SQLCMD.

    Sinon pour répondre à votre question, je possède effectivement le journal des transactions pour chacune de mes database.

    Je suis tout de même étonné de ne pas trouver de tutoriel sur le web pour effectuer ce genre de chose...

    En tout cas merci de votre réponse rapide et très détaillée !

    Emilien

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Référez vous à la documentation ici, ici, ou encore ici elle est assez bien faite et en l'occurence "marque-pageable" et téléchargeable depuis ma signature

    @++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 28
    Par défaut
    Merci pour ces indications j'ai paluché la doc.
    Donc actuellement j'ai réussis à installer le site web sur le serveur en utilisant plesk.

    Le gros souci concerne toujours le rattachement de mes bases de données au site. J'ai donc installer SQL Express + SSMS et j'ai déclaré mes bases au serveur.

    Tout va bien sauf que, lors du rattachement je ne pouvais laisser mes bases (fichier.mdf) dans le répertoire app_data du site web, car le browser de SSMS ne me permettait pas de descendre dans les répertoire enfant du répertoire InetPub.
    Du coup je les ai copié dans le répertoire data du répertoire de SQL server et j'ai pu les déclarer.

    Je me suis dit que cela aurait pas d'influence si ce n'est dans mes connexion string de mon web.config.

    Et effectivement ca m'a l'air de marcher, j'arrive à lancer le site mais je me retrouve confronté à une erreur qui me parle pas du tout et donc je ne trouve pas d'explications sur le net.

    La voici j'espère que vous pourrez m'aider :

    Échec de la création d'une instance d'utilisateur SQL Server en raison d'une défaillance d'extraction du chemin d'accès aux données de l'application locale de l'utilisateur. Vérifiez que l'utilisateur a un profil d'utilisateur local sur l'ordinateur. Fermeture de la connexion.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: Échec de la création d'une instance d'utilisateur SQL Server en raison d'une défaillance d'extraction du chemin d'accès aux données de l'application locale de l'utilisateur. Vérifiez que l'utilisateur a un profil d'utilisateur local sur l'ordinateur. Fermeture de la connexion.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:


    [SqlException (0x80131904): Échec de la création d'une instance d'utilisateur SQL Server en raison d'une défaillance d'extraction du chemin d'accès aux données de l'application locale de l'utilisateur. Vérifiez que l'utilisateur a un profil d'utilisateur local sur l'ordinateur. Fermeture de la connexion.]
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4844759
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
    System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144
    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342
    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +4859187
    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
    System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
    System.Data.SqlClient.SqlConnection.Open() +122
    System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +87
    System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +221
    System.Web.Security.SqlMembershipProvider.GetNumberOfUsersOnline() +513
    System.Web.Security.Membership.GetNumberOfUsersOnline() +37
    MasterPage.Page_Init(Object sender, EventArgs e) +145
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
    System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
    System.Web.UI.Control.OnInit(EventArgs e) +99
    System.Web.UI.UserControl.OnInit(EventArgs e) +77
    System.Web.UI.Control.InitRecursive(Control namingContainer) +333
    System.Web.UI.Control.InitRecursive(Control namingContainer) +210
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +378




    --------------------------------------------------------------------------------
    Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Une petite astuce pour les messages d'erreur : lorsque vous ne trouvez pas d'aide en français, vous pouvez rechercher le message en anglais de la façon suivante :

    Recherche de l'identifiant du message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM sys.messages
    WHERE text LIKE 'Échec de la création%extraction du chemin%'
    identifiant du message : 15382

    Recherche de sa traduction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT *
    FROM sys.messages
    WHERE message_id = 15382
    AND language_id = 1033 -- anglais
    on trouve le message :

    Failed to generate a user instance of SQL Server due to failure in retrieving the user's local application data path. Please make sure the user has a local user profile on the computer. The connection will be closed.%.*ls
    Une petite recherche sur votre moteur de recherche préféré (je ne suis pas en train de me plaindre que vous n'avez pas cherché, je sais que c'est l'inverse sinon je ne vous n'essaierai pas de vous aider ) vous oriente souvent dans la bonne direction.

    J'ai lu un peu dans ce que j'ai trouvé, et pour aller plus loin, dites-nous comment vous avez fait pour rattacher la base de données ?

    @++

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

Discussions similaires

  1. [Débutant] Publication site ASP.Net IIS6
    Par Nanais19 dans le forum Développement Web avec .NET
    Réponses: 2
    Dernier message: 18/10/2012, 10h39
  2. Réponses: 1
    Dernier message: 22/07/2011, 14h30
  3. [ASP.NET][C#]Comment modifier les entetes d'un DataGrid?
    Par Cervantes dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/04/2007, 17h51
  4. Réponses: 5
    Dernier message: 28/11/2005, 09h52

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