仓酷云

标题: MSSQL网页设计经由过程触发器完成数据库的立即同步 [打印本页]

作者: 山那边是海    时间: 2015-1-16 22:28
标题: MSSQL网页设计经由过程触发器完成数据库的立即同步
限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。触发器|数据|数据库
--立即同步两个表的实例:

--测试情况:SQL2000,远程主机名:xz,用户名:sa,暗码:无,数据库名:test

--创立测试表,不克不及用标识列做主键,由于不克不及举行一般更新
--在本机上创立测试表,远程主机上也要做一样的建表操纵,只是不写触发器
ifexists(select*fromdbo.sysobjectswhereid=object_id(N[test])andOBJECTPROPERTY(id,NIsUserTable)=1)
droptable[test]

createtabletest(idintnotnullconstraintPK_testprimarykey
,namevarchar(10))
go

--创立同步的触发器
createtriggert_testontest
forinsert,update,delete
as
setXACT_ABORTon
--启动远程服务器的MSDTC服务
execmaster..xp_cmdshellisql/S"xz"/U"sa"/P""/q"execmaster..xp_cmdshellnetstartmsdtc,no_output",no_output

--启动本机的MSDTC服务
execmaster..xp_cmdshellnetstartmsdtc,no_output

--举行散布事件处置,假如表用标识列做主键,用上面的办法
BEGINDISTRIBUTEDTRANSACTION
deletefromopenrowset(sqloledb,xz;sa;,test.dbo.test)
whereidin(selectidfromdeleted)
insertintoopenrowset(sqloledb,xz;sa;,test.dbo.test)
select*frominserted
committran
go

--拔出数据测试
insertintotest
select1,aa
unionallselect2,bb
unionallselect3,c
unionallselect4,dd
unionallselect5,ab
unionallselect6,bc
unionallselect7,ddd

--删除数据测试
deletefromtestwhereidin(1,4,6)

--更新数据测试
updatetestsetname=name+_123whereidin(3,5)

--显现测试的了局
select*fromtestafulljoin
openrowset(sqloledb,xz;sa;,test.dbo.test)bona.id=b.id



Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用
作者: 因胸联盟    时间: 2015-1-19 14:07
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
作者: 莫相离    时间: 2015-1-26 10:13
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
作者: 柔情似水    时间: 2015-2-4 14:22
其实可以做一下类比,Oracle等数据库产品老早就支持了java编程,而且提供了java池参数作为用户配置接口。但是现在有哪些系统大批使用了java存储过程?!连Oracle自己的应用都不用为什么?!
作者: 海妖    时间: 2015-2-28 15:12
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
作者: 乐观    时间: 2015-3-10 00:50
比如日志传送、比如集群。。。
作者: 再现理想    时间: 2015-3-17 04:07
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
作者: 小妖女    时间: 2015-3-23 18:26
一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2