|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定</p>如今必要在一台服务器(A)上的数据库(Master)里会见别的一台服务器(B)的别的两个数据库(NZ和AU)。AU和NZ是网站的部分及时数据,今朝某一步操纵的REPLICATION计划是从服务器B到A,AU/NZ的表布局同Master数据布局基础分歧。
如许一来,当把AUReplication到Master后,在把NZReplication到Master,Master里的就只剩NZ的数据了。反过去就只要AU的了,详细的Replication是怎样一回事,我也不懂,也没有细看。
假如能在Master里间接操纵AU和NZ就行了。
SQLServer有函数:
OPENROWSET和OPENDATASOURCE
这两个函数不仅能完成从别的的数据库读数据,并且还能从EXCEL、TXT,ORACLE,ODBC等读数据。
--启用AdHocDistributedQueries:
execsp_configureshowadvancedoptions,1
reconfigure
execsp_configureAdHocDistributedQueries,1
reconfigure
SELECT*
FROMOPENDATASOURCE(
SQLOLEDB,
DataSource=SQLServerName;UserID=sa;Password=xxx
).Help.dbo.Help_Category
或
select*fromopenrowset(SQLOLEDB,SQLServerName;sa;xxx,Help.dbo.Help_Category)
--封闭AdHocDistributedQueries:
execsp_configureAdHocDistributedQueries,0
reconfigure
execsp_configureshowadvancedoptions,0
reconfigure
可是,如许写着有点庞大,并且方便于保护,假设数据库暗码改动了,就必要把一个一个把暗码更正。
Oracle里有DBLink,并且语法十分简便。
查了一下匡助,SQLServer里有"链接服务器"这个东东。要创立链接服务器必要用到SQLServer的一个体系存储历程:
sp_addlinkedserver[@server=]server[,[@srvproduct=]product_name]
[,[@provider=]provider_name]
[,[@datasrc=]data_source]
[,[@location=]location]
[,[@provstr=]provider_string]
[,[@catalog=]catalog]
execsp_addlinkedserver@server=XLING,@srvproduct=,@provider=SQLNCLI,@datasrc=SQLServerName2
实行后,能够在SqlserverManagementStudio的工具资本办理器里的服务器工具-》链接服务器里看到看这个XLING
然后就能够用:
SELECT*FROMXLING.PricemeHelp.dbo.Help_Category
这里的XLING就是指向数据库SQLServerName2的链接服务器,从下面的SELECT能够看出,写的仍然庞大。
SQLServer也有,并且语法差未几:
CREATESYNONYMdbo.Help_Category_NZFORXLING.PricemeHelp.dbo.Help_Category
实行后,就能够用:
SELECT*FROMHelp_Category_NZ
了!恢复到之前的某个状态,是需要数据的。这数据可以是a)回滚步骤或者b)操作之前的数据状态原文。 |
|