4.Oracle可以利用回滚表空间查询以前(如1小时前)的信息,SQLServer不能
5.Oracle可以进行用户资源管理(CPU使用率等),SQLServer不能
6.Oracle支持Label Security,SQLServer不能

解决方案 »

  1.   

    支持一下,来帖一段开放性:
    SQL Server    
        只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键业务时.       Oracle    
        能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。
    可伸缩性,并行性
    SQL server
    DB2    
        并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle
        平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。
        如果windowsNT不能满足需要, 用户可以把数据库移到UNIX中。安全性
    SQL server        
    没有获得任何安全证书。    Oracle Server
    获得最高认证级别的ISO标准认证。性能
    SQL Server          
    多用户时性能不佳  
      
    Oracle
    性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。客户端支持及应用模式
    SQL Server        
    C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.    Oracle
    多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接  
      操作简便
    SQL Server           
    操作简单,但只有图形界面. 
       
    Oracle
    较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同       使用风险
    SQL server        
    完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。
         
    Oracle
    长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。 
      

  2.   

    Oracle可以建立位图索引,SQLServer不能。
    Oracle可以建立函数索引,SQLServer不能。
    SQLServer不支持前触发器,所有都是后触发器。关于Oracle分区表,SQLServer 2000可以使用分区视图,原理也是一样,把不同物理空间的表联系在一起。
    SQLServer能支持嵌套事务,事务上加上名字就好,就是说能在主事务中操作子事务。
      

  3.   

    oracle:
    length() lengthb()
    sqlserver:
    datalength()
      

  4.   

    SQLServer能支持嵌套事务,事务上加上名字就好,就是说能在主事务中操作子事务。
    --->
    1 insert into a
    2 ---> insert into b ; commit;
    3 insert into c
    4 ---> insert into d ; commit;
    5 rollback ; ( 1,3被rollback only)请举例SQLSERVER如何完成?
      

  5.   

    似乎SQLServer只是表级触发器,不支持行级触发器
      

  6.   

    SQL好象也有命令行的。SQL也支持JDBC的。ORACLE备份方式比较多,有STANDBY、RMAN、IMP等,SQL就比较简单了。
    ORACLE可是实现多个日志文件的镜象,而SQL只有一个日志文件。
    ORACLE有很少但很多数量的归档日志,而SQL只有一个日志文件,经常会增加到很大。
    ORACLE的BLOCK SIZE可以根据OLTP或者DSS不同的应用自己设置,而SQL只能为8K。
    ORACLE的内存是在数据库启动时就由参数文件决定了的,而SQL可以根据应用自动改变。
      

  7.   

    ORACLE有专门实现树形查询的语法,而SQL没有。
      

  8.   

    ORACLE可以修改字符集
    SQLSERVER不能,必須重新安裝
      

  9.   

    ORACLE可以安裝各种平台
    SQLSERVER不行
      

  10.   

    ORACLE可以卖的很贵却还有人买
    SQLSERVER不行
      

  11.   

    也不太了解sqlserver。
    它有Orcle中的分析函数和锁吗?
      

  12.   

    TO:ccbzzp(ccbzzp) 
    ORACLE可以修改字符集
    SQLSERVER不能,必須重新安裝
    有问题,在SQL SERVER6.5是不可以的,在SQLSERVER2000已经完全可以
    EXAMPLE:ALTER DATABSE DB_NAME COLLATE CHINESE_PRC_CI_AS
      

  13.   

    TO:OldMan0516(凡人0516)
    MSSQL SERVER2000是完全可以行触发的!!!如果大家有和问题可以到SQLSERVER板块去看看:-)
      

  14.   

    跟本不是一个量级上的东西,没什么可比性。
    sql server也没说要和oracle比呀,人家在windowns平台自我完善呢。
      

  15.   

    http://expert.csdn.net/Expert/topic/1810/1810360.xml?temp=.4442407
      

  16.   

    ORACLE可以修改字符集
    SQLSERVER不能,必須重新安裝更改排序规则。-------------------------------------
    alter database 数据库 collate 排序规格
    其中,某些排序规则指定CI 不区分大小写,CS 指定区分大小写。如:alter database 数据库 COLLATE Chinese_PRC_CI_AS 
        不区分大小写,而
        alter database 数据库 COLLATE Chinese_PRC_CS_AS 
        使之区分大小写。使用如下命令,可以获得更多的规则:
    SELECT *
    FROM ::fn_helpcollations()
      

  17.   

    oracle可以有java过程sqlserver没有,而sqlserver可以用dll。
    oracle9i有分析函数,sqlserver没有
    oracle有rownum等伪列,sqlserver没有
    sqlserver有full join,oracle9i才有
      

  18.   

    to  DJMPH(冷开水) 
    不是吧,你不会sql?哈。自己去看触发器吧
      

  19.   

    to bzszp(SongZip):
    你关于SQL Server的认识已经很outdata了,哈哈,看看这吧,关于c2,SQL Server早就拿到了.http://www.microsoft.com/china/sql/evaluation/overview/2000/fastfacts.asp
    虽然在大系统上还是喜欢用Oracle,毕竟用多了,习惯了,不过只会Oracle的也别小看SQL Server,SQL Server亦非昔日阿蒙,很多Oracel能做的,SQL Server也能了,有些甚至做得更好,像Oracle的数据库碎片,实在是讨厌,不知道9i是不是好些了,反正9i以前的版本实在是臭不可闻,这方面SQL Server就感觉好多了。
    to black_snail(●龙飞虎○) ,关于嵌套事务:
    ========================================================
    begin tran t1
    insert into table1(f1) values(10)
    save tran 1
    update table1 set f1=100000 where f1=10
    rollback tran 1
    insert into table1(f1) values(100)
    update table1 set f1=100000 where f1=100
    commit tran t1 
    ========================================================
      

  20.   

    update table1 set f1=100000 where f1=10被rollback :-)凑热闹
      

  21.   

    暂时来说,不是一个级别的东西。毕竟对于Oracle,数据库命根子。
    中期来说,不管性能,单单依照M$的小气,不大可能支持别的平台。所以,是并存。
    长期来说,那就要看小丽(Linux)了,如果能够在桌面上断了M$的财路。本来就是半桶水的SQL server就会和它的老祖宗Sybase一样,在数据库领域,逐渐退出我们的视野了。
      

  22.   

    楼上的,你看到MS最新的WINDOWS SERVER 2003 FOR 64BIT,在加上SQL SERVER2003 FOR 64BIT速度已经完全超过小型机+ORACLE的速度,成本还要低很多.我最讨厌某些人似乎会ORACLE就是高级,懂MS就是低端的态度!!!至于小丽(Linux)要断MS的财路,我看你又在做梦了.....zzzzzz
    在桌面系统MS的地位很难动摇.
      

  23.   

    to: bzszp(SongZip) 
    性能
    SQL Server          
    多用户时性能不佳  
     --这应该和数据库的设计又很大的关系,不知你的比较的标准是什么?Oracle
    性能最高, 保持windowsNT下的TPC-D和TPC-C的世界记录。
    --现在好向不是这样的,你可以到TPC的网站上去看看.
      

  24.   

    客户端支持及应用模式
    SQL Server        
    C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接.    
    --有免费的FOR LINUX的clientOracle
    多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接  
    --MS也可以用JDBC连接  操作简便
    SQL Server           
    操作简单,但只有图形界面. 
    --你一定是N年没有用过MSSQLSERVER,你是从那里抄袭的!   Oracle
    较复杂, 同时提供GUI和命令行,在windowsNT和unix下操作相同
    --MS也有很多BCP,ISQL,OSQL,DTSRUN,.....
      

  25.   

    to leimin(黄山光明顶):
    上面的那些是我以前搜集的资料,可能早就落伍了
    对sql server不是很了解,
    但中国移动通信的数据库用的是oracle的
    我想oracle在这一方面还是有一定的优势的吧
      

  26.   

    to pengdali(大力) 
    可能我没有说清楚,我的意思是触发器分为前触发方式和后触发方式,而SQLServer只有在数据修改后的后触发方式:)
      

  27.   

    oracle:
    length() lengthb()
    sqlserver:
    len() datalength()
      

  28.   

    to DJMPH(冷开水) 
    CREATE TRIGGER 名 on 表
    INSTEAD OF INSERT
    AS
    BEGIN
      INSERT INTO 表2 SELECT name1,name1 FROM inserted
    END
      

  29.   

    你应该说sqlserver没有记录级触发器
      

  30.   

    希望大家只是讨论SQL和ORACLE本身的问题,而不要又争吵起来。
    我经常用ORACLE和SQL,不过还是比较喜欢ORACLE。
    ORACLE也提供了直接操作WORD、EXCEL、PPT和MAPI的脚本,所以不能说只有SQL才能操作。
    SQL提供了从SQL到ORACLE的复制工具和双向的转换工具(在不需要额外安装工具的情况下)
    ORACLE只提供了SQL到ORACLE的转换工具,要从ORACALE到SQL还需要额外的透明网关。
    ORACLE的锁是事务级的,而SQL的锁是语句级的。
    ORACLE的提示是做为注释加进SQL语句的,出错了可以忽略。SQL的提示是做为SQL的一部分加在SQL语句的最后,出错了就不执行了。
      

  31.   

    oracle版本越高,越易用,
    MS版本越高,越复杂.
      

  32.   

    eduyu(杜宇) :
    你说SYBASE逐渐退出我们的视野了,也不知道凭什么根据。说话要谨慎啊。
    我在以前兼职公司参与或见过的的项目中,山东、合肥、宁波等许多上市的百货公司、大卖场、超市等都是用的SYBASE,还有交通银行的系统,你去看看!
      

  33.   

    不好意思,我这个问题好象太少的人看,借地方,谢谢
    http://expert.csdn.net/Expert/topic/1809/1809392.xml?temp=.1350824
    希望大家帮我
      

  34.   

    不好意思,我这个问题好象太少的人看,借地方,谢谢
    http://expert.csdn.net/Expert/topic/1809/1809392.xml?temp=.1917078
    希望大家帮我
      

  35.   

    To seth99(seth) , seth99(seth) , leimin(黄山光明顶)
    按照seth99试了一下,出错,(我的语法可能有问题)
    create table test ( a int)
    begin tran t1
     insert into test values(10)
    save tran 1
       insert into test values(11)
       commit tran 1insert into test values(12)
    insert into test values(13)
    rollback tran t1 
    Error:
    The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.我的意思是把11insert 进去,把,10,12,13 ROLLBACK 掉. ORACLE 是可以做的,SQLSERVER怎么办.
      

  36.   

    to leimin(黄山光明顶):--------------------------------------------------------------------------------
    楼上的,你看到MS最新的WINDOWS SERVER 2003 FOR 64BIT,在加上SQL SERVER2003 FOR 64BIT速度已经完全超过小型机+ORACLE的速度,成本还要低很多.
    --------------------------------------------------------------------------------
    WINDOWS SERVER 2003 FOR 64BIT+SQL SERVER2003 FOR 64BIT要是微软这点都达不到,它就不是为软了企业级数据库,速度虽然很重要,成本也很重要。
    但是我个人觉得和稳定性,可用性才是最重要的,实际的应用情况也是如此,也许我孤陋寡闻,我就没见过7x24的系统的是用Sql Server(也许不是Sql Server的错误)--------------------------------------------------------------------------------
    我最讨厌某些人似乎会ORACLE就是高级,懂MS就是低端的态度!!!
    --------------------------------------------------------------------------------
    想想我招聘的遭遇,你的这条论点我举双脚赞成。开发工具面对的应用不同,低级/高级说是“臭狗屎”。--------------------------------------------------------------------------------
    至于小丽(Linux)要断MS的财路,我看你又在做梦了.....zzzzzz
    在桌面系统MS的地位很难动摇.
    --------------------------------------------------------------------------------
    桌面系统MS的地位很难动摇,这跟数据服务器有什么关系?
    我用过linux下的oracle,性能出色,稳定性很强。如果企业有足够的资金,我会强烈建议它使用linux下的oracle。
    oracle的最大缺点就是太贵了,实在太贵了。
      

  37.   

    ORACLE支持基于数据对象的INSERT,UPDATE,DELETE的触发器外,还支持系统级的触发器。如logon,instance startup等。还有oracle有行触发的概念,而这是SQLServer没有的。
      

  38.   

    SQL SERVER 2000开始支持前和后级触发器了。
      

  39.   

    但是SQL server从来就没有行触发的概念,因为sybase已经定好了。它必须通过inserted和deleted表来获得。显然,如果你要编写一个考虑周全的触发器,就要注意有。但是sql server绝对没有系统触发器的概念。
      

  40.   

    1 ORACLE在配置上支持MTS的结构,就是可以有数据库连接池的概念。而sql server就没有。
    2 ORACLE的网络配置,用同一个LISTENER来集中管理连接的请求,还可以做到多个LISTENER的FAILOVER配置。
    3 ORACLE中有同义词的概念,我觉得非常方便,而sql server怎么办呢,sql server逻辑上是iinstance/database/table的概念。如果,我只能用[database].[user].[table]来访问表。
    4 oracle可以对实例运行的不同配置,修改内存的分配策略。sql server的设置项简单地就不用设了(没什么好设的)。
    5 oracle可以支持每个表的存储参数,让你调整每个表的存储空间的增长。sql server没有,也许microsoft认为没有必要。
      

  41.   

    哎呀,怎么我在win2000里用IIS+ASP,数据库用Orcalce怎么都慢过MS SQL Server 2000
    怎么会这样啊!!!!!!
      

  42.   

    如果你使用针对oracle优化的data provider的话就不同了。
    那些微软的东西针对sql server做了特别的优化了。
      

  43.   

    你用Weblogic+Oracle看看,不知道要比iis+asp+sqlserver的系统稳定多少倍,面向internet的应用,关键是可用性,稳定性。对于大并发量的访问,iis的体系根本就不行。
    还有iis的话,用oracle的ole object for visual basic,可以比ado快,应为直接同sql*net通讯,用oledb provider的多了一层(ado->data provider->sql*net),你说能不慢么。
      

  44.   

    再说说SQL Server有的,oracle没有的
    1 SQL Server有Link Server的概念,而且可以是异种库,oracle尽管有database link的概念,但是必须是oracle,这一点还是Microsoft考虑的周全。
    2 SQL Server的DTS包在实际应用中,相当的有用;oracle没有。
    3 SQL Server 2000用索引视图来对抗oracle的partition的概念,还算过的过去。
    4 SQL Server到了2000才支持多实例,算是可以和oracle在的多实例一样吧。
    5 SQL Server有扩展存储过程可以调用AcitveX空件,Oracle 8i开始可以调用Java类,大家算打个平手吧。
    6 SQL Server的日志文件并不重要,因为只要mdf在,只要sp_attach_single_file_db,可以重建日志文件,oracle要是丢了online redolog,那可就麻烦了,慢慢地恢复吧。
    7 SQL Server可以支持级联的触发器(最多32级),而且可以修改触发的自身表,oracle就瞪着报错吧。
    8 在oracle中可以写1局非常复杂SQL语句(符合标准SQL),在SQL Server中,会报"结构过于复杂",Microsoft还真能找个台阶下。看来SQL Server的SQL Parser器还要好好整修一下。就我个人的经验,自从好好地把oracle的一套student book看了一遍(为了考ocp),就是觉得SQL Server比起oracle,从体系上就差了一大截。可能Sybase当时就是为了减化oracle复杂性,能够更好地取悦最终用户才出了SQL server,microsoft当然也不会去改变这一点,只是在面向最终用户的管理方面下了大功夫。
    反正,对于最终用户来说,越是能够方便的产品,越是能吸引自己。再说说,SQL Server的价格和Oracle的价格。
    1 SQL Server是便宜,因为它更本不值那么高的价格。
    2 SQL Server的许可是按服务许可+客户端许可和cpu许可两种的概念来算,你的客户端数目上去了,对不起,掏钱。当你觉得不合算,怎么办,改成cpu(Unlimited)吧,Microsoft会退钱么?而且,别忘了,SQL server是装在NT/2000 Server上的,你SQL Server按CPU买,你的Win2K得按Unlimited买,你就傻眼吧。
    3 Oracle的计算很简单,把你的服务器CPU(Interl芯片还是RISC芯片)赫兹数和个数报出来,套个公式一算,就可以知道要买多少个license数。而且,你可以和oracle谈价钱的,以前我参与的一个项目,就最终和oracle谈好了买500个并发license数。就好了。Microsoft会和你谈么。别天真地认为Microsoft便宜,因为中国很多的企业都是在盗版(或者偷用License),还有,就Microsoft查的最厉害,给他差到,飞让你给个几十万才了,那是你就傻眼吧。
    4 Oracle 有Linux的,找个公司会做维护的谈个价铬,不知道比SQL server便宜多少。Microsoft有么,它最反对Open Source。如果大家做过方案规划,才知道其中的猫腻,别以为Microsoft的便宜,如果你的应用大的话,价格最低oracle的2/3,而且还得考虑以后再付钱。如果你的应用小,为什么不用Interbase(比SQL Server不知道要便宜多少)呢。