Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 11 - 更改和升级 » 9.0.0 版中的新功能 » 9.0 版中的行为更改

 

Adaptive Server Anywhere 的行为更改

下面是对该软件以前版本的行为更改列表。

  • 不支持数据库中的 Java 对象   不再支持将数据作为 Java 对象进行存储。保留了对 Java 存储过程的支持。

    请参见SQL Anywhere 中的 Java 支持

  • 为 Windows 环境新增希腊语归类   以前版本中提供了 OEM/DOS 字符集的希腊语归类,但现在又添加了一个针对 Windows 的新的希腊语归类 1253ELL。在希腊语 Windows 环境中创建新数据库时,如果未指定归类,系统会自动选择 1253ELL。

    请参见支持的归类和替代归类

  • 新的连接限制   数据库服务器现在允许在连接限制之外存在一个额外的 DBA 连接,以允许 DBA 在发生有意的或意外的拒绝服务时进行连接并删除其它连接。

    请参见-gm 服务器选项

  • 将个人数据库服务器限制为使用一个处理器   在以前版本的软件中,个人数据库服务器最多可以使用两个 CPU 来处理请求。现在,个人服务器能够使用的处理器数量限制为一个。

  • FROM 子句中的前置表表达式引用现在可以在嵌套外连接的 ON 子句中使用   在以前的发行版本中,允许在 ON 短语中使用外部引用。此类外部引用现在必须使用 LATERAL 关键字予以指明。此限制强制要求进行明确,它符合 SQL/99 标准。

    下面的示例查询将不再有效,因为它包含不带 LATERAL 关键字的外部引用(突出显示部分)。

    SELECT *
    FROM T1, 
       T2 LEFT OUTER JOIN 
          ( T3 LEFT OUTER JOIN T4 ON T1.col1 = T2.col2 ) 
       ON T1.col2 = T2.col2

    请参见FROM 子句

  • 有多个匹配项的非限定表引用被报告为语法错误   在以前的发行版本中,如果查询包含未指定所有者名的表引用(即非限定表引用),而该表上可能存在多个匹配项,则会使用第一个找到的匹配项。现在,非限定的表引用会导致错误。

    请参见表名 '%1' 不明确

  • 带有 NULL 转义字符的 LIKE 运算符现在计算为 NULL   现在,包含 NULL 转义字符的 LIKE 谓语计算为 NULL。以前,带有 NULL 转义字符的 LIKE 谓语按没有转义字符进行计算。新行为符合 ISO/ANSI 规范。

  • 删除的属性和统计信息   删除了数据库属性 ServerIdleWaits、连接属性 TaskSwitch 和 CurrTaskSwitch,一并删除的还有它们相应的性能监控统计信息:[上下文开关]、[服务器空闲等待/秒] 和 [请求队列等待/秒]。

  • 对 INSERT/UPDATE/DELETE 更新列统计信息   现在,如果执行的 INSERT、UPDATE 或 DELETE 语句导致大量数据被更改,统计信息将被更新。

  • 恢复期间不再更新统计信息   恢复期间或执行简单的 DELETE 和 UPDATE 语句时,服务器不再更新统计信息。简单语句是指那些不进行优化便由服务器直接执行的语句。

  • 直方图范围显示为正确的数据类型   以前,sa_get_histogram() 系统过程和直方图 [dbhist] 实用程序将输出的范围显示为散列值。现在,输出的直方图范围与相应列中的数据相匹配,并以正确的数据类型进行显示。

    请参见直方图实用程序 (dbhist)sa_get_histogram 系统过程

  • 每个远程数据库只允许有一个统一用户   不能再为同一远程数据库定义多个统一用户。

    请参见GRANT CONSOLIDATE 语句 [SQL Remote]REVOKE CONSOLIDATE 语句 [SQL Remote]

  • 如果不显式指定,CommLinks 连接参数将使用共享内存   现在,没有指定 CommLinks 连接参数的连接总是尝试通过共享内存进行连接。

    请参见CommLinks 连接参数 [LINKS]

  • CommLink 连接参数总是先尝试使用共享内存协议   如果指定 CommLinks=all,则 Adaptive Server Anywhere 总是先尝试使用共享内存协议进行连接,然后再尝试使用其它协议。

    请参见CommLinks 连接参数 [LINKS]

  • 连接错误中断进程   以前,系统会逐一尝试 CommLink 连接参数中列出的连接协议,直到连接成功。现在,如果在尝试过程中发生了连接错误,系统会立即中止连接进程,无论是否已尝试过列出的所有协议。

    请参见CommLinks 连接参数 [LINKS]

  • prevent_article_pkey_update 的缺省值发生了变化   prevent_article_pkey_update 数据库选项的缺省值已更改为 On,以反映应避免更新主键值这一事实。这一新的缺省设置禁止对作为发布的一部分的主键进行更新。可以通过将该值设置为 OFF 来禁用此功能。

    请参见prevent_article_pkey_update 选项 [数据库] [MobiLink 客户端]

  • 有些函数被当作非确定型函数处理   RAND、NEWID 和 GET_IDENTITY 函数被视为非确定型函数。结果,查询执行期间将不对这些函数进行高速缓存。

    有关详细信息,请参见函数高速缓存

  • 性能消息现在显示数据库名称   引擎性能提示消息现在显示数据库名。这在运行多个数据库时特别有用。同样,以注意 开头的消息也表示它们是提示消息。

  • 使用 9.0.0 之前版本 Adaptive Server Anywhere 的 NetWare 客户端需要进行升级   Adaptive Server Anywhere 中对 NetWare 的支持得到增强的结果是,使用 9.0.0 以前版本 Adaptive Server Anywhere 的 NetWare 客户端只有在安装了特定 EBF 后才能使用共享内存连接到 9.0.0 服务器。内部版本号是:7.0.4.3400、8.0.0.2358、8.0.1.3088 和 8.0.2.4095。内部版本号小于上述版本号的客户端根本找不到 9.x 服务器。

  • ALTER DATABASE CALIBRATE 语法的更改   ALTER DATABASE CALIBRATE TEMPORARY DBSPACE 的语法更改为 ALTER DATABASE CALIBRATE DBSPACE TEMPORARY,以使该语法与其它类似语句相一致。

    请参见ALTER DATABASE 语句

  • 对动态高速缓存大小的调整更有力度   现在,在启动新数据库后或在文件显著增大时可以更积极地调整动态高速缓存的大小。在做出此项更改之前,最快也要每分钟才能执行一次对统计信息的抽样和对高速缓存大小的调整操作。现在,在启动数据库后或在文件显著增大时,在三十秒内每五秒即可执行一次统计信息抽样和高速缓存大小调整操作。

    请参见使用高速缓存提高性能

  • 确定接口和消息的语言   新增了两个环境变量(ASLANG 和 ASCHARSET),它们控制界面(如 Sybase Central 或 Interactive SQL)和消息中使用的语言。ASLANG 指定语言,ASCHARSET 指定字符集。

    请参见SALANG 环境变量SACHARSET 环境变量

  • Rowcount 设置现在限制返回的行   现在,rowcount 设置会限制游标从顶部返回的行。不再可能使用绝对读取定位到结果的开始位置。

    如果需要,您可以使用新功能 TOP N / START AT 来模拟此行为。

    请参见SortTopN 算法 (SrtN)

不建议使用和不支持的功能

不再支持 Adaptive Server Anywhere -d 服务器选项   Adaptive Server Anywhere 中对 NetWare 的支持得到增强的结果是,现已不再支持 -d 服务器选项。

不再支持 NetWare 4.x   Adaptive Server Anywhere 中对 NetWare 的支持得到增强的结果是,Adaptive Server Anywhere 将只能在 NetWare 5.1 版 SP6(或更高版本)或 6.0 版 SP3(或更高版本)上运行。必须安装正确的服务包,否则 Adaptive Server Anywhere 服务器会显示一条错误消息。

不再支持 SQLLOCALE 环境变量   SQLLOCALE 环境变量已被两个新环境变量 ASLANG 和 ASCHARSET 替代。

请参见9.0 版中的行为更改