2010-06-09 8 views
6

Contexte:
J'utilise les outils de déploiement dans Visual Studio 2010.
je raison mon projet et cliqué sélectionné Package/Paramètres de publication. Mettez tous mes paramètres là-dedans ...Problèmes avec le déploiement de base de données à l'aide VS2010 (Package/Publier onglet SQL)

J'utilise ensuite "web deploy" pour transférer les fichiers sur mon serveur distant exécutant un service d'agent distant et cela fonctionne correctement. Les transformations que j'ai sur mon Web.Release.config font leur truc et le serveur peut accéder à la base de données que j'ai créée manuellement.

Problème:
Ma prochaine étape était d'obtenir le déploiement de base de données de travail aussi. Je suis allé dans l'onglet Package/Publish SQL et entré ma chaîne de connexion pour la base de données de destination.

(Data Source=MyDBServer;Initial Catalog=Database2;User ID=User;Password=pass) 

Cette base de données est vide et prête à accepter l'importation. Je sais également la chaîne de connexion pour la base de données source. Cela vit sur le même serveur.

(Data Source=MyDBServer;Initial Catalog=Database;User ID=User;Password=pass) 

options de script de base de données sont mis à schéma et les données (modification de ce fait pas de différence) et les scripts de base de données sont réglés sur [générés automatiquement schéma et les données]

Quand je déploie maintenant, je reçois la erreur:

Error 4 Web deployment task failed.((09/06/2010 16:41:51) An error occurred when the request was processed on the remote computer.)

(09/06/2010 16:41:51) An error occurred when the request was processed on the remote computer. The entry type 'Unknown' was not expected at this time. The serialization stream may be corrupted.

Informations additionnelles:
Je peux créer avec succès un paquet sans problème. J'ai regardé le contenu dans le zip et peut voir le SQL est bien généré (donc pas de problèmes de connexion à la base de données). Je peux alors copier ce SQL et l'exécuter comme une nouvelle requête sur la nouvelle base de données et les tables et les données sont bien créées.

Je n'arrive pas à comprendre où cela ne va pas, j'ai cherché l'erreur et il n'y a pas d'entrées sur Internet. Quelqu'un a des idées?

Addendum:
Pour avoir une idée plus précise de ce qui pourrait se passer, j'ai envoyé le paquet sur le serveur et importer à l'aide d'IIS. Il m'a dit que j'avais besoin d'objets de gestion SQL Server. J'ai donc installé ça. Ensuite, il m'a dit que mon utilisateur n'avait pas la permission de créer la base de données, je pensais excellent que cela doit être le problème. : Accès accordé - Re-run. Passé! J'ai donc supprimé toutes les tables et je suis retourné à la publication cliquée sur VS2010 et j'ai la même erreur. :(

Répondre

3

Classées it!

Dieu merci, j'étais totalement d'idées quand je suis retourné à une vidéo par Hanselman. Il a mentionné que l'agent de déploiement Web peut avoir des autorisations. Je suis allé en avait un regard et il y avait un onglet dans ses propriétés appelé journal sur.

je suis entré dans detials d'un compte avec un bon niveau d'accès et cliqués bien.

Je puis remis en marche le service à la demande pour permettre aux changements.Je suis ensuite retourné à VS 2010 et j'ai cliqué sur Publier le Web. Musique à mes yeux, je vois les mots "Publier réussi", je vérifie la base de données et les tables sont là. Excellent!

Je pense que j'ai effrayé le bureau en devenant un peu plus excité, si vous avez ce problème et que cette solution le résout pour vous, essayez de résister à la tentation de crier "OUI!, Oui, entrez!" en riant maniaque ou les gens vont penser que tu es bizarre comme moi.

+1

Vous voulez afficher un lien de référence vers cette vidéo Hanselpants? –

+1

Bien sûr, consultez mon autre question. http://stackoverflow.com/questions/2998440/where-can-i-find-up-to-date-information-walkthroughs-on-vs-2010-deployment (le lien exact que vous voulez est: http: // live .visitmix.com/MIX10/Sessions/FT14) – 4imble