繁体   English   中英

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

[英]Azure SQL, Copy most of a database into an existing one (not new one) same server

我知道我可以使用以下方法将数据库克隆到一个新数据库中

创建数据库Database1_copy作为Database1的副本;

https://docs.microsoft.com/zh-cn/azure/sql-database/sql-database-copy-transact-sql

这是有缺陷的,除了在Azure中,数据库属性是由Azure门户管理的Azure之外,因此,我尝试寻找一种将大多数架构/资源/数据复制到现有数据库中的方法

将非常适合:

克隆数据库Database_test作为Database_production的副本

[甚至第一种方法都是“克隆”整个数据库,实际上目标数据库上应该保留很少的表,因此更好的方法是克隆所有内容('table1','table2')。 实际计划通过编写目标db所需的几个表并将其导入后覆盖这些表的脚本来实现此目的,但下注解决方案是另一种方法]

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

  1. 通过Azure门户
    • 在Azure门户( https://portal.azure.com )中打开数据库
    • 在数据库的概述刀片中,选择“复制”选项 在此处输入图片说明
    • 填写参数,您要在哪个服务器中复制 在此处输入图片说明
  2. 使用SQL Server客户端并连接到服务器
    • 在Azure中打开您的SQL Server刀片服务器
    • 选择“防火墙”选项
    • 点击“添加客户端IP”
    • 使用您的连接字符串和您喜欢的客户端连接到数据库,可能是SSMS
    • 执行您的SQL查询以在同一服务器上克隆数据库
-- 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/zh-cn/azure/sql-database/sql-database-copy-transact-sql

上面的SQL语句在Azure SQL数据库中可以按预期正常运行。

重要笔记:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM