背景:
我正在使用 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)
数据库脚本选项设置为模式和数据(更改此设置没有区别)并且数据库脚本设置为 [自动生成的模式和数据]
当我现在部署它时,我收到错误:
错误 4 Web 部署任务失败。((09/06/2010 16:41:51) 在远程计算机上处理请求时出错。)
(09/06/2010 16:41:51) 在远程计算机上处理请求时出错。此时不应出现条目类型“未知”。序列化流可能已损坏。
附加信息:
我可以成功创建一个没有问题的包。我查看了 zip 中的内容,可以看到 SQL 生成良好(因此连接到数据库没有问题)。然后我可以复制此 SQL 并将其作为新数据库上的新查询运行,并且可以很好地创建表和数据。
我似乎无法弄清楚哪里出了问题,我用谷歌搜索了错误,整个互联网上都没有条目。有人有想法么?
附录:
为了进一步了解可能发生的情况,我将包发送到服务器并使用 IIS 将其导入。它告诉我我需要 SQL Server 管理对象。所以我安装了那个。下一次尝试它告诉我我的用户没有创建数据库的权限,我认为这一定是问题所在。:授予访问权限 - 重新运行。通过!所以我删除了所有的表并回到 VS2010 点击发布,我得到了同样的错误。:(