我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。

一些要点:

我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;

知道如何复制这个数据库吗?我是否需要使用第三方工具?


当前回答

只要满足以下条件,您就可以从远程SQL Server实例将备份备份到本地驱动器:

您在本地驱动器上有一个共享文件夹。 可以从SQL Server框中访问共享文件夹。

现在,在指定备份命令时,在指定磁盘选项时使用共享文件夹路径。

其他回答

试试这个吧:

1)在您的计算机中共享具有完全权限的文件夹

2)在你的SQL server: 控制面板->管理工具->服务->右键单击所有SQL服务

登录选项卡应以您的域管理员开始

3)在SQL server的维护向导中放置备份的位置和文件夹(\yourcomputername\sharedfoldernam)

我在公司的sql server 2008的8台服务器上做了远程备份

AppHarbor团队一直在努力解决这个问题,并使用SQL服务器管理对象和SqlBulkCopy开发了一个临时解决方案。

查看他们的博客文章,或者直接查看代码。

他们只在AppHarbor上进行了测试,但它可能值得一试。

正如Martin Smith所说,如果您无法访问计算机或文件系统,那么您将需要使用第三方工具,如Red Gate或Adept来对源系统和目标系统进行比较。Red Gate的工具将允许您复制对象、模式和数据。

仅复制数据和模式(不会复制存储过程,函数等),使用SQL Server导入导出向导,并选择新建…当选择目标数据库时。

右键单击“数据库>任务>导入数据”。

选择数据源

数据源:SQL Server本机客户端 服务器名称:远程服务器 身份验证: Database:数据库名称

选择目的地

数据源:SQL Server本机客户端 服务器名称:本地服务器 身份验证: 数据库:新…

剩下的就很简单了。

如果您使用SSMS下的Generate Scripts,请单击Advanced按钮。在“为依赖对象生成脚本”选项下,单击“True”。通过单击,每个对象的任何依赖关系也将以适当的顺序编写出来。