我通过Management Studio将本地计算机上的SQL Server数据库发布到Azure。
假设我在Azure" California"上命名数据库。我第一次这样做是好的。
然后我在本地数据库上进行了更改,添加了列,添加数据等。然后我想再次将此数据库部署到Azure。
但是现在管理工作室不让我这么做。它说数据库"加利福尼亚"已经存在于Azure上。
我可以通过删除现有的" California"来解决这个问题。首先在Azure上,然后再次部署。但这似乎不正确......每次我在本地进行数据库更改时,我需要在部署之前删除Azure上的那个?
有谁知道如何解决这个问题?
答案 0 :(得分:1)
最好的方法是在Visual Studio中创建数据库项目以维护数据库模式,然后可以进行数据库比较以创建脚本以在Azure上更新数据库。
RedGate Schema Compare也会做类似的事情。
答案 1 :(得分:1)
我知道问题被问到已经有一段时间了,但是,没有接受答案。因此,为了帮助任何来这里遇到类似问题的人,以下链接描述了许多方法。
我更喜欢从SQL Management Studio部署SqlDb
http://azure.microsoft.com/en-us/documentation/articles/sql-database-deploy/
如何:部署到SQL数据库 在Management Studio中,连接到具有要迁移的数据库的本地SQL Server实例。
1)右键单击数据库 - >单击任务,然后单击“将数据库部署到SQL Azure”。
2)在“部署设置”中,输入数据库的名称。
3)单击“连接”。
4)在服务器名称中,输入10个字符的服务器名称,然后输入.database.windows.net。
5)在“身份验证”中,选择“SQL Server身份验证”。
6)输入在创建SQL数据库逻辑服务器时配置的管理员登录名和密码。
7)点击选项。
8)在“连接属性”的“连接到数据库”中,键入master。
9)单击“连接”。此步骤结束连接规范并将您带回向导。
10)单击Next并单击Finish运行向导。
答案 2 :(得分:0)
如果您使用的是SQL 2012,则可以导出数据层应用程序(bacpac)文件,然后在登录SQL Azure实例时导入该文件。
答案 3 :(得分:0)
更新2020年1月
(我假设问题是在Azure上更新架构,而不是更新数据)
如果您使用Code First创建数据库。那真的很简单。
假设您的连接字符串指向本地数据库(您要更新到Azure的数据库)
Voila!这么简单