Azure SQL,将大部分数据库复制到现有的(不是新的)同一服务器中

时间:2017-01-27 19:40:50

标签: sql azure azure-sql-database azure-sql-server

我知道我可以使用

将数据库克隆到新的数据库中

创建数据库Database1_copy AS Database of Database1;

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy-transact-sql

这是不完美的,除了Azure,其中数据库属性由Azure门户管理,所以我试图找到一种方法将大多数架构/资源/数据复制到现有数据库

非常适合:

CLONE DATABASE Database_test AS Copy of Database_production

[甚至第一种方法是“克隆”整个数据库,实际上应该保留目标数据库上的几个表,因此更好的方法是CLONE EVERYTHING EXCEPT('table1','table2')。实际上计划通过编写目标数据库所需的几个表并在导入后覆盖它们来实现这一点,但是下注解决方案将是另一个]

2 个答案:

答案 0 :(得分:1)

您可以通过多种方式执行此操作:

  1. 通过Azure门户
    • 在Azure门户(https://portal.azure.com
    • 中打开您的数据库
    • 在数据库的概述刀片中,选择“复制”选项 enter image description here
    • 填写参数,您希望在哪个服务器上复制 enter image description here
  2. 使用sql server客户端并连接到服务器
    • 在Azure中打开SQL Server刀片
    • 选择“防火墙”选项
    • 点击“添加客户端IP”
    • 使用您的连接字符串和您喜欢的客户端连接到您的数据库,可以是SSMS
    • 执行sql查询以克隆同一服务器中的数据库

答案 1 :(得分:1)

-- Copy a SQL database to the same server
-- Execute on the master database.
-- Start copying.
CREATE DATABASE Database1_copy AS COPY OF Database1;

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-copy-transact-sql

上面的SQL语句在Azure SQL数据库中的预期效果非常好。

重要提示:

  1. 使用以下网址登录 master database 系统数据库server-level principal login或创建的登录名 要复制的数据库。

  2. 不是服务器级主体的登录名必须是     dbmanager角色以复制数据库。

  3. 使用SQL Server Management Studio
  4. 的更新版本