SqlServer将数据库中的表复制到另一个数据库
SqlServer将数据库中的表复制到另一个数据库
一、如果两个数据库在同一台服务器上
1、复制表结构和数据(A->B):SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA
2、仅仅复制表结构(A->B):SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA WHERE 1=2
二、如果两个数据库在不同的服务器上
分为导出和导入两种,都需要先连接远程数据库,再进行操作。如何连接远程数据库?
在连接远程数据库之前,需要先打开Ad Hoc服务,依次执行下面四句语句(不要一次执行):
EXEC sp_configure "show advanced options",1
RECONFIGURE
EXEC sp_configure "Ad Hoc Distributed Queries",1
RECONFIGURE
这样就可以连接远程数据库了:
SELECT * INTO DatabaseB.dbo.TableB FROM opendatasource( 'SQLOLEDB', 'Data Source=IP/ServerName;User ID=SA;Password=***' ).DatabaseA.dbo.TableA WHERE 1=2
记住,为了安全起见,执行完成之后,请关闭Ad Hoc服务:
EXEC sp_configure "Ad Hoc Distributed Queries",0
RECONFIGURE
EXEC sp_configure "show advanced options",0
RECONFIGURE,
复制表结构与数据的图文方法
复制表结构
首先,打开并连接Sql Server,在源数据库Source_db(源数据库名称)上右键,然后依次点击“编写表脚本为”→“CREATE到”→“新查询编辑器窗口”。
在上一步产生的编辑器中按”crtl+a“组合键全选内容,然后右键“复制“(或按"crtl+c"键)。
新建查询,然后右键”粘贴“(或ctrl+v);如图所示,将代码中Source_db(源数据库名)改为target_db(目标数据库名)。接着右键单击”执行“执行代码。
然后,在目标数据库的表结构中就可以看到被复制过来的表了。
其实上面的操作一句sql语句就可以实现了
select * into new_table from old_table;
表的数据内容复制图文方法
选中目标数据库target_db,然后点击”任务“→”导入数据“。
进入”SQL Server导入导出向导“,根据提示步骤操作。
选择数据源(源数据库)。
选择目标(目标数据库)、指定表复制或查询。
选择源表和源视图:设置源表和目标表后,单击“编辑映射”按钮,在弹出窗口中选中“启用标识插入”。(否则后面会出错)
一直点击“下一步”至最后完成操作。
有点是不用输入这么多字段名了。
对应sql语句如下:
insert into table1(col1,col2,col3,...)
select [col1,col2,col3...] from table2 ;
到这里这篇关于SqlServer将数据库中的表复制到另一个数据库的文章就介绍到这了,更多相关SqlServer表复制内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mssql server 存储过程里,bulk insert table from ''路径+文件'',路径固定,文件名
mssql server 存储过程里,bulk insert table from ''路径+文件'',路径固定,文件名不固定的实现方法...2007-07-07Sql Server 2012 分页方法分析(offset and fetch)
最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的2012-08-08SQL Server 2000/2005/2008删除或压缩数据库日志的方法
最近win2008 r2的服务器比较卡,打开服务器显示也特别慢,sqlserver业务费正常执行,服务器桌面操作也比较卡,经过多方研究发现原来是sqlserver日志文件已经达到了84G导致,这里就为大家分享一下解决方法,需要的朋友可以参考一下2019-09-09
最新评论