AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 5887
Accepted
Nick Chammas
Nick Chammas
Asked: 2011-09-17 14:12:58 +0800 CST2011-09-17 14:12:58 +0800 CST 2011-09-17 14:12:58 +0800 CST

如何将我的 SQL Azure 数据库复制到本地 SQL Server 实例?

  • 772

我有一个托管在 SQL Azure 实例上的 OLTP 数据库。我想从云中提取数据库的副本,这样我就可以对其运行一些繁重的提取和 OLAP 样式的查询,而不会影响源数据库。

如何将数据库的副本下拉到本地 SQL Server 实例?

backup duplication
  • 5 5 个回答
  • 14127 Views

5 个回答

  • Voted
  1. Best Answer
    Nick Chammas
    2011-09-17T14:19:46+08:002011-09-17T14:19:46+08:00

    使用SQL Azure 迁移向导:

    SQL Azure 迁移向导 (SQLAzureMW) 为您提供分析、生成脚本和迁移数据(通过 BCP)的选项:

    1. SQL Server 到 SQL Azure
    2. SQL Azure 到 SQL Server
    3. SQL Azure 到 SQL Azure
    • 9
  2. Nick Chammas
    2011-09-17T14:22:07+08:002011-09-17T14:22:07+08:00

    Red Gate 有一个恰当命名的SQL Azure 备份工具。它是免费的,但 Red Gate 已停止支持它。

    • 4
  3. Nick Chammas
    2011-09-17T14:58:01+08:002011-09-17T14:58:01+08:00

    编写一个bcp脚本,将所有表的内容导出到本地文件。

    首先编写一个查询,该查询将输出一个bcp命令,将目标数据库中的每个表导出到目标计算机上的路径:

    SELECT 
          'bcp '
        + SCHEMA_NAME(schema_id) + '.' + name
        + ' out '
        + ' D:\local_backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'
        + ' -c '
        + ' -S servername.database.windows.net '
        + ' -d database_name '
        + ' -U username '
        + ' -P password'
    FROM sys.tables;
    

    bcp从要复制到的计算机上使用 SQL Azure 数据库执行此查询,并将结果保存到cmd文件中。执行该cmd文件以将每个表导出到文本文件。

    C:\> REM ask bcp to save the results of the above query to a file
    C:\> bcp "SELECT      'bcp '    + SCHEMA_NAME(schema_id) + '.' + name   + ' out '   + ' D:\backup_directory\' + SCHEMA_NAME(schema_id) + '.' + name + '.txt'    + ' -c '    + ' -S servername.database.windows.net '    + ' -d database_name '  + ' -U username '   + ' -P password' FROM sys.tables;" queryout output_path\bcp_script.cmd -c -S servername.database.windows.net -d database_name -U username -P password
    
    C:\> REM execute the bcp commands saved to file
    C:\> output_path\bcp_script.cmd
    

    这是一种快速而肮脏的方法,不适合大型数据库或复杂模式。

    • 4
  4. Marian
    2012-11-15T15:03:38+08:002012-11-15T15:03:38+08:00

    我注意到这个列表中有一个新工具,它是Idera 的 Azure SQL 数据库备份。它是免费的,而且他们通常会制作很好的工具,所以值得一试。

    将数据库(但这次只有架构,没有数据)导出到 Azure 的另一种方法是使用 DAC 包(从 Management Studio 或 Visual Studio 2010 中提取的 .dacpac 文件)。这仅适用于 SQL 2008 R2 SP1+。

    您可以在此处阅读有关数据层应用程序的详细信息:

    • 您需要了解的有关数据层应用程序 (DAC Fx) 的内容
    • 简化数据的导入和导出。
    • 2
  5. user16741
    2013-01-05T07:46:09+08:002013-01-05T07:46:09+08:00

    您可以使用 SSMS 数据导入向导。这是一篇关于它的好博客文章,带有图片。关键点 是为源数据库选择 .NET 数据提供程序。我在尝试使其与其他(和默认 - 本机)提供商一起工作时遇到了很多问题。

    • 0

相关问题

  • SQL Server 备份策略的优缺点及其合适的使用场景

  • 更改了 max_allowed_pa​​cket 并仍然收到“数据包太大”错误

  • SQL Server Express 的任务计划程序

  • 我可以在使用数据库后激活 PITR 吗?

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    您如何显示在 Oracle 数据库上执行的 SQL?

    • 2 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    我可以查看在 SQL Server 数据库上运行的历史查询吗?

    • 6 个回答
  • Marko Smith

    如何在 PostgreSQL 中使用 currval() 来获取最后插入的 id?

    • 10 个回答
  • Marko Smith

    如何在 Mac OS X 上运行 psql?

    • 11 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Marko Smith

    将数组参数传递给存储过程

    • 12 个回答
  • Martin Hope
    Manuel Leduc PostgreSQL 多列唯一约束和 NULL 值 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler 什么时候应该将主键声明为非聚集的? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - 哪个更好作为主键? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick 如何优化大型数据库的 mysqldump? 2011-01-04 13:13:48 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve