我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
我需要将数据库从远程服务器复制到本地服务器。我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器。
一些要点:
我不能以复制文件的方式访问远程服务器; 我没有权限设置一个UNC路径到我的服务器;
知道如何复制这个数据库吗?我是否需要使用第三方工具?
当前回答
仅复制数据和模式(不会复制存储过程,函数等),使用SQL Server导入导出向导,并选择新建…当选择目标数据库时。
右键单击“数据库>任务>导入数据”。
选择数据源
数据源:SQL Server本机客户端 服务器名称:远程服务器 身份验证: Database:数据库名称
选择目的地
数据源:SQL Server本机客户端 服务器名称:本地服务器 身份验证: 数据库:新…
剩下的就很简单了。
其他回答
我以前也可以这么做……要做到这一点,你必须在远程服务器上打开一个共享。然后您可以直接将备份放在共享本身,而不是默认位置…
通常管理员会将备份文件保存在某个共享文件夹中与我们共享。我试过了,如果我把备份放在那里。它工作。
上面的答案是不正确的。即使有数据的SQL脚本也不是备份。备份是一个BAK文件,其中包含当前结构(包括索引)中的完整数据库。
当然,可以在本地系统上检索包含远程SQL Server数据库中所有数据和索引的完整备份的BAK文件。
这可以用商业软件来完成,直接将备份BAK文件保存到您的本地机器上,例如,这将直接从本地机器上的远程SQL db创建备份。
在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域环境试用)
仅复制数据和模式(不会复制存储过程,函数等),使用SQL Server导入导出向导,并选择新建…当选择目标数据库时。
右键单击“数据库>任务>导入数据”。
选择数据源
数据源:SQL Server本机客户端 服务器名称:远程服务器 身份验证: Database:数据库名称
选择目的地
数据源:SQL Server本机客户端 服务器名称:本地服务器 身份验证: 数据库:新…
剩下的就很简单了。