我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
当前回答
您不能从远程服务器创建备份到本地磁盘—根本没有办法做到这一点。据我所知,也没有第三方工具可以做到这一点。
您所能做的就是在远程服务器机器上创建备份,然后让其他人将其压缩并发送给您。
其他回答
我以前也可以这么做……要做到这一点,你必须在远程服务器上打开一个共享。然后您可以直接将备份放在共享本身,而不是默认位置…
通常管理员会将备份文件保存在某个共享文件夹中与我们共享。我试过了,如果我把备份放在那里。它工作。
AppHarbor团队一直在努力解决这个问题,并使用SQL服务器管理对象和SqlBulkCopy开发了一个临时解决方案。
查看他们的博客文章,或者直接查看代码。
他们只在AppHarbor上进行了测试,但它可能值得一试。
我知道这是一个旧的帖子,但对于它的价值,我发现“最简单”的解决方案是右键单击数据库,并选择“任务”->“导出数据层应用程序”。这个选项可能只是因为服务器托管在Azure上(根据我过去使用Azure的记忆,.bacpac格式在那里非常常见)。
完成此操作后,您可以右键单击本地服务器“Databases”列表,并使用“Import data -tier Application”,使用.bacpac文件将数据获取到本地机器。
不过要记住,输出可能需要很长时间。我的出口花了大约两个小时。不过,导入部分要快得多。
2019年,如果你想要一个实际的本地备份,我建议使用mssql-scripter。是的,它是脚本,但你可以调整它,包括任何你想要的,这可以包括所有的数据。我写了一个bash脚本,在linux机器上使用它进行自动每日备份。查看我的要点:
https://gist.github.com/tjmoses/45ee6b3046be280c9daa23b0f610f407
部分第三方备份程序允许设置文件传输的网络权限。当SQL Server服务在受限帐户下运行且没有足够的网络权限时,它非常有用。尝试使用EMS SQL Backup解决此任务。