Fer*_*ndo 228 sql sql-server backup
我需要将数据库从远程服务器复制到本地服务器.我尝试使用SQL Server Management Studio,但它只备份到远程服务器上的驱动器.
一些要点:
有关如何复制此数据库的任何想法?我是否必须使用第三方工具?
Dan*_*ill 176
在Microsoft SQL Server Management Studio中,您可以右键单击要备份的数据库,然后单击"任务" - >"生成脚本".
这会弹出一个向导,您可以在其中设置以下内容,以便对数据库执行合适的备份,即使在远程服务器上也是如此:
一旦完成它,你就可以在你面前准备一个备份脚本了.创建新的本地(或远程)数据库,并更改脚本中的第一个"USE"语句以使用新数据库.将脚本保存在安全的位置,然后继续对新的空数据库运行它.这应该会创建一个(几乎)重复的本地数据库,然后您可以根据需要进行备份.
如果您具有对远程数据库的完全访问权限,则可以选择在向导的第一个窗口中选中"脚本所有对象",然后在下一个窗口中将"脚本数据库"选项更改为True.但请注意,您需要在脚本中执行完整搜索并将数据库名称替换为新数据库,在这种情况下,您无需在运行脚本之前创建该数据库.这应该创建更准确的副本,但由于权限限制有时无法使用.
Sha*_*tin 46
要仅复制数据和模式(不会复制存储过程,函数等),请使用SQL Server导入和导出向导,并在选择目标数据库时选择新建....
右键单击数据库>任务>导入数据.
选择数据源
选择目的地
New...剩下的就是直截了当.
T. *_*ter 43
首先,使用Everyone向计算机上的本地路径授予完全控制权限(如下所示).(或者,也可以专门为SQL Server代理帐户授予权限).
其次,执行以下操作:
BACKUP DATABASE [dev] TO DISK = N'\\myMachine\c\dev.bak' WITH COPY_ONLY, INIT;
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 28
您无法创建从远程服务器到本地磁盘的备份 - 没有办法执行此操作.据我所知,也没有第三方工具可以做到这一点.
您所能做的就是在远程服务器计算机上创建备份,并让某人将其压缩并发送给您.
小智 17
我知道这是迟到的答案,但我必须对大多数投票的答案发表评论,该答案说在SSMS中使用生成脚本选项.
问题是这个选项不一定以正确的执行顺序生成脚本,因为它不考虑依赖关系.
对于小型数据库,这不是问题,但对于较大的数据库,肯定是因为它需要手动重新排序该脚本.试试500对象数据库;)
不幸的是,在这种情况下唯一的解决方案是第三方工具
我成功地使用了来自ApexSQL(Diff和Data Diff)的比较工具来完成类似的任务,但是你不能错过任何其他已经提到过的,尤其是Red Gate.
adi*_*nas 13
您可以尝试SQLBackupAndFTP.它将创建脚本来创建数据库中的所有对象,并创建表中所有行的INSERT语句.在任何数据库中,您都可以运行此脚本文件,并将重新创建整个数据库.
我知道这是一篇较旧的帖子,但就其价值而言,我发现“最简单”的解决方案是右键单击数据库,然后选择“任务”->“导出数据层应用程序”。此选项可能仅可用,因为服务器托管在 Azure 上(根据我过去使用 Azure 的记忆,.bacpac 格式在那里相当常见)。
完成后,您可以右键单击本地服务器“数据库”列表,然后使用“导入数据层应用程序”将数据通过 .bacpac 文件获取到本地计算机。
请记住,导出可能需要很长时间。我的导出大约花了两个小时。不过,导入部分要快得多。
有99%的解决方案从远程sql server获取bak文件到你的本地电脑.我在帖子中描述了它http://www.ok.unsode.com/post/2015/06/27/remote-sql-backup-to-local-pc
一般来说,它看起来像这样:
执行sql脚本生成bak文件
执行sql脚本将每个bak文件插入带有varbinary字段类型的临时表中,然后选择该行并下载数据
重复上一个.步骤尽可能多的时间,因为你有bak文件
执行sql脚本以删除所有临时资源
就是这样,你在本地电脑上有你的bak文件.
您可以使用复制数据库...在远程数据库上单击鼠标右键...选择任务并使用复制数据库...它将询问您有关源服务器和目标服务器的信息。您的源是远程服务器,目标是您的SQL Server本地实例。
就这么简单
| 归档时间: |
|
| 查看次数: |
222397 次 |
| 最近记录: |