【问题标题】:Problems with Database Deployment using VS2010 (Package/Publish SQL tab)使用 VS2010 的数据库部署问题(打包/发布 SQL 选项卡)
【发布时间】:2010-06-09 15:59:00
【问题描述】:

背景:
我正在使用 Visual Studio 2010 中的部署工具。
我右键单击我的项目并选择打包/发布设置。把我所有的设置都放在那里...

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

问题:
我的下一步是让数据库部署也能正常工作。 我进入 Package / Publish SQL 选项卡并输入目标数据库的连接字符串。

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

此数据库为空,可以接受导入。

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

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

Database Scripting 选项设置为 Schema and Data(更改此设置没有区别)并且数据库脚本设置为 [Auto Generated Schema and Data]

当我现在部署它时,我得到了错误:

错误 4 Web 部署任务 失败。((09/06/2010 16:41:51)一个错误 请求时发生 在远程计算机上处​​理。)

(09/06/2010 16:41:51) 一个错误 请求时发生 在远程计算机上处​​理。这 条目类型“未知”不是预期的 此时。序列化流 可能已损坏。

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

我似乎无法找出哪里出了问题,我用谷歌搜索了错误,整个互联网上都没有条目。有人有什么想法吗?

附录:
为了进一步了解可能发生的情况,我将包发送到服务器并使用 IIS 将其导入。它告诉我我需要 SQL Server 管理对象。所以我安装了那个。 下一次尝试它告诉我我的用户没有创建数据库的权限,我认为这一定是问题所在。 :授予访问权限 - 重新运行。通过! 所以我删除了所有的表并回到 VS2010 点击发布,我得到了同样的错误。 :(

【问题讨论】:

    标签: visual-studio-2010 msdeploy database-deployment


    【解决方案1】:

    排序!

    谢天谢地,当我回到 hanselman 的视频时,我完全没有想法。他提到 Web 部署代理可以有权限。我进去看了看,它的属性中有一个标签,叫做登录。

    我输入了一个具有良好访问权限的帐户的详细信息,然后点击了确定。

    然后我根据请求重新启动服务以启用更改。

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

    在我眼中的音乐,我看到“发布成功”字样,我检查了数据库和表格。太棒了!

    我觉得我有点过于兴奋了,吓到了办公室,如果你遇到了这个问题,而这个解决方案为你解决了这个问题,试着忍住大喊“是!,是的,进来!”的诱惑。一边疯狂地笑,否则人们会认为你像我一样奇怪。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多