2010-06-09 49 views
6

背景:
我使用的部署工具Visual Studio 2010中
我右点击我的项目和所选封装/发布设置。把我所有的设置放在那里......问题与数据库部署(封装/ SQL发布选项卡)

然后我使用“web部署”将文件传输到运行远程代理服务的远程服务器,并且工作正常。我在Web.Release.config上做的转换完成它们的功能,服务器可以访问我手动创建的数据库。

问题:
我的下一步是让数据库部署也工作。 我进入了打包/发布SQL选项卡并输入了目标数据库的连接字符串。

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

此数据库已准备好接受导入。

我还输入源数据库的连接字符串。这生活在同一台服务器上。

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

数据库脚本选项都设置为架构和数据(改变这个没有区别)和数据库脚本设置为[自动生成的架构和数据]

现在当我部署此,我得到的错误:

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.

附加信息:
我可以成功地创建一个没有问题的包。我查看了zip中的内容,并可以看到SQL生成良好(因此连接到数据库时没有问题)。然后,我可以复制这个SQL并将其作为新数据库的新查询运行,并且表和数据创建正常。

我似乎无法弄清楚哪里出了问题,我GOOGLE了错误,并没有在整个互联网上的条目。有人有主意吗?

附录:
要获得什么可能会在一些进一步的想法,我把整个包到服务器,并使用IIS进口它。它告诉我我需要SQL Server管理对象。所以我安装了。 接下来尝试告诉我,我的用户没有创建数据库的权限,我认为优秀的这一定是问题所在。 :授予访问权限 - 重新运行。通过! 所以我删除了所有的表,并回到VS2010点击发布,我得到了同样的错误。 :(

回答

3

排序吧!

谢天谢地,我完全没了主意,当我回去的视频通过Hanselman的。他提到,网络部署代理可以拥有的权限。我去了一看,有它的属性选项卡称为日志上。

我进入帐户的detials访问的一个体面的水平,并点击好的。

然后我重新启动该服务的要求,以使更改。

然后我回到VS 2010并点击Publish Web。

音乐给我的眼睛,我看到“发布成功”的话,我检查数据库和表在那里。优秀!

我觉得我有点过度兴奋,如果你遇到这个问题,并且这个解决方案为你解决了这个问题,那么试着在喊出“YES !,是的,进去!当狂笑或人们会认为你像我一样怪异。

+1

介意发布该Hanselpants视频的参考链接? – 2010-08-20 03:18:03

+1

当然,看看我的其他问题。 http://stackoverflow.com/questions/2998440/where-can-i-find-up-to-date-information-walkthroughs-on-vs-2010-deployment(你想要的确切链接是:http:// live .visitmix.com/MIX10 /会话/ FT14) – 4imble 2010-08-20 09:16:54