如何将我的数据库从 SQL Server 2008 Express 部署到 Azure SQL 数据库

How can I deploy my database from SQL Server 2008 Express to Azure SQL Database

我正在使用 Visual Studio Community 2013,SQL Server 2008 R2 Express Edition 用于 MVC Web 应用程序,使用 entity framework 代码优先迁移我的数据库。

我正在尝试让我的本地应用程序托管在 Microsoft Azure 平台上。

我已经注册了一个 30 天后到期的试用帐户,并成功部署了我的 MVC5 应用程序。

但是,这个应用程序需要一个我正在努力部署的数据库。

将我的数据库部署到 Azure 的最简单方法是什么,因为我似乎没有:

"Tasks" -> "Deploy Database to Microsoft Azure SQL Database" 选项可供我在 SSMS 中使用。

我已经提取了本地数据库的数据层应用程序并将其存储在我的 C 驱动器上,但是如果我稍后 window 连接到我的 Azure 帐户,然后右键单击服务器 select 部署数据层应用程序,它在 "Creating schema object in database" 上失败并出现以下错误:

TITLE: Microsoft SQL Server Management Studio

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------ ADDITIONAL INFORMATION:

Users cannot be mapped to certificates, asymmetric keys, or Windows logins in this version of SQL Server. (Microsoft SQL Server, Error: 40528)

我假设它试图创建我的本地帐户以及我必须设置的 IIS APPPOOL 帐户才能在我的本地网络上托管该网站,但是我看不到将它们从.dacpac 导出。

当我刷新数据库节点时,仍然没有数据库,我现在完全不知道如何将我的数据库部署到此服务器?

如果您可以提取兼容的数据层应用程序,然后使用您当前版本的 Management Studio 将其部署到您的目标服务器,那么这种方法应该可行,请参阅此 link 以了解更多关于确保您的数据库兼容。

失败了,就像我的情况一样。我 downloaded Management Studio 2015,它让我可以选择通过简单地右键单击所需的数据库将数据库部署到 Azure。

同样,这引发了关于我的数据库级别 IISAPPOOL 用户的错误,但不是我的服务器帐户用户。作为解决此问题的方法,我获取了数据库的 backup/restore 并删除了该用户,然后显然部署了复制数据库减去问题帐户。

现在剩下要做的就是使用 Azure 仪表板上提供的 Azure 连接字符串向我的版本 web.config 添加一个转换,然后重新部署网站。

问题已解决。