我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
当前回答
我知道这是一个旧的帖子,但对于它的价值,我发现“最简单”的解决方案是右键单击数据库,并选择“任务”->“导出数据层应用程序”。这个选项可能只是因为服务器托管在Azure上(根据我过去使用Azure的记忆,.bacpac格式在那里非常常见)。
完成此操作后,您可以右键单击本地服务器“Databases”列表,并使用“Import data -tier Application”,使用.bacpac文件将数据获取到本地机器。
不过要记住,输出可能需要很长时间。我的出口花了大约两个小时。不过,导入部分要快得多。
其他回答
试试这个吧:
1)在您的计算机中共享具有完全权限的文件夹
2)在你的SQL server: 控制面板->管理工具->服务->右键单击所有SQL服务
登录选项卡应以您的域管理员开始
3)在SQL server的维护向导中放置备份的位置和文件夹(\yourcomputername\sharedfoldernam)
我在公司的sql server 2008的8台服务器上做了远程备份
您不能从远程服务器创建备份到本地磁盘—根本没有办法做到这一点。据我所知,也没有第三方工具可以做到这一点。
您所能做的就是在远程服务器机器上创建备份,然后让其他人将其压缩并发送给您。
在Microsoft SQL Server Management Studio中,您可以右键单击要备份的数据库,然后单击Tasks -> Generate Scripts。
这会弹出一个向导,你可以在其中设置以下内容,以便对数据库进行像样的备份,即使是在远程服务器上:
Select the database you wish to backup and hit next, In the options it presents to you: In 2010: under the Table/View Options, change 'Script Data' and 'Script Indexes' to True and hit next, In 2012: under 'General', change 'Types of data to script' from 'Schema only' to 'Schema and data' In 2014: the option to script the data is now "hidden" in step "Set Scripting Options", you have to click the "Advanced" and set "Types of data to script" to "Schema and data" value In the next four windows, hit 'select all' and then next, Choose to script to a new query window
一旦它完成了自己的工作,就会有一个备份脚本摆在你面前。创建一个新的本地(或远程)数据库,并更改脚本中的第一个'USE'语句以使用您的新数据库。将脚本保存在一个安全的地方,然后在新的空数据库上运行它。这将创建一个(几乎)重复的本地数据库,然后可以根据需要进行备份。
如果您拥有远程数据库的完全访问权限,您可以选择在向导的第一个窗口中勾选“脚本所有对象”,然后在下一个窗口中将“脚本数据库”选项更改为True。不过要注意,您需要执行一个完整的搜索并将脚本中的数据库名称替换为一个新的数据库,在这种情况下,您不必在运行脚本之前创建这个数据库。这应该创建一个更准确的副本,但由于权限限制,有时不可用。
创建一个本地共享文件夹,具有“everyone”读写权限
连接到目标数据库,开始备份并像下面那样指向共享
\ mymachine \ shared_folder \ mybackup.bak
(Windows域环境试用)
我很惊讶,没有人提到Ola Hallengren提供的脚本备份解决方案,它绝对允许您从远程服务器备份一个DB到网络上的UNC路径免费(实际上,我正在使用它,因为我从一个开发服务器备份一个DB,我没有远程访问权限,除了通过SSMS到我的开发PC上的共享)。自2008年以来,它已经可用,并在SQL Server 2005上工作到2014年。
您需要确保您设置的共享有足够的访问权限:在备份过程中,我倾向于允许对“Everyone”AD组进行完整的读/写,因为我太懒了,不想考虑任何更严格的限制,但这是个人选择。
它被很好地使用,有很好的文档记录,而且非常灵活。我倾向于把procs和日志记录表放在它们自己的小实用程序数据库中,然后启动它。只要所有东西都在您的AD域中,而不是远程的,因为它在一个位于同一位置的服务器上或其他东西上,这是非常有效的。
很抱歉添加到一个非常古老的线程,但我在寻找其他东西时偶然发现了这个,并认为这对任何寻找这个主题的人来说都是一个有价值的添加。