本文在Cisco智能联络管理(ICM)环境里描述由DateTime Route_Call_Detail的或Termination_Call_Detail表的SQL查询结果顺序在Microsoft SQL版本6.5和7.0之间为什么是不同的并且提供一个解决方法。
Cisco推荐您有这些题目知识:
Cisco ICM
Microsoft SQL
本文档中的信息基于以下软件和硬件版本:
Cisco ICM
Microsoft SQL Server版本6.5和7.0
The information in this document was created from the devices in a specific lab environment.All of the devices used in this document started with a cleared (default) configuration.If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
当您升级到Cisco ICM版本4.6.2或以上时, Microsoft SQL Server版本6.5被升级到版本7。在升级,执行SQL查询Route_Call_Detail或在运行SQL版本7后的ICM系统的Termination_Call_Detail表从SQL版本6.5返回不同的结果。请参阅此SQL查询:
图 1:Microsoft SQL Server查询
当您比较执行在运行SQL版本6.5的老ICM系统时的同一次SQL查询的结果,内容是相同的。然而,新的结果不按升序DateTime顺序类似原始结果。在升级,此查询返回了数据按DateTime顺序前。因为升级,数据没有按DateTime顺序返回,如显示这里。
图 2:SQL查询导致DateTime顺序
在您从SQL版本6.5升级到版本7.0后,挑选查询的结果完成Route_Call_Detail或Termination_Call_Detail不再按DateTime顺序。必须插入由条款的一个命令为了得到DateTime结果。这是问题,因为由条款的命令能添加重大的开销到Route_Call_Detail和Termination_Call_Detail查询,能导致非常大结果集。
由主密钥的命令在SQL server版本6.5来自Microsoft SQL产生的老Sybase系统。Microsoft拉紧了符合对在不保证命令没有命令由在SQL查询的条款的SQL server版本7.0的SQL标准。这是关系数据库不是物理顺序文件。如在物理顺序文件,没有在关系数据库的假设的顺序。所以,由条款使用命令设立顺序在结果是必要的。
Note: 这不是Cisco问题。它是Microsoft SQL Server标准问题。