我已经完成了我的第一个完整的Orchard CMS网站,它是在SQL Server CE本地开发的。我想将其发布到 Azure,但我在使用 WebMatrix Migrate 功能时遇到困难。
我在 Azure 中有一个 SQL Server 实例,其中已经有一个空白的 Orchard 数据库(我想在迁移后期使用替换选项来对现有数据库进行核弹(。我已将我的 IP 添加到服务器防火墙规则中。
在 WebMatrix 3 中,我可以使用以下命令连接到我的 Azure 数据库:
- 服务器:myserver.database.windows.net
- 数据库:果园数据库
- 用户名: admin@myserver 密码
- :我的密码
我可以在WebMatrix中查看表格。
当我选择我的 CE sdf 文件(Orchard.sdf(并单击"迁移"按钮并输入完全相同的详细信息时,我得到以下内容(如果需要,可以提供完整的堆栈跟踪(:
我们无法使用提供的连接详细信息进行连接。
Microsoft.SqlServer.Management.Common.ConnectionFailureException: 无法连接到服务器 。---> System.Data.SqlClient.SqlException: 在以下情况下发生与网络相关或特定于实例的错误 建立与 SQL Server 的连接。找不到服务器或 无法访问。验证实例名称是否正确,以及 SQL Server 配置为允许远程连接。(提供者:命名 管道提供程序,错误: 40 - 无法打开与 SQL Server 的连接( ---> 系统.组件模型.Win32异常:找不到网络路径
我真的不确定问题是什么。我已经尝试了各种细节配置,但似乎没有任何效果。如果我以数据库用户(即不是服务器管理员(身份连接,则会收到不同的错误:
服务器主体"orchard_user"在当前安全上下文下无法访问数据库"master"。
我去吃点东西,现在我可以进入迁移的下一步了。当我选择替换数据库时,出现以下错误:
System.Reflection.TargetInvocationException:调用的目标引发异常。 ---> Microsoft.SqlServer.Management.Common.ConnectionFailureException:无法连接到服务器 。 ---> System.Data.SqlClient.SqlException:用户"admin"登录失败。
编辑:我得出的结论是WebMatrix不会将我的SQL Server CE数据库迁移到我的Azure SQL Server数据库。我安装了SQL Server Express并将其迁移到该站点,当我下班回家时,我将使用SQL Server迁移助手将其移动到Azure。
我最终安装了SQL Server Express,使用WebMatrix将SQL Server CE数据库迁移到该数据库。然后,我在 SSMS 中运行了将数据库部署到 Azure 数据库向导Microsoft以将我的数据库推送到 Azure。
我不能确定,但似乎WebMatrix无法将CE迁移到Azure。根据Azure doco:
建议始终使用最新版本的管理工作室,以便与 Azure 和 SQL 数据库Microsoft更新保持同步。更新 SQL Server Management Studio。
我想WebMatrix落后了什么的。希望这对我的情况有所帮助。