2010-06-09 4 views
6

Hintergrund:
Ich bin die Deployment-Tools in Visual Studio 2010.
ich mein Projekt rechts geklickt und Verpackung/Einstellungen Veröffentlichen ausgewählt. Setzen Sie alle meine Einstellungen dort ...Probleme mit Datenbank-Deployment mit VS2010 (Package/Veröffentlichen Registerkarte SQL)

Ich bin dann "web deploy" verwenden, um die Dateien an meinen Remote-Server mit einem Remote-Agent-Dienst zu übertragen, und das funktioniert gut. Die Transformationen, die ich in meiner Web.Release.config habe, tun ihr Ding und der Server kann auf die Datenbank zugreifen, die ich manuell erstellt habe.

Problem:
Mein nächster Schritt war die Datenbank Deployment zu arbeiten zu erhalten. Ich ging in die Registerkarte Paket/SQL veröffentlichen und gab meine Verbindungszeichenfolge für die Zieldatenbank ein.

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

Diese Datenbank ist leer, um den Import zu akzeptieren.

Ich gebe auch die Verbindungszeichenfolge für die Quelldatenbank ein. Dies lebt auf demselben Server.

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

Datenbank Scripting-Optionen werden auf Schema und Datensatz (Ändern das macht keinen Unterschied) und der Datenbank-Skripte wird auf [Auto generierte Schema und Daten]

Wenn ich diese nun einsetzen, bekomme ich das Fehler:

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.

Zusätzliche Information:
ich ein Paket ohne Probleme erfolgreich erstellen können. Ich habe mir den Inhalt in der ZIP angeschaut und kann sehen, dass SQL gut erzeugt wird (also keine Probleme beim Verbinden mit der Datenbank). Ich kann dann diese SQL kopieren und sie als neue Abfrage für die neue Datenbank ausführen, und die Tabellen und Daten werden ordnungsgemäß erstellt.

Ich kann nicht herausfinden, wo das schief geht, ich habe den Fehler gegoogelt und es gibt keine Einträge im gesamten Internet. Hat jemand Ideen?

Nachtrag:
Um einige weitere Vorstellung davon zu bekommen, was man vor sich gehen, schickte ich das Paket über an den Server und importiert es IIS verwenden. Es sagte mir, dass ich SQL Server Management Objects benötigte. Also habe ich das installiert. Nächster Versuch es sagte mir, mein Benutzer hatte keine Berechtigung zum Erstellen der Datenbank, ich dachte, das ist das Problem. : Zugriff gewährt - Re-run. Bestanden! Also löschte ich alle Tabellen und ging zurück zu VS2010 geklickt, um zu veröffentlichen, und ich bekomme den gleichen Fehler. :(

Antwort

3

es Sorted!

Gott sei Dank, ich war total Ideen aus, wenn ich von Hanselman zu einem Video ging zurück. Er erwähnt, dass die Web Deployment Agent Berechtigungen haben kann. Ich ging, hatte einen Blick und es war auf eine Registerkarte in seinen Eigenschaften genannt lügt.

ich das detials eines Konto mit einem anständigen Niveau des Zugangs eingegeben und angeklickt in Ordnung.

ich neu gestartet dann den Dienst als um die Änderungen zu aktivieren angefordert.

Ich ging dann zurück zu VS 2010 und klickte auf Publish Web.

Musik zu meinen Augen, ich sehe die Worte "Publish gelungen", ich überprüfe die Datenbank und die Tabellen sind da. Ausgezeichnet!

Ich denke, ich erschreckt das Büro, indem ich ein wenig über aufgeregt, wenn Sie dieses Problem bekommen und diese Lösung behebt es für Sie, versuchen Sie in der Versuchung zu halten schreien "Ja !, ja, rein!" während du wahnsinnig lachst oder Leute werden denken, du bist so komisch wie ich.

+1

Mind einen Referenzlink zu diesem Hänselpants Video posten? –

+1

Sicher, schau dir meine andere Frage an. http://stackoverflow.com/questions/2998440/where-can-i-find-up-to-date-information-walkthroughs-on-vs-2010-deployment (der genaue Link, den Sie wollen, ist: http: // live .visitmix.com/MIX10/Sitzungen/FT14) – 4imble