读书人

请问一个数据库表覆盖的有关问题

发布时间: 2012-01-19 20:57:58 作者: rapoo

请教一个数据库表覆盖的问题
远程服务器一台
计算机名:SERVER
IP地址:211.96.9.123
SQL2005端口:1432
数据库名:SAMPLE08
其中某一表名:CUSTOMERS

本地服务器一台
计算机名:LOCALSERVER
数据库名:LOCALSAMPLE08

我想请问下
2个数据库结构一样,我想把远程数据库的CUSTOMERS覆盖至本地SQL2005的LOCALSAMPLE08数据库
应该怎么操作比较合理?





[解决办法]

SQL code
--在本地:select * into CUSTOMERS from openrowset('msdasql','driver={sql server};server=211.96.9.123;uid=用户名;pwd=密码','select * from SAMPLE08..CUSTOMERS')a
[解决办法]
SQL code
上面的是拷贝表结构和表中数据。如果只拷贝表结构。不拷贝表数据。可以:select top 0 * into CUSTOMERS from openrowset('msdasql','driver={sql server};server=211.96.9.123;uid=用户名;pwd=密码','select * from SAMPLE08..CUSTOMERS')a
[解决办法]
为什么不用备份-拷贝-恢复
或者 分离-拷贝-附加


[解决办法]
如果只时某几个表同步时,先清空要覆盖的表..
整个数据库同步用备份,在另一台机还原
SQL code
EXEC sp_addlinkedserver 'OracleSvr',    'Oracle 7.3',    'MSDAORA',    'ORCLDB'GOinsert roy_taupdate roy_taset isbn=h_isbn FROM OPENQUERY(WX, 'SELECT h_isbn, h_name FROM xybook.dbo.db_product') as a inner join roy_ta on a.h_name=roy_ta.h_nameGOselect * from roy_tatruncate table  roy_taalter table roy_ta add isbn varchar(20)null/***********************************************************************/介绍几种连接更新方法:--创建链接服务器exec sp_addlinkedserver  'srv_lnk','','SQLOLEDB','远程服务器名或ip地址'exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户名','密码'go--查询示例select * from srv_lnk.数据库名.dbo.表名--导入示例select * into 表 from srv_lnk.数据库名.dbo.表名--以后不再使用时删除链接服务器exec sp_dropserver 'srv_lnk','droplogins'go--如果只是临时访问,可以直接用openrowset--查询示例select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--导入示例select * into 表 from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)select * from openrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)openrowset可以用下面两个OPENDATASOURCE或是openquery 

读书人网 >SQL Server

热点推荐