前几天在工作中遇到一个问题,客户的数据在远程服务器上,客户给我分配的账号没有导出权限,但我想将数据从远程服务器上导到我的本地电脑上做开发。
常规的方法有以下三种:
1:任务->备份
这种方式需要有相关权限,我的sqlserver账号没有备份权限,此方法只能作罢。
2:任务->生成脚本
远程数据库里的数据特别多,导出的脚本文件都有50G,无法在我的本地机器上还原。
3:任务->导出数据层应用程序
和第一种方法一样,需要有相应权限。
直接导出数据是不行了,真的就没有办法了吗?发挥程序员永不放弃的折腾精神,最终找到了“链接服务器”这种方法。
跨服务器操作就是可以在本地连接到远程服务器上的数据库,可以在对方的数据库上进行相关的数据库操作,比如增删改查。甚至可以在同一条sql语句同时对本地库和远程库进行操作,有了这么强大的功能,我实现将远程数据库备份到本地的目标就有了思路了。
1、先创建链接服务器
2、编写sql语句,将远程库的内容转移到本地库中
select top 100000 * into DataModel.dbo.*** from [链接服务器].DataModel.dbo.***
select top 100000 * into DataModel.dbo.*** from [链接服务器].DataModel.dbo.***
通过这种方式,虽然能解决我的问题,但也有个小缺点,就是每张表都得手动写一行sql语句,如果哪位同学有更好的办法,不吝赐教。