locked
Dépendance de cache

    Question

  • Bonjour tout le monde,

    Sur les conseils du coach Microsoft ASPNET, j'ai cherché à établir une dépendance de cache sur une table SQL Server dans un fichier de base de données de type SQL Server dans le répertoire App_Data de l'application.

    Il n'y a pas eu moyen :

     C:\>dir t:
     Répertoire de T:\

    08/08/2011  16:50    <REP>          .
    08/08/2011  16:50    <REP>          ..
    10/08/2011  21:51         2 031 616 AffairesSansRisque_Data.mdf
    10/08/2011  21:51         3 932 160 AffairesSansRisque_Data_Log.ldf
                   2 fichier(s)        5 963 776 octets
                   2 Rép(s)  60 023 566 336 octets libres

    T:\>w:aspnet_regsql -C "Data Source=.\SQLEXPRESS;Database=AffairesSansRisque_Dat
    a.mdf;Integrated Security=True;User Instance=True" -ed -et -t annonces

    Activation de la base de données pour la dépendance de cache SQL.

    ..Une erreur s'est produite. Détails de l'exception :
    Impossible d'ouvrir la base de données "AffairesSansRisque_Data.mdf" demandée pa
    r la connexion. La connexion a échoué.
    Échec de l'ouverture de session de l'utilisateur 'UC00004\admin'.

    Impossible de se connecter à la base de données SQL pour l'inscription de la dép
    endance de cache.

     

     

    Je précise que c'est le seul ennui que j'ai avec SQL Server (si ce n'est que je dois insister un peu quand j'ouvre le service Reporting Services). Aussi bien Management Studio que Visual Studio 2005 ouvrent SQL Express 2008 sans difficulté sous le même profil utilisateur.

    J'en viens donc à me demander si je dois autoriser l'exécution distante de SQL Server pour exécuter aspnet_regsql, si oui comment je fais, si non quels sont les prérequis pour établir une dépendance de cache.

    Pour progresser sur la résolution de la première question (autoriser l'exécution distante) j'ai lancé l'installation center qu'on trouve dans le menu démarrer de Windows XP, j'ai vu que la commande réparer me réclame un support d'installation en m'invitant à choisir un répertoire, et que quel que soit le répertoire que je choisis on me répond qu'il n'est pas valide. J'ai pourtant pris soin de garder une copie de l'outil d'installation avant qu'il n'efface son répertoire temporaire de décompression. Au vu du nombre de fois qu'on voit évoquer ce point, un peu de clarté dessus ne nuirait pas.

     

    Thursday, August 11, 2011 5:32 PM

All replies

  • Il semblerait bien que oui, il faut autoriser les connexions distantes, mais que ça n'est pas aussi immédiat que prévu.
    Dans le gestionnaire de configuration SQL Server, j'ai activé le protocole TCP/IP et les canaux nommés.
    ça ne suffit pas. Je me doute d'après le nom que je pourrais bien avoir besoin du service SQL Server Agent, mais lorsque je cherche à l'activer, je me heurte à l'erreur 80070032, cette demande n'est pas prise en charge.
    Si j'essaie par NET START, c'est erreur 1058 : le service ne peut pas être démarré parce qu'il est désactivé ou qu'aucun périphérique ne lui est associé.

    Je ne demande pas mieux que de l'activer, moi, mais c'est là qu'on m'a dit que la demande n'était pas prise en compte.

    Bon alors quoi, tout réinstaller ?

    Saturday, August 13, 2011 2:08 PM
  • Bonjour,

    J'ai trouve ce lien en anglais où l'on parle de l'inscription de la dépendance de cache

    http://msdn.microsoft.com/en-us/library/ms229862(v=VS.90).aspx

    ou en français : http://msdn.microsoft.com/fr-fr/library/ms229862(v=VS.90).aspx

    D'après cet article, c'est un problème purement ASP.NET

    Vous avez un exemple pour activer la dépendance de cache pour la base Northwind et la table Employees :

    aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees

    En ce qui concerne vôtre problème, je peux faire plus de recherches mais je n'ai jamais utilisé ASP.NET.

    Par contre, j'ai 2 remarques à faire :

    - vous êtes dans le Forum SQL Server Express et pour cette édition, le SQL Agent Service est désactivé pour SQL Server Express 2008 et même absent pour SQL Server Express 2008 et 2008 R2. La SQL Server Express Team a introduit le SQL Agent service en le laissant désactive pour Express 2008 simplement pour faciliter le passage de la version Express à une version payante telle que Standard,Developper ou Entreprise ( lors de l'upgrade, il y a simplement activation du service au lieu de la création de ce service.

    - en ce qui concerne les connexions distantes, l'Express Edition est la seule qui a les connexions distantes non activées par défaut ( celà se modifie pendant l'installation facile pour Express 2008 et ultérieur, problématique pour Express 2005 puisque qu'il faut cocher la case Options avancées pour y accéder et que nulle part dans la doc Express 2005 ce n'est indiqué ).Si vous avez installé SSMSE ( SQL Server Management Studio Express ), après connexion, clic-droit sur le nom de l'instance ( si vous avez fait une installation par défaut MonOrdinateur\SQLEXPRESS ) dans la partie supérieure de l'explorateur d'objets,. Dans le menu conceptuel, cliquez sur Propriétés, vous arrivez à un nouvel écran .Regardez en bas sous les options de connexion par défaut, vous verrez Connexion au serveur distant.Cochez la checkbox marquée Autoriser les connexions distantes.Cliquer sur le bouton marqué OK ( en bas à droite ).

    Pour être sûr que cette option a bien été validée, je vous conseille de redémarrer vôtre service SQl Server , ce qui est très facile dans SSMSE :

    - clic-droit sur le nom de vôtre instance.

    - dans le menu conceptuel , cliquer sur Redémarrer.

    - vous verrez un message ressemblant à TITRE : Microsoft SQL Server Management Studio
    ------------------------------

    Voulez-vous vraiment redémarrer le service MSSQL$SQLEXPRESS1 sur LAMBIN-1D6EECAC ?

    ------------------------------
    BOUTONS :

    &Oui
    &Non
    ------------------------------
    sur mon PC, le nom de mon ordinateur est LAMBIN-1D6EECAC et le nom court de l'instance SQLEXPRESS1.Cliquer sur Oui

    vous verrez apparaitre une ProgressBar qui va se remplir.A la fin du redémarrage, le petit symbole situé devant le nom coplet de l'instance redevient vert: le service est redémarré

    Il y a quelque chose que je ne comprends pas dans vôtre chaîne de connexion . Vous avez user instance = true or cette option interdit toute connexion à un ordinateur non local ( ou par authentification mixte ou SQL Server ). Donc , j'en conclus que vous n'aviez pas besoin d'activer les connexions non locales.

    Je vous signale que user instance n'existe que pour l'Express Edition et que cette possibilité est dépréciée depuis la version 2008, pour Denali,voir le lien suivant au sujet de LocalDb ( user instance devrait disparaître après Denali ):

    http://blogs.msdn.com/b/sqlexpress/archive/2011/07/12/introducing-localdb-a-better-sql-express.aspx

    Je vais jeter quand même un coup d'oeil sur ce Coach ASP.NET pour essayer de comprendre l'interet des user instances avec ASP.Net.

    Surtout que d'après cet article écrit par Mike Wachal ( SQL Server Express Team )

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

    les instances utilisateurs ( en français ) ou user instances ou RANU en anglais ne sont pas recommandées pour ce que l'on appelle les hosting environments ( en anglais ). Vu tous les problèmes que l'on rencontre dans le forum américain SQL Server Express Edition suite à la conjonction ASP.Net , user instances, je ne comprends pas pourquoi dans un coach, on parle d'utiliser les user instances. Pour moi, c'est presque une hérésie ( désolé pour la personne qui a fait ce Coach, alors qu'il est si simple d'utiliser SQL Server Express Edition comme n'importe quelle édition payante avec quelques limites comme la taille maximale d'une base ou l'absence du SQL Agent service ). Surtout qu'il y a maintenant 1 an que tout le monde parle de la mort programmée des user instances...

    Pour plus de renseignements, voir le site SQL Server Express WebLog

    http://blogs.msdn.com/b/sqlexpress/

    et notamment http://blogs.msdn.com/b/sqlexpress/archive/2008/02/22/sql-server-express-and-hosting.aspx

    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.
    Thursday, August 18, 2011 9:28 PM