如何通过SSMS将Azure SQL DB只读库指定数据插入另一数据库
基于SSMS实现Azure SQL DB跨库导出插入EMP表数据操作步骤
前提说明
你使用的是Azure SQL单数据库Basic层,该层级不支持弹性查询、跨库关联等跨库直接访问功能,因此采用以下两种SSMS原生功能实现需求,无需额外权限。
方案1:使用SSMS导出导入向导(稳定性更高)
- 打开SSMS连接到DB-2,在对象资源管理器中找到
[EMP]表,右键选择「编写表脚本为」→「SELECT到」→「新查询编辑器窗口」 - 调整生成的SELECT语句,添加行数限制,修改为
SELECT TOP 250 * FROM [EMP];,执行后确认返回的250行是你需要的目标数据,如有筛选需求可自行补充WHERE条件 - 右键点击DB-2数据库→「任务」→「导出数据」,启动导出导入向导
- 数据源选择「SQL Server Native Client」,确认当前连接的服务器、身份验证信息、数据库为DB-2,点击下一步
- 目标选择「SQL Server Native Client」,填写DB-1的连接信息、身份验证信息,数据库选择DB-1,点击下一步
- 选择「编写查询以指定要传输的数据」,点击下一步
- 将之前调整好的
SELECT TOP 250 * FROM [EMP];语句粘贴到查询输入框,点击下一步 - 在目标表配置页,自定义你要在DB-1中创建的新表名称,点击「编辑映射」,确认勾选创建目标表选项,字段映射无异常后点击下一步
- 勾选「立即运行」,点击完成,等待执行结束即可在DB-1中看到新建的表和导入的250行数据
方案2:直接复制查询结果(适合小数据量场景,250行可快速完成)
- 连接DB-2,打开新查询窗口执行
SELECT TOP 250 * FROM [EMP]; - 点击查询结果左上角的空白方格全选所有结果,右键选择「连同标题一起复制」
- 切换到DB-1的对象资源管理器,右键点击「表」文件夹,选择粘贴,SSMS会自动创建新表并导入所有复制的250行数据,默认表名为
Table,可自行重命名为你需要的名称
校验建议
导入完成后在DB-1中执行SELECT COUNT(*) FROM 你的新建表名;,确认返回行数为250,按需校验字段值即可。
内容的提问来源于stack exchange,提问作者Iniyavan
相关产品推荐
相关产品推荐

