Babelfish for Aurora PostgreSQL 更新 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Babelfish for Aurora PostgreSQL 更新

在下文中,您可以了解有关针对 Aurora PostgreSQL 发布的各个 Babelfish 版本的信息。Babelfish 可用于 Aurora PostgreSQL 13.4 及更高版本。Babelfish 更新随 Aurora PostgreSQL 数据库引擎的某些新版本提供。

有关将 Aurora PostgreSQL 扩展与 Babelfish 结合使用的信息,请参阅将 Aurora PostgreSQL 扩展与 Babelfish 搭配使用

有关 Babelfish 版本更新的信息,请参阅 Babelfish 版本更新

有关不同 Babelfish 版本中受支持和不受支持功能的列表,请参阅 Babelfish for Aurora PostgreSQL 参考

适用于 Aurora 的 Babelfish PostgreSQL 4.0

此版本的 Aurora Babelfish 与 Aurora PostgreSQL 16.1 一起提供。有关 Aurora PostgreSQL 16.1 中改进的更多信息,请参阅。Amazon Aurora PostgreSQL 更新适用于 Aurora 的 Babelfish PostgreSQL 4.0(版本 4.0 在 3.4 版的基础上构建)添加了多项新功能、增强功能和修复。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 于 2024 年 1 月 31 日发布 4.0.0

新功能
  • 在 Babelfish 中对全文搜索的支持有限。有关更多信息,请参阅 Babelfish 中的全文搜索

  • 增加了对在视图上创建 INSTEAD OF 触发器的支持。

  • 将默认的 Babelfish 迁移模式从单个数据库更改为多个数据库。

安全增强功能
  • 修复了处理 TSQL 登录和用户时存在的安全问题。

高优先级稳定性增强功能
  • 修复了在触发过程中使用插入的表进行更新连接会导致错误的回归问题。result relation must be a regular relation

  • 修复了之前在 Babel information_schema fish 中查询类型 U 和 V 会给出不同结果的问题。

  • 修复了在某些情况下使用临时表时避免阻塞真空进度的问题。

其他改进和增强功能
  • 修复了pg_stat_gssapi目录视图中主体名称的问题。

  • 修复了函数中的问题parsenamesession_context以及与非默认服务器排序规则一起使用sp_set_session_context时的问题。

建议
  • 我们建议你从 Aurora PostgreSQL 版本 14 升级到 15,然后从版本 15 升级到 16。当前,不支持从版本 14 直接升级到 16,它会失败并出现错误。

Babelfish for Aurora PostgreSQL 3.4

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 15.5 一起提供。有关 Aurora PostgreSQL 15.5 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 3.4 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 3.4.0 版,2023 年 12 月 21 日

新功能
  • 增加了对使用 PostgreSQL 语义的 TSQL 隔离级别 SERIALIZABLE 和 REPEATABLE READ 的支持。有关更多信息,请参阅 Babelfish 中的事务隔离级别

  • 增加了对启用或禁用触发器的支持。

  • 增加了对 TSQL 函数 DATETRUNC()、DATE_BUCKET()、SWITCHOFFSET()、TODATETIMEOFFSET() 和 AT TIME ZONE 子句的支持。

  • 增加了对 TSQL 函数 TYPE_ID()、TYPE_NAME()、COL_LENGTH()、COL_NAME() 的支持。

  • 增加了对存储过程和函数调用中 DEFAULT 关键字的支持。

  • 增加了对将 DATETIME 转换为数字类型的支持。

  • 增加了对 DBCC CHECKIDENT 的支持,以便能够重置 IDENTITY 列。

  • 增加了对 CREATE/ALTER TABLE 中 PRIMARY KEY NOT NULL IDENTITY 子句的支持。

  • 增加了对包含单引号的双引号字符串、双引号字符串中的嵌入式双引号以及无引号字符串参数的支持。

  • 增加了对 ALTER AUTHORIZATION 语法的支持,以更改数据库所有者。

  • 增加了对 TSQL KILL 命令的支持。

  • 增加了对 TSQL Information_schema.key_column_usage 视图的支持。

  • 增加了对作为 SET ROWCOUNT 和 SET DATEFIRST 输入的变量的支持。

  • 增加了对 sys.server_role 成员和 sys.database_permissions 目录视图的支持。

  • 增加了对 SELECT-INTO 语句中 IDENTITY() 函数的支持。在 Babelfish 中,指定为 IDENTITY 的列将始终是新表中的最后一列。由于这与 SQL Server 略有不同,因此该功能需要与转义孵化 babelfishpg_tsql.escape_hatch_identity_function 一起使用。当前不支持 IDENTITY() 函数的用户定义数据类型。

  • 增加了对 ALTER USER...WITH LOGIN 语法的支持。

  • 增加了对从事务块内部更改事务隔离的支持,并具有明确定义的行为。

  • 增加了对将 datetime 和 smalldatetime 转换为数字类型的支持。

  • 增加了在有限范围内对 PIVOT 的支持(在视图定义、公用表表达式或联接中使用时不支持)。

  • 支持存储过程 sp_changedbowner。

安全增强功能
  • 修复了视图 sys.server_principals 的权限问题。

关键的稳定性增强功能
  • 修复了 ISNULL 函数可能返回不正确数据类型的问题。

  • 修复了诸如 IF 之类的条件语句可能无法正确评估条件的问题。

  • 修复了强制执行并行查询时可能出现的“数据库 ... 不存在”错误。

  • 修复了强制执行并行工件时对表变量或临时表的处理。

  • 修复了强制执行并行工件时发生的意外错误“与并行工件断开连接”。

  • 修复了 SELECT 列中多个括号的问题。

  • 修复了处理列名别名时出现的问题,如果列名别名包含长度超过 64 字节的字符串(例如,select col as ‘您对“数据一览”中的车型,颜色,内饰,选装,’),则该问题可能会导致客户端挂起。

  • 修复了 information_schema_tsql.tables.TABLE_TYPE 列的数据类型。

  • 修复了在 UPDATE 查询的 SET 子句中使用具有为表定义了别名的 table.column 或使用 schema_name.table.column 时出现的错误 -“列 ... 不存在”。

  • 修复了查询语句中多个函数的架构解析不正确的问题。

  • 修复了带有 OUTPUT 子句的 DELETE 的一些变体与表别名组合时返回错误的问题。

  • 修复了在 SSMS Object Explorer 中扩展存储过程时的性能问题。

  • 修复了未将值为 NULL 的 UNION 转换为固定长度类型时的崩溃问题。

  • 修复了 SET/PRINT/DECLARE 变量赋值中的 SESSION_USER/SYSTEM_USER 返回错误结果/错误的问题。

  • 修复了未对可为 null 的列的 UNIQUE 约束/索引一致实施阻止的问题。

  • 修复了使用 T-SQL 关键字作为服务器名称时 T-SQL OPENQUERY() 和由四部分组成的对象名称崩溃的问题。

  • 修复了 TOP、OUTPUT 和联接更新失败(错误为“无法识别节点类型”)的问题。

  • 修复了混合类型的 VALUES 子句出现包含“请使用显式 CAST 或 CONVERT”子句的错误的问题。

  • 修复了在 SELECT INTO 语句中使用 ORDER BY 时,身份值的赋值与 SQL Server 不同的问题。

  • 修复了在单个语句中调用多个函数时架构解析不正确的问题。

高优先级稳定性增强功能
  • 使用正确编码修复了 varchar 和二进制数据类型之间的类型转换。

  • 修复了列名别名可能无法保留大/小写的问题。

  • 修复了并行查询模式下涉及 MONEY 数据类型的查询崩溃的问题。

  • 修复了 MVU 在使用非默认服务器排序规则名称时的故障。

  • 修复了 information_schema 与 sys.objects WHERE type IN ('U', 'V') 在 Babelfish 中给出不同结果的问题。

  • 修复了 sp_columns 和 sp_columns_100 在十进制列中错误显示 NULL 基数的问题。

  • 修复了在并行查询模式下涉及 sys.format() 函数的查询中返回错误“在并行操作期间无法启动子事务”的问题。

  • 修复了在并行查询模式下使用 pg_hint_plan 时出现的意外错误“无法访问文件 pg_hint_plan: 没有此类文件或目录”。

  • 修复了重新创建先前删除的同名视图时 出现错误“重复的键值违反了唯一约束...”的问题。

其他改进和增强功能
  • 提高了存储过程 sp_describe_undeclared_parameters 的性能。

  • 修复了 DATEADD()、DATEDIFF() 的性能问题。

  • SSMS - 修复了存储过程在 Object Explorer 中加载时间过长的问题。

  • SSMS - 修复了在 SSMS Object Explorer 中枚举表和视图的性能问题。

  • 通过在创建和升级 Babelfish 扩展后运行 ANALYZE,修复了创建/升级 Babelfish 扩展后的性能问题。

  • 修复了当查询不必要地转换为 bigint 时不使用索引的问题。

  • 修复了使用 dbo. 或 sys. 前缀调用以 (sp_*) 开头的存储过程时出现的问题。

  • 修复了“访客”用户目录 sys.babelfish_authid_user_ext 中 default_schema_name 列的问题。

  • 修复了 sys.babelfish_view_def 目录表中存在孤立条目的问题。

  • 修复了 UNION 和固定长度类型的问题。

  • 修复了串联运算中“+”运算符的性能问题。

  • 通过优化索引创建期间内部函数的使用和查询中的使用,修复了性能问题。

  • 修复了比较 BIT 和 VARCHAR 类型时出现的问题。

  • 改进了大量数据库的创建/删除操作的性能。

  • 为 Babelfish 数据类型添加了排序运算符,因此索引列上的 MAX/MIN 聚合可以使用 LIMIT 1 和索引扫描的候选查询计划。

  • 修复了 Babelfish 索引的空值顺序,使索引列上的 TOP 1 子句可以使用 LIMIT 1 和索引扫描的候选查询计划。

  • 修复了单击“权限”页面时“表属性”对话框中的 SSMS 崩溃问题。

  • 限制将视图用作 OUTPUT INTO 子句的目标。

Babelfish for Aurora PostgreSQL 3.3

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 15.4 一起提供。有关 Aurora PostgreSQL 15.4 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 3.3 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 3.3.0 版,2023 年 10 月 24 日

新功能
  • 增加了对 TSQL 函数 HOST_ID()EOMONTH()PARSENAME()SMALLDATETIMEFROMPARTS() 的支持。

  • 支持 sys.extended_properties 系统目录视图。

  • 支持存储过程 sp_enum_oledb_providerssp_testlinkedserversp_who

  • 增加了对带 LIKE 谓词的 T-SQL 方括号语法的支持。

  • 增加了对 Babelfish 的 pg_stat_statements 的扩展支持。有关更多信息,请参阅 pg_stat_statements

  • sp_execute_postgresql 过程中增加了对 CREATE、ALTER 或 DROP EXTENSION 语句的支持。有关更多信息,请参阅 sp_execute_postgresql

  • 增加了对对象类型数据库、架构、表、视图、列、序列、函数和过程的扩展属性的支持:sys.extended_properties 系统目录视图,存储过程 sp_addextendedpropertysp_updateextendedpropertysp_dropextendedproperty 以及系统函数 fn_listextendedproperty()

关键的稳定性增强功能
  • 当 PostgreSQL 的函数、过程或触发器位于执行堆栈中时,T-SQL 触发器无法执行。如果您尝试这样做,则会出现以下错误消息:T-SQL trigger can not be executed from PostgreSQL function, procedure or trigger.

高优先级稳定性增强功能
  • 修复了 GETDATE() 在同一个查询中错误地返回不同值的问题。

  • 修复了 GETUTCDATE() 错误地返回事务时间而非查询时间的问题。

其他改进和增强功能
  • 修复了 SSMS 为多个视图生成脚本或将视图与其他对象合并时出错的问题。

  • 修复了在 FOR JSON 或 FOR XML 结果中格式化 datetime 值时发生系统崩溃的问题。

  • 修复了在出现运行时错误后清理表变量时发生系统崩溃的问题。

  • 修复了在嵌套函数调用中使用某些值时发生系统崩溃的问题。

  • 修复了释放 PLTSQL 函数时内存访问无效的问题。

  • 修复了当列顺序与定义列顺序的表不同时 SqlBulkCopy 崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了开启 enable_pg_hint 时并行查询崩溃的问题。

  • 修复了按名称调用过程且参数顺序不同时,过程输出参数中出现错误值的问题。

  • 修复了 sp_describe_first_result_set 过程可能返回错误的列顺序而导致 BCP 无法正常工作的问题。

  • 修复了从 REAL 转换为 DECIMAL 时十进制数字丢失的相关问题。

  • 修复了 Babelfish 升级过程中的错误处理问题。如果在升级期间出现错误,Babelfish 会引发故障。

  • 修复了 XML 数据类型的发送方处理 NULL 值时导致客户端挂起的问题。

  • 修复了在过程、函数或触发器定义中错误地允许 USE 数据库语句的问题。

  • 修复了查询 sys.sysobjects 时从 PG 端口调用 T-SQL 过程中发生崩溃的问题。

  • 修复了以下问题,即作为 sp_addlinkedsrvlogin 的一部分创建的用户映射仅当在主数据库中调用 OPENQUERY() 以及包含四部分对象名称的远程对象引用时才有效。

  • sp_serveroption 中增加了对 connect_timeout 选项的支持。

  • 修复了索引临时表的重建问题。您现在可以在 Babelfish 中创建索引临时表。

  • 修复了过程中标识列的问题。

  • 修复了某些目录条目在使用临时表后未被清除,进而导致偶尔出现错误消息的问题。

  • 修复了 Babelfish TOP 子句接受不带括号的数字时出现的问题。

  • 修复了创建索引或扫描索引时的性能问题。

  • 修复了在联接条件中使用 like 表达式时因不确定性错误导致失败的问题。

Babelfish for Aurora PostgreSQL 3.2

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 15.3 一起提供。有关 Aurora PostgreSQL 15.3 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 3.2 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 3.2.1 版,2023 年 10 月 4 日

高优先级稳定性增强功能
  • 修复了在引用表变量的光标被删除时会导致崩溃的问题。

  • 修复了使用 UNION ALL、ORDER BY 和多个联接的查询时可能导致查询不可用的问题。

  • 修复了将 enable_pg_hint 设置为 on 时并行查询执行崩溃的问题。

  • 修复了释放 PLTSQL 函数时内存访问无效的问题。

其他改进和增强功能
  • 修复了在 FOR JSON 或 FOR XML 结果中适当处理日期时间值的格式而导致崩溃的问题。

  • 修复了当列顺序与表定义的顺序不同时 SqlBulkCopy 崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了按名称调用过程且参数顺序不同时,过程输出参数中出现错误值的问题。

  • 修复了在清理过程中丢弃临时表或表变量时发生崩溃的问题。

  • 修复了 XML 数据类型的发送方处理 NULL 值时导致客户端挂起的问题。

  • 修复了以下问题,即作为 sp_addlinkedsrvlogin 的一部分创建的用户映射仅当在主数据库中调用 OPENQUERY() 以及包含四部分对象名称的远程对象引用时才有效。

  • 修复了在尝试创建临时表时出现失败错误信息 2600 的问题。

  • 修复了临时表索引的重建问题。

Aurora Babelfish 3.2.0 版,2023 年 7 月 13 日

新功能
  • 支持 TIMEFROMPARTS()、DATETIME2FROMPARTS()、ROWCOUNT_BIG()、DATABASE_PRINCIPAL_ID() 和 CONTEXT_INFO() T-SQL 函数。

  • 支持 STDEV()、STDEVP()、VAR()、VARP() 统计 T-SQL 聚合。

  • 支持 COLUMN、TRIGGER、TABLE TYPE 和 USER DEFINED DATATYPE 对象的 sp_rename。

  • 支持将 Babelfish 实例作为 SQL 服务器实例的链接服务器。有关更多信息,请参阅 Babelfish 支持链接服务器

  • 在远程对象的选择查询中支持 4 部分对象名称引用。有关更多信息,请参阅 Babelfish 支持链接服务器

  • 支持 INSERT SELECT 语句的 TOP 子句。

  • 支持 SET rowcount 和 SET CONTEXT_INFO T-SQL 语法。

安全增强功能
  • 修复了非系统管理员登录可能导致 DROP 或 ALTER 登录的问题。

关键的稳定性增强功能
  • 修复了表变量可能导致元数据条目孤立的问题。

  • 修复了 CTE top order 错误处理 null first 行为的问题。

高优先级稳定性增强功能
  • 修复了与 Babelfish 服务器进行并发 SSL 连接时出现的间歇性问题。

  • 修复了 UNION ALL 查询中 ORDER BY 子句的列名解析问题。

  • 修复了删除数据库时无法识别对象的问题。

  • 修复了添加非字符串唯一键时发生崩溃的问题。

  • 用户定义的标量函数默认情况下创建为 VOLATILE。此修复更改了此行为,使不执行任何 DML 或 DDL 的用户定义的标量函数默认情况下创建为 STABLE。

  • 修复了带 TOP 子句的 UPDATE 和 DELETE 语句的列名解析逻辑问题。

其他改进和增强功能
  • 修复了 sp_helpdb 中 compatbility_level 显示为 NULL 的问题。

  • 修复了 update DropRoleStmt _ 的内存管理问题。

  • 修复了表变量,使其不受事务回滚的影响。

  • 修复了针对 nvarchar 数据类型的“select convert(nvarchar(10),Getdate(),105)”的行为。

  • 修复了允许对函数内的表变量进行 UPDATE 和 DELETE 的问题。

  • 增强了使用表变量时的性能,避免了目录臃肿。

  • 修复了 @@NEXTLEVEL 返回值比预期值大 1 个单位的问题。

  • 修复了 sp_helpdb 中无法正确处理输入参数大小写的问题。

  • 修复了可以在 CREATE FUNCTION 语句中使用 COMMIT、ROLLBACK、EXECUTE、PRINT、SAVE 和 RAISERROR 的问题。

  • 在 sp_serverOption 中支持 OPENQUERY 查询超时。有关更多信息,请参阅 Babelfish 支持链接服务器

  • 修复了 Windows 登录时 CREATE USER 的大小写问题。

  • 修复了在 CREATE LOGIN WITH WINDOWS 语句中检测到无效登录名的问题。

  • 修复了在 JSON_MODIFY() 函数中支持 INT 值的问题。

  • 修复了 JSON_MODIFY() 函数中支持 JSON_QUERY、SELECT FOR JSON 或 JSON MODIFY 等新值参数的问题。

  • 修复了 babelfishpg_tds.product_version 中的一个问题。

  • 修复了 datetimeoffset 操作问题。

  • 修复了 datetimeoffset 默认值的问题。

  • 支持代表日期时间值的数字表达式。

  • 修复了 sys.database_principals 视图中未显示用户 sys 和 information_schema 以及数据库角色 public 的问题。

  • 名称以“sys”开头的旧式 T-SQL 目录(如 sysprocesses)之前仅能在“sys”架构中使用,但现在也可以在“dbo”架构中使用。

  • 修复了可以在临时表的顶部创建 T-SQL 视图的问题。

  • 修复了 DATETIME2 不接受将 7 作为 scale 参数的问题。

Babelfish for Aurora PostgreSQL 3.1

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 15.2 一起提供。有关 Aurora PostgreSQL 15.2 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 3.1 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 3.1.3 版,2023 年 10 月 4 日

其他改进和增强功能
  • 修复了 update_DropRoleStmt 的内存管理问题。

  • 修复了当列顺序与表定义的顺序不同时,堆栈跟踪中的 heap_compute_data_size 函数在 SqlBulkCopy 中崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了以下问题,即作为 sp_addlinkedsrvlogin 的一部分创建的用户映射仅当在主数据库中调用 OPENQUERY() 以及包含四部分对象名称的远程对象引用时才有效。

  • 修复了将 enable_pg_hint 设置为 on 时并行查询执行崩溃的问题。

Aurora Babelfish 3.1.2 版,2023 年 7 月 24 日

其他改进和增强功能
  • 修复了在与 Babelfish 实例进行并发连接期间出现的间歇性 SSL 连接问题。

  • 修复了 Windows 登录语法中 CREATE USER 登录名大小写问题。

Aurora Babelfish 3.1.1 版,2023 年 5 月 10 日

其他改进和增强功能
  • 修复了在“master”以外的数据库中创建序列时出错的问题。

  • 修复了在特定场景下执行批量加载操作期间导致崩溃的问题。

  • 修复了在没有定义列的情况下使用 drop default 调用 alter table 和 alter column 时,Babelfish 实例崩溃的问题。

Aurora Babelfish 3.1.0 版,2023 年 4 月 5 日

新功能
  • 支持从 Babelfish for Aurora PostgreSQL 数据库集群 14.6 和 14.7 到 Aurora PostgreSQL 15.2 的主要版本升级。有关主要版本升级的更多信息,请参阅将 Babelfish 集群升级到新版本

  • 支持以下函数:STR、APP_NAME、OBJECT_DEFINITION、OBJECT_SCHEMA_NAME、ATN2、DATEDIFF_BIG 函数。

  • 支持以下 INFORMATION_SCHEMA 视图:序列、例程和架构。

  • 为 TABLE、VIEW、PROCEDURE、FUNCTION 和 SEQUENCE 提供 sp_rename 支持

  • 支持 sys.systypes 系统兼容性视图。

  • 支持名为 babelfishpg_tds.product_version 的新 GUC 参数,您可以使用该参数设置作为 Babelfish 的输出返回的 SQL Server 产品版本号。有关更多信息,请参阅使用 Babelfish 产品版本 GUC

  • 增加了支持,允许为 Babelfish for Aurora PostgreSQL 数据库中的各种对象生成数据定义脚本。有关更多信息,请参阅 Babelfish 支持的 DDL 导出

  • Babelfish 现在支持使用适用于托管式 Microsoft Active Directory的 Amazon Directory Service,通过 Kerberos 进行 Aurora PostgreSQL 数据库身份验证。借助此功能,当您连接到 Babelfish 数据库时,可使用 Microsoft Windows Authentication 进行身份验证。有关更多信息,请参阅使用 Babelfish for Aurora PostgreSQL 进行数据库身份验证

  • Babelfish 现在支持使用 tds_fdw (TDS Foreign Data Wrapper) APG 扩展从您的 Aurora PostgreSQL 数据库中链接服务器。目前仅支持在指定链接服务器上执行指定直通查询的 OPENQUERY 函数。有关更多信息,请参阅 Babelfish 支持链接服务器

安全增强功能
  • 修复了由于数组访问越界而导致的缓冲区溢出问题。

高优先级稳定性增强功能
  • 通过交互式查询、基于 ODBC 的应用程序和工具(如 SQL Server Management Studio)提高了性能。为此,我们针对以下问题提供了相应的增强功能:

    • 修复了多个系统函数(包括 OBJECT_ID()、OBJECT_NAME()、SCHEMA_ID())的性能问题。

    • 修复了系统存储过程 sp_sproc_columns 和 sp_fkeys 的性能问题。

    • 修复了系统目录视图 sys.all_views、sys.objects 和 sys.types 的性能问题。

    • 提高了批量加载、T-SQL 解析和预处理语句的性能。

  • 新增了系统存储过程 sp_babelfish_volatility,您可以使用它来设置用户定义函数的波动性,以便在将这些函数用作查询谓词的一部分时改善索引的使用情况。

  • 修复了引用已更新表相关名称的 UPDATE FROM 或 DELETE FROM 语句引发错误的问题。

  • 修复了 scope_identity 函数在退出一个作用域后返回错误结果的问题。

  • 修复了从 .NET 客户端框架调用命令时名称解析无法按预期运行的问题。

  • 修复了在具有 binary/varbinary 数据类型的列上定义的任何索引不被查询优化器视为相等谓词的问题。

其他改进和增强功能
  • 修复了会话的语句超时导致参数未按预期运行的问题。

  • 支持使用用户定义的数据类型创建序列。

  • 修复了列名称、别名或注释中的 unicode 导致解析错误的问题。

  • 修复了 scope_identity 函数需要的权限高于实际所需权限的问题。

  • 支持以下使用链接服务器的存储过程:sp_addlinkedserver、sp_dropserver、sp_linkedservers、sp_addlinkedsrvlogin、sp_droplinkedsrvlogin、sp_helplinkedsrvlogin。

  • 支持获取序列下一个值的 NEXT VALUE FOR 函数。请注意,在某些 control-of-flow 语句中不能使用此函数。也不支持 OVER 子句。

  • 修复了使用 sp_describe_undeclared_parameters 处理某些错误时发生崩溃的问题。

  • 修复了创建 Babelfish 扩展时出现的罕见错误。

  • 修复了在 sp_executesql 中使用 TVP 时发生“typename is NULL”错误的问题。

  • 修复了 SELECT FOR XML/JSON 行为,避免了在使用 FOR XML/JSON 子句的子查询中使用带有相关名称的 SELECT 时引发错误。

  • 修复了 SELECT FOR JSON 或 SELECT FOR XML 查询无法为空表返回正确结果的问题。

  • 修复了访客用户可以在错误的架构中创建对象的问题。

  • 针对系统存储过程中的参数类型,修复了用户定义类型的架构名称解析。

  • 修复了应用程序的以下问题,即在为准备好的语句发出绑定参数超过 100 个的查询时会失败。现在,此限制已增加到 2100,符合 SQL Server 使用的限制。

  • 修复了 sp_executesql 调用中变量名的大小写处理问题。

  • sp_fkeys 存储过程现在还会在结果集中返回 “deferrability”列。

  • 修复了 AVG 聚合中导致某些整数数据类型连接终止的问题。

  • 现在,对于属于同一对象的索引,相应视图的 index_id 和 indid 列会返回相同的值,并且 index_id 仅在对象内具有唯一性。

  • 修复了使用 nvarchar 或 j OpenJson oin 在存储过程中调用时不会引发错误的问题。

  • 修复了在使用 try_convert 和 try_cast 进行涉及某些整数文字的禁止转换时会引发错误的问题。

  • 修复了 OPENJSON WITH 子句不接受表别名的问题。

  • 支持返回正确类型的度函数、弧函数和幂函数。

  • 修复了无法正确处理 sysadmin 会员资格的问题。

  • 修复了使用 CONVERT 函数将 DATE/TIME 类型转换为 VARCHAR 类型时的默认输出样式。

  • 支持在 CREATE PROC/FUNCTION/TRIGGER 中使用 EXECUTE AS CALLER 子句。

  • 修复了在使用现有 sp_executesql 作用域后配置无法恢复的问题。

  • 修复了处理 sys.has_perms_by_name 函数跨数据库访问的问题。

  • 支持 SERVERPROPERTY 函数的 ProductLevel 和 ProductUpdateLevel 属性。 ProductUpdateLevel 始终返回 NULL 并与 T-SQL 定义密切 ProductLevel 跟踪 Babelfish 版本号。

  • 修复了将表变量用作客户端应用程序的绑定参数时导致错误的问题。

Babelfish for Aurora PostgreSQL 2.7

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.10 一起提供。有关 Aurora PostgreSQL 14.10 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.7 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.7.0 版,2023 年 12 月 21 日

安全增强功能
  • 修复了视图 sys.server_principals 的权限问题。

关键的稳定性增强功能
  • 修复了 ISNULL 函数可能返回不正确数据类型的问题。

  • 修复了诸如 IF 之类的条件语句可能无法正确评估条件的问题。

  • 修复了强制执行并行查询时可能出现的“数据库 ... 不存在”错误。

  • 修复了强制执行并行工件时对表变量或临时表的处理。

  • 修复了强制执行并行工件时发生的意外错误“与并行工件断开连接”。

  • 修复了 SELECT 列中多个括号的问题。

  • 修复了处理列名别名时出现的问题,如果列名别名包含长度超过 64 字节的字符串(例如,select col as ‘您对“数据一览”中的车型,颜色,内饰,选装,’),则该问题可能会导致客户端挂起。

  • 修复了 information_schema_tsql.tables.TABLE_TYPE 列的数据类型。

  • 修复了在 UPDATE 查询的 SET 子句中使用具有为表定义了别名的 table.column 或使用 schema_name.table.column 时出现的错误 -“列 ... 不存在”。

  • 修复了查询语句中多个函数的架构解析不正确的问题。

高优先级稳定性增强功能
  • 使用正确编码修复了 varchar 和二进制数据类型之间的类型转换。

  • 修复了列名别名可能无法保留大/小写的问题。

  • 修复了并行查询模式下涉及 MONEY 数据类型的查询崩溃的问题。

  • 修复了 MVU 在使用非默认服务器排序规则名称时的故障。

  • 修复了 information_schema 与 sys.objects WHERE type IN ('U', 'V') 在 Babelfish 中给出不同结果的问题。

  • 修复了 sp_columns 和 sp_columns_100 在十进制列中错误显示 NULL 基数的问题。

  • 修复了在并行查询模式下涉及 sys.format() 函数的查询中返回错误“在并行操作期间无法启动子事务”的问题。

  • 修复了在并行查询模式下使用 pg_hint_plan 时出现的意外错误“无法访问文件 pg_hint_plan: 没有此类文件或目录”。

  • 修复了重新创建先前删除的同名视图时 出现错误“重复的键值违反了唯一约束...”的问题。

其他改进和增强功能
  • 提高了存储过程 sp_describe_undeclared_parameters 的性能。

  • 修复了 DATEADD()、DATEDIFF() 的性能问题。

  • SSMS - 修复了存储过程在 Object Explorer 中加载时间过长的问题。

  • SSMS - 修复了在 SSMS Object Explorer 中枚举表和视图的性能问题。

  • 通过在创建和升级 Babelfish 扩展后运行 ANALYZE,修复了创建/升级 Babelfish 扩展后的性能问题。

  • 修复了当查询不必要地转换为 bigint 时不使用索引的问题。

  • 修复了使用 dbo. 或 sys. 前缀调用以 (sp_*) 开头的存储过程时出现的问题。

  • 修复了“访客”用户目录 sys.babelfish_authid_user_ext 中 default_schema_name 列的问题。

  • 修复了 sys.babelfish_view_def 目录表中存在孤立条目的问题。

Babelfish for Aurora PostgreSQL 2.6

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.9 一起提供。有关 Aurora PostgreSQL 14.9 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.6 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.6.0 版,2023 年 10 月 24 日

新功能
  • 增加了对 TSQL 函数 SMALLDATETIMEFROMPARTS() 的支持。

关键的稳定性增强功能
  • 当 PostgreSQL 的函数、过程或触发器位于执行堆栈中时,T-SQL 触发器无法执行。

高优先级稳定性增强功能
  • 修复了 GETDATE() 在同一个查询中错误地返回不同值的问题。

  • 修复了 GETUTCDATE() 错误地返回事务时间而非查询时间的问题。

其他改进和增强功能
  • 修复了 SSMS 为多个视图生成脚本或将视图与其他对象合并时出错的问题。

  • 修复了在 FOR JSON 或 FOR XML 结果中格式化 datetime 值时发生系统崩溃的问题。

  • 修复了在出现运行时错误后清理表变量时发生系统崩溃的问题。

  • 修复了在嵌套函数调用中使用某些值时发生系统崩溃的问题。

  • 修复了释放 PLTSQL 函数时内存访问无效的问题。

  • 修复了当列顺序与定义列顺序的表不同时 SqlBulkCopy 崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了开启 enable_pg_hint 时并行查询崩溃的问题。

  • 修复了按名称调用过程且参数顺序不同时,过程输出参数中出现错误值的问题。

  • 修复了 sp_describe_first_result_set 过程可能返回错误的列顺序而导致 BCP 无法正常工作的问题。

  • 修复了从 REAL 转换为 DECIMAL 时十进制数字丢失的相关问题。

  • 修复了 Babelfish 升级过程中的错误处理问题。如果在升级期间出现错误,Babelfish 会引发故障。

  • 修复了 XML 数据类型的发送方处理 NULL 值时导致客户端挂起的问题。

  • 修复了在过程、函数或触发器定义中错误地允许 USE 数据库语句的问题。

  • 修复了查询 sys.sysobjects 时从 PG 端口调用 T-SQL 过程中发生崩溃的问题。

Babelfish for Aurora PostgreSQL 2.5

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.8 一起提供。有关 Aurora PostgreSQL 14.8 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.5 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.5.1 版,2023 年 10 月 4 日

高优先级稳定性增强功能
  • 修复了在引用表变量的光标被删除时会导致崩溃的问题。

  • 修复了使用 UNION ALL、ORDER BY 和多个联接的查询时可能导致查询不可用的问题。

  • 修复了将 enable_pg_hint 设置为 on 时并行查询执行崩溃的问题。

  • 修复了释放 PLTSQL 函数时内存访问无效的问题。

其他改进和增强功能
  • 修复了在 FOR JSON 或 FOR XML 结果中适当处理日期时间值的格式而导致崩溃的问题。

  • 修复了当列顺序与表定义的顺序不同时 SqlBulkCopy 崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了按名称调用过程且参数顺序不同时,过程输出参数中出现错误值的问题。

  • 修复了在清理过程中丢弃临时表或表变量时发生崩溃的问题。

  • 修复了 XML 数据类型的发送方处理 NULL 值时导致客户端挂起的问题。

Aurora Babelfish 2.5.0 版,2023 年 7 月 13 日

安全增强功能
  • 修复了非系统管理员登录可能导致 DROP 或 ALTER 登录的问题。

关键的稳定性增强功能
  • 修复了表变量可能导致元数据条目孤立的问题。

  • 修复了 CTE top order 错误处理 null first 行为的问题。

高优先级稳定性增强功能
  • 修复了与 Babelfish 服务器进行并发 SSL 连接时出现的间歇性问题。

  • 修复了 UNION ALL 查询中 ORDER BY 子句的列名解析问题。

  • 修复了删除数据库时无法识别对象的问题。

  • 修复了添加非字符串唯一键时发生崩溃的问题。

其他改进和增强功能
  • 修复了 sp_helpdb 中 compatbility_level 显示为 NULL 的问题。

  • 修复了 update DropRoleStmt _ 的内存管理问题。

  • 修复了表变量,使其不受事务回滚的影响。

  • 修复了针对 nvarchar 数据类型的“select convert(nvarchar(10),Getdate(),105)”的行为。

  • 修复了允许对函数内的表变量进行 UPDATE 和 DELETE 的问题。

  • 增强了使用表变量时的性能,避免了目录臃肿。

  • 修复了 @@NEXTLEVEL 返回值比预期值大 1 个单位的问题。

  • 修复了 sp_helpdb 中无法正确处理输入参数大小写的问题。

Babelfish for Aurora PostgreSQL 2.4

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.7 一起提供。有关 Aurora PostgreSQL 14.7 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.4 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.4.3 版,2023 年 10 月 4 日

  • 修复了 update_DropRoleStmt 的内存管理问题。

  • 修复了当列顺序与表定义的顺序不同时,堆栈跟踪中的 heap_compute_data_size 函数在 SqlBulkCopy 中崩溃的问题。

  • 修复了当表包含大量列时,bcp in 会导致服务器崩溃的问题。

  • 修复了将 enable_pg_hint 设置为 on 时并行查询执行崩溃的问题。

Aurora Babelfish 2.4.2 版,2023 年 7 月 24 日

其他改进和增强功能
  • 修复了在与 Babelfish 实例进行并发连接期间出现的间歇性 SSL 连接问题。

Aurora Babelfish 2.4.1 版,2023 年 5 月 10 日

其他改进和增强功能
  • 修复了在“master”以外的数据库中创建序列时出错的问题。

  • 修复了在特定场景下执行批量加载操作期间导致崩溃的问题。

Aurora Babelfish 2.4.0 版,2023 年 4 月 5 日

新功能
  • 支持从 Babelfish for Aurora PostgreSQL 数据库集群 14.3 到 Aurora PostgreSQL 14.7 的次要版本升级。有关次要版本升级的更多信息,请参阅将 Babelfish 升级到新的次要版本

  • 支持从 Babelfish for Aurora PostgreSQL 数据库集群 13.x 到 Aurora PostgreSQL 14.7 的主要版本升级。有关主要版本升级的更多信息,请参阅将 Babelfish 升级到新版本

  • 支持以下函数:STR、APP_NAME、OBJECT_DEFINITION、OBJECT_SCHEMA_NAME、ATN2、DATEDIFF_BIG 函数。

  • 支持以下 INFORMATION_SCHEMA 视图:序列、例程和架构。

  • 为 TABLE、VIEW、PROCEDURE、FUNCTION 和 SEQUENCE 提供 sp_rename 支持

  • 支持 sys.systypes 系统兼容性视图。

  • 支持名为 babelfishpg_tds.product_version 的新 GUC 参数,您可以使用该参数设置作为 Babelfish 的输出返回的 SQL Server 产品版本号。有关更多信息,请参阅使用 Babelfish 产品版本 GUC

  • 增加了支持,允许为 Babelfish for Aurora PostgreSQL 数据库中的各种对象生成数据定义脚本。有关更多信息,请参阅 Babelfish 支持的 DDL 导出

安全增强功能
  • 修复了由于数组访问越界而导致的缓冲区溢出问题。

高优先级稳定性增强功能
  • 通过交互式查询、基于 ODBC 的应用程序和工具(如 SQL Server Management Studio)提高了性能。为此,我们针对以下问题提供了相应的增强功能:

    • 修复了多个系统函数(包括 OBJECT_ID()、OBJECT_NAME()、SCHEMA_ID())的性能问题。

    • 修复了系统存储过程 sp_sproc_columns 和 sp_fkeys 的性能问题。

    • 修复了系统目录视图 sys.all_views、sys.objects 和 sys.types 的性能问题。

    • 提高了批量加载、T-SQL 解析和预处理语句的性能。

  • 新增了系统存储过程 sp_babelfish_volatility,您可以使用它来设置用户定义函数的波动性,以便在将这些函数用作查询谓词的一部分时改善索引的使用情况。

  • 修复了引用已更新表相关名称的 UPDATE FROM 或 DELETE FROM 语句引发错误的问题。

  • 修复了 scope_identity 函数在退出一个作用域后返回错误结果的问题。

  • 修复了从 .NET 客户端框架调用命令时名称解析无法按预期运行的问题。

其他改进和增强功能
  • 修复了会话的语句超时导致参数未按预期运行的问题。

  • 支持使用用户定义的数据类型创建序列。

  • 修复了列名称、别名或注释中的 unicode 导致解析错误的问题。

  • 修复了 scope_identity 函数需要的权限高于实际所需权限的问题。

  • 支持获取序列下一个值的 NEXT VALUE FOR 函数。请注意,在某些 control-of-flow 语句中不能使用此函数。也不支持 OVER 子句。

  • 修复了使用 sp_describe_undeclared_parameters 处理某些错误时发生崩溃的问题。

  • 修复了创建 Babelfish 扩展时出现的罕见错误。

  • 修复了在 sp_executesql 中使用 TVP 时发生“typename is NULL”错误的问题。

  • 修复了 SELECT FOR XML/JSON 行为,避免了在使用 FOR XML/JSON 子句的子查询中使用带有相关名称的 SELECT 时引发错误。

  • 修复了 SELECT FOR JSON 或 SELECT FOR XML 查询无法为空表返回正确结果的问题。

  • 修复了访客用户可以在错误的架构中创建对象的问题。

  • 针对系统存储过程中的参数类型,修复了用户定义类型的架构名称解析。

  • 修复了以下问题,即应用程序在为准备好的语句发出绑定参数超过 100 的查询时会失败。现在,此限制已增加到 2100,符合 SQL Server 使用的限制。

  • 修复了 sp_executesql 调用中变量名的大小写处理问题。

  • sp_fkeys 存储过程现在还会在结果集中返回 “deferrability”列。

  • 修复了 AVG 聚合中导致某些整数数据类型连接终止的问题。

  • 现在,对于属于同一对象的索引,相应视图的 index_id 和 indid 列会返回相同的值,并且 index_id 仅在对象内具有唯一性。

  • 修复了使用 nvarchar 或 j OpenJson oin 在存储过程中调用时不会引发错误的问题。

  • 修复了在使用 try_convert 和 try_cast 进行涉及整数文字的禁止转换时会引发错误的问题

  • 修复了 OPENJSON WITH 子句不接受表别名的问题。

  • 支持返回正确类型的度函数、弧函数和幂函数。

  • 修复了无法正确处理 sysadmin 会员资格的问题。

  • 修复了使用 CONVERT 函数将 DATE/TIME 类型转换为 VARCHAR 类型时的默认输出样式。

  • 支持在 CREATE PROC/FUNCTION/TRIGGER 中使用 EXECUTE AS CALLER 子句。

  • 修复了在使用现有 sp_executesql 作用域后配置无法恢复的问题。

  • 修复了处理 sys.has_perms_by_name 函数跨数据库访问的问题。

  • 支持 SERVERPROPERTY 函数的 ProductLevel 和 ProductUpdateLevel 属性。 ProductUpdateLevel 始终返回 NULL 并与 T-SQL 定义密切 ProductLevel 跟踪 Babelfish 版本号。

  • 修复了将表变量用作客户端应用程序的绑定参数时导致错误的问题。

Babelfish for Aurora PostgreSQL 2.3

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.6 一起提供。有关 Aurora PostgreSQL 14.6 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.3 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.3.3 版,2023 年 9 月 13 日

其他改进和增强功能
  • 修复了创建 Babelfish 扩展时出现的罕见错误。

  • 修复了 update_DropRoleStme 的内存管理问题。

Aurora Babelfish 2.3.2 版,2023 年 3 月 3 日

安全增强功能
  • 修复了由于数组访问越界而导致的缓冲区溢出问题。

Aurora Babelfish 2.3.0 版,2023 年 1 月 20 日

新功能
  • 支持从 Babelfish for Aurora PostgreSQL 数据库集群 13.6 及更高版本到 Aurora PostgreSQL 14.6 的主要版本升级。有关主要版本升级的更多信息,请参阅将 Babelfish 集群升级到新版本

  • 支持 T-SQL 提示(连接方法、索引用法、MAXDOP)。有关 Babelfish 支持的 T-SQL 提示的更多信息,请参阅使用 T-SQL 查询提示提高 Babelfish 的查询性能

  • Babelfish 现在支持零停机修补 (ZDP)。有关更多信息,请参阅《Amazon Aurora 用户指南》中的次要版本升级和零停机修补

  • 支持 FORMAT() T-SQL 函数,但有一些限制。

  • 支持 THROW、PRINT、USE 和 RAISEERROR 语句的预估执行计划。

  • 支持 Babelfish 中的 JSON_MODIFY 函数,该函数用于更新 JSON 字符串中的属性值,并返回更新后的 JSON 字符串。

  • 支持 SELECT 语句中 FROM 子句的 VALUES() 构造函数。

  • 支持使用 sp_addrole、sp_droprole、sp_addrolemember、sp_droprolemember 过程来创建或更改角色。

  • 支持 sys.all_parameters 目录视图。

  • 在所有用户创建的数据库中支持访客用户,并支持 GRANT/CONNECT TO/FROM 用户(包括访客)。

  • 支持 sp_helpdbfixedrole 和 DATETIMEOFFSETFROMPARTS 函数。

高优先级稳定性增强功能
  • 提高了带 IDENTITY_INSERT=ON 的 INSERT 语句的性能。

  • 修复了由于使用错误的比较运算符而导致 "DROP DATABASE" 语句错误的问题。

  • 修复了无法正确处理数字类型的数字溢出错误的问题。

  • 修复了数据库所有者在自己的数据库中不被视为 dbo 的问题。

  • 修复了 SSL 握手失败的问题,并添加了一些其他改进。

  • 修复了 sys.all_objects 视图,以正确识别先前报告为标量函数 (FN) 的内联表值函数 (IF) 和表值函数 (TF)。OBJECTPROPERT IsInlineFunction Y 函数的属性也修复了类似的问题。

  • 修复了 DBO 被错误地假定为数据库角色成员的问题。

  • 修复了 sysadmin 成员无法通过 SSMS 连接的问题。

  • 更正了触发器和视图的架构名称解析,使其可以选择/修改正确的对象(表)。

  • 修复了用大小写创建角色名称时目录映射一致性的问题。

  • 修复了由于权限不足而拒绝其他登录名访问后,删除数据库会被阻止的问题。

  • 修复了除 TEXT 和 NTEXT 之外的 Babelfish 数据类型的默认排序规则,使其与 babelfishpg_tsql.server_collation_name 参数中提到的排序规则相同。有关更多信息,请参阅 Babelfish 中的默认排序规则。

  • 修复了对 tempdb.sys.objects 的跨数据库引用,以获得正确的结果。

其他改进和增强功能
  • 修复了每个数据库的触发器名称不唯一的问题。

  • 修复了从 JDBC 元数据函数调用 sp_tables 时出现的问题。

  • 修复了 CHECK 约束与 LIKE 条件一起使用时出现的问题。

  • 在处理存储过程时,使用 sp_sproc_columns 提高了性能。

  • 对于使用 TVP 作为参数的存储过程,sp_sproc_columns 现在包含表值参数行。

  • 修复了对 INFORMATION_SCHEMA.ROUTINES 和 tempdb.sys.objects 的跨数据库引用,以给出正确的结果。

  • 修复了使用各种数字和非数字数据类型支持 datetime/smalldatetime 操作的问题。

  • 修复了整数数据类型 SUM 聚合的返回值,以便返回正确的数据类型。

  • 修复了将 UPDATE/DELETE 与表别名一起使用时出现的问题。

  • 针对所有用户定义的表、视图、过程、函数、触发器和表类型,添加了对 sysobjects.crdate (create_date) 的支持。

  • 当缺少必需参数并引发显式错误时,不允许调用过程/函数。

  • 修复了在不考虑时间戳(即 hh:mm:ss.msec)的情况下计算日差和时差的问题。

  • 修复了无论输入什么参数,DATEDIFF() 函数都无法在两个输入日期之间返回正确结果的问题。

  • 修复了 DATEADD() 函数与“纳秒”单位一起使用时的问题。

  • 修复了 DATEPART()、DATENAME()、DATEDIFF() 和 DATEADD() 函数与“w”单位一起使用时的问题

  • 修复了 DATEPART() 和 DATENAME() 允许使用单位“y”的问题。

  • 修复了 DATEPART()、DATENAME()、DATEDIFF() 和 DATEADD() 函数在将字符串转换为日期时间和识别 mi 单位时的问题。

  • 支持 TRY_CONVERT() 函数

  • 修复了在数组中使用 strict/lax jsonpath 以避免 OPENJSON 错误的问题:"syntax error at or near " " of jsonpath input"。

  • 支持在 ALTER TABLE 语句将 UDF(用户定义函数)作为列默认值。

  • 修复了 SUBSTRING() 采用 NULL 参数时的问题。

  • 支持从各种数字类型执行到 SMALLDATETIME 的 cast 操作。

  • 修复了无法针对 sp_helpdb 正确处理 dbname 参数的问题。

  • 修复了允许数据库所有者为自己创建另一个用户的问题。

  • 修复了在 sp_helpsrvrolemember 和 IS_ROLEMEMBER/IS_MEMBER 函数中不忽略结尾空格的问题。

  • 改进了不支持数据类型(HIERARCHYID、GEOGRAPHY、GEOMETRY)的错误消息。

  • 修复了即使没有 EXECUTE 关键字,跨数据库过程调用和来自其他数据库的 sp_ 过程访问也应成功的问题。

  • 修复了“访客”用户在任何数据库中都不会被删除,只是被禁用的问题。

  • 修复了当用户为访客时 sp_helpuser 过程中 SID 列值的问题。

  • 修复了 money 数据类型无法处理溢出/下溢的问题。

  • 修复了在 tds 中出现错误时无法处理错误的问题。

  • 修复了 CREATE USER WITHOUT LOGIN 的错误消息。

  • 修复了 sp_helpsrvrolemember 对不支持的服务器级别角色引发不受支持错误的问题。

  • 修复了 SET BABELFISH_STATISTICS PROFILE 显示计划和执行时间的问题。

  • 纠正了 Babelfish 对象(例如视图和触发器)的架构名称解析,以便选择或修改正确的对象。

  • 支持使用 rowversion/timestamp 数据类型进行批量插入。

  • 在 Babelfish 中,sp_babelfish_configure 通过“开启/关闭”enable_pg_hint 和与 explain 相关的配置来支持这些配置。如果在使用 sp_babelfish_configure 时有多个匹配项,则接受“ignore/strict”选项。

  • 支持保留 Nulls (-k) bcp 选项,用于优化批量插入操作。

  • 支持与 money 数据类型一起使用多字节货币符号。

  • 修复了 dotnet 客户端(包括 SSMS)收到某些算术表达式的精度无效/比例错误的问题。

  • 修复了 sys.all_objects 视图,以正确识别先前报告为标量函数 (FN) 的内联表值函数 (IF) 和表值函数 (TF)。修复了 OBJECTPROP IsInlineFunction ERTY 函数属性的类似问题。

  • 修复了 is_member 函数为某些角色返回错误结果的问题。

  • 改进了 SELECT 语句的 FOR JSON PATH 子句,以支持 ROOT、INCLUDE_NULL_VALUES、WITHOUT_ARRAY_WRAPPER。

  • 支持新的转义孵化“escape_hatch_checkpoint”,默认值为“ignore”。此转义孵化允许在过程代码中使用 CHECKPOINT 语句,但当前尚未实现 CHECKPOINT 语句。

Babelfish for Aurora PostgreSQL 2.2

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.5 一起提供。有关 Aurora PostgreSQL 14.5 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.2 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 2.2.3 版,2023 年 10 月 17 日

高优先级稳定性增强功能
  • 修复了 SSL 握手失败的问题,并添加了一些其他改进。

其他改进和增强功能
  • 修复了 update_DropRoleStmt 的内存管理问题。

Aurora Babelfish 2.2.2 版,2023 年 3 月 2 日

安全增强功能
  • 修复了由于数组访问越界而导致的缓冲区溢出问题。

Aurora Babelfish 2.2.1 版,2022 年 12 月 13 日

  • 修复了无法在 babelfishpg_tsql.server_collation_name 中使用 Chinese_PRC_CI_AS、Japanese_CI_AS 等排序规则的问题。

Aurora Babelfish 2.2.0 版,2022 年 11 月 9 日

安全增强功能
高优先级稳定性增强功能
  • 修复了 sp_prepare 调用中的错误处理,当应用程序发送大量参数时,该错误可能会导致服务器崩溃。Babelfish 当前最多支持 100 个过程或函数参数。

  • 修复了在 SSL/TLS 握手中处理某些客户端驱动程序时引发的错误。

  • 修复了在 DROP/CREATE 登录后,不创建数据库用户即可访问数据库的问题。

  • 修复了在任何会话中登录时不删除此登录名的问题。

新功能
  • 支持使用 BCP 客户端进行数据迁移,而 bcp 实用程序现在支持 -E 标志(用于身份列)和 -b 标志(用于批量插入)。

  • 支持执行跨数据库存储过程。

  • 支持 CROSS APPLY 和 OUTER APPLY(横向连接)。

  • 支持内置函数 SYSTEM_USER、HOST_NAME;主机名在 sys.sysprocesses T-SQL 视图中可见;支持 SID_BINARY 函数,但在 Babelfish 中始终返回 NULL。

  • 支持将数值表达式的 CAST 函数转换为 DATETIME。

  • 支持常量值为“us_english”的 @@LANGUAGE 变量。

  • 支持在函数名称前面加上“::”以进行旧式函数调用。

  • 支持 sp_helpsrvrolemember 存储过程。

  • 支持 msdb.dbo.fn_syspolicy_is_automation_enabled 系统函数。

  • 支持更多目录:assembly_types、numbered_procedures、triggers、spatial_index_tessellations、plan_guides、synonyms、events、trigger_events、fulltext_indexes、dm_hadr_cluster、xml_indexes、change_tracking_tables、key_constraints、database_filestream_options、filetable_system_defined_objects、hash_indexes、filegroups、master_files、assembly_modules、change_tracking_databases、database_recovery_status、fulltext_catalogs、fulltext_stoplists、fulltext_indexes、fulltext_index_columns、fulltext_languages、selective_xml_index_paths、spatial_indexes、filetables、registered_search_property_lists、syspolicy_configuration、syspolicy_system_health_state。

  • 支持新的 INFORMATION_SCHEMA 目录:COLUMN_DOMAIN_USAGE、CONSTRAINT_COLUMN_USAGE、CHECK_CONSTRAINTS、ROUTINES、VIEWS。

  • 支持新的 PG-style 查询计划:转义孵化“babelfish_pgtsql.escape_hatch_showplan_all”。

    • 当设置为“忽略”时,SET SHOWPLAN_ALL 和 SET STATISTICS PROFILE 的行为与 SET BABELFISH_SHOWPLAN_ALL 和 BABELFISH_STATISTICS PROFILE 相同。

    • 当设置为“限制”时,将以静默方式忽略 SET SHOWPLAN_ALL 和 SET STATISTICS PROFILE。

  • 支持在主数据库中执行带 sp_ 前缀的存储过程,而无需使用由三部分组成的名称。

其他改进和增强功能
  • 修复了在日期时间列中插入或更新 NULL 时,存储 1900-01-01 00:00:00 值的问题。现在插入一个 NULL 值。在之前的 Babelfish 版本中创建的表中的列值不受影响。

  • 现在,在 SQL Server 中返回 7 位数的 TIME 数据类型在 Babelfish 中也返回 7 位数,第 7 位数字始终为零。此外,有时会影响第 6 位数四舍五入的问题已得到解决。

  • 将 sp_describe_first_result_set 的 @tsql 和 @params 的参数长度从 nvarchar(384) 增加到 nvarchar(8000)。这将使 DMS Babelfish 目标端点可支持的列数从 25 增加到 1000。

  • 提高了系统存储过程的性能:sys.sp_tablecollations_100、sp_columns_managed 和 sp_describe_undeclared_parameters。此修复提高了 DMS Babelfish 目标端点、SQL Server Management Studio 导入和导出向导的性能,防止超时。

  • 修复了 Bitwise NOT ~ 运算符的问题,现在它会返回 BIT 数据类型的正确结果。

  • 修复了将 BCP 用作具有触发器的表时出现的问题。

  • 修复了使用导入-导出向导时 INSERT BULK 后端出错的问题。

  • 修复了 SQL Server Management Studio (SSMS) 在对象资源管理器视图中展开表的“触发器”时返回错误的问题。

  • 修复了 sys.sysobjects 视图中的名称列使用大小写进行排序的问题。

  • 修复了在函数中引用 SQL 对象时,解析为函数的架构而不是用户默认架构的问题。

  • 修复了在计算列上结合使用 ISNULL 函数和 CONVERT 时可能发生后端崩溃的问题。

  • 修复了日期参数为字符串字面值时 DATEPART 函数存在的问题。

  • 修复了即使角色有成员也会被删除的问题。

  • 修复了数据库用户无法添加角色或删除角色的问题。

  • 修复了 BCP 无法正确处理除英语排序规则之外其他排序规则的问题。

  • 修复了 sp_helpuser 过程无法显示 dbo 用户登录名的问题。

  • 修复了无法针对函数 SUSER_SNAME 和 SUSER_SID 正确处理 NULL 和大小写混合输入的问题。

  • 修复了当出现数字溢出错误时,Babelfish 会返回无效 TDS 协议流的问题。

  • 修复了在 sys.server_principals 视图中,is_fixed_role 列会针对“sysadmin”角色返回错误的值的问题。

  • 修复了在传递给 execute 的字符串中包含 USE dbname 且由于找不到数据库 dbname 而失败的批处理中的事务处理错误。

  • 修复了在主数据库上下文中创建的带前缀 sp_ 的过程无法从其他数据库上下文访问的问题。

  • 修复了与架构名称一起使用时无法在过程中解析对象名称的问题。

  • 修复了函数 USER_ID 和 SUSER_ID 中参数大小写的问题。

  • 修复了允许在 Babelfish 临时表上创建触发器的问题。

  • 修复了导入-导出向导的若干性能问题。

  • VARCHAR(n) 支持 UTF-16 以外的多字节客户端编码。

  • 修复了系统兼容性视图 sys.sysprocesses,以显示客户端连接提供的主机名的正确值。

  • 修复了 Polish_CI_AS 排序中的大小写问题。

  • 修复了 @@DBTS 函数,使 @@DBTS 的值即使在事务中使用也能在每条 DML 语句之后正确返回当前事务 ID。

  • 提高了引用 SCOPE_IDENTITY 和 @@IDENTITY 函数的查询性能。

  • 为 fn_helpcollations 添加了对 Japanese_CS_AS、Japanese_CI_AI 和 Japanese_CI_AS 排序规则的支持。

  • @ @SERVERNAME 和 SERVERPROPERTY (ServerName') 现在会返回用户在创建实例时指定的 Babelfish 实例的名称。此值也由新支持的属性 SERVERPROPERTY ('MachineName') 和 SERVERPROPERTY ('InstanceName') 返回。

  • 函数 fn_mapped_system_error_list 列出了映射到 @@ERROR 代码的 PG 错误代码,以及相应的错误消息文本。此函数也存在于之前的 Babelfish 版本中,但不包含映射详细信息。

  • 修复了 DATEADD 函数,现在支持毫秒 (ms) 时间单位。

  • SET NO_BROWSETABLE {ON|OFF} 现在受转义孵化 escape_hatch_session_settings 的约束,因此设置为忽略时不会引发任何错误。

  • 现在支持 SET PARSEONLY {ON|OFF}。以前,除非将转义孵化 escape_hatch_session_settings 设置为忽略,否则会引发错误。

  • 现在支持 DATABASE_DEFAULT 和 CATALOG_DEFAULT 排序规则;指的是创建 Babelfish 实例时指定的服务器/实例级排序规则,因为 Babelfish 目前不支持数据库级别的排序规则。

  • 对于函数 OBJECTPROPERTYE 和 OBJECTPROPERTYEX,现在支持以下属性:、、、、、、、 ExecIsAnsiNullsOn、、、、、、、、、、、 ExecIsQuotedIdentOn、、 IsDefault、、、 IsDefaultCnst、、 IsDeterministic、、、 IsIndexed、、 IsInlineFunction、、、、、、、、、、、、 IsPrimaryKey、、、 IsProcedure、、 IsRule、、、 IsScalarFunction、、 IsSchemaBound、 IsTable。 IsTableFunction IsTrigger IsUserTable IsView OwnerId TableFulltextPopulateStatus TableHasVarDecimalStorageFormat

  • OBJECTPROPERTYEX 函数支持该属性。 BaseType

  • INDEXPROPERTY 函数支持以下属性: IndexFillFactor、indexID IsClustered、、 IsDisabled、 IsHypothetical、、 IsPadIndex、 IsPageLockDisallowed、 IsRowLockDisallowed。 IsUnique

Babelfish for Aurora PostgreSQL 2.1

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 14.3 和 14.4 一起提供。有关 Aurora PostgreSQL 14.3 和 14.4 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 2.1 中新增了几个功能、增强功能和修复程序。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Babelfish for Aurora PostgreSQL 2.1.2 版,2022 年 10 月 18 日

安全增强功能
高优先级稳定性增强功能
  • 修复了 sp_prepare 调用中的错误处理,当应用程序发送大量参数时,该错误可能会导致服务器崩溃。Babelfish 当前最多支持 100 个过程或函数参数。

  • 修复了在 SSL/TLS 握手中处理某些客户端驱动程序时引发的错误。

Babelfish for Aurora PostgreSQL 2.1.1 版,2022 年 7 月 6 日

  • 修复了 babelfishpg_tds 扩展,以正确分配扩展使用的共享内存大小。

Babelfish for Aurora PostgreSQL 2.1.0 版,2022 年 6 月 21 日

在 Aurora PostgreSQL 13.7 或更早版本上运行的 Babelfish 数据库集群无法升级到具有 Babelfish 2.1.0 的 Aurora PostgreSQL 14.3。

新功能
  • 作为一项实验性功能,支持使用 bcp 客户端实用程序进行数据迁移。目前不支持某些 bcp 选项(-b、-C、-E、-G、-h、-K、-k、-q、-R、-T、-V)。

  • 支持连接 SSMS 对象资源管理器连接对话框(而不仅仅是查询编辑器连接对话框),并对 SSMS 对象资源管理器本身提供部分支持。

  • 使用 SSMS 导入/导出向导增强了对数据迁移的支持。

  • 支持 IS_MEMBER、IS_ROLEMEMBER 和 HAS_PERMS_BY_NAME 函数。

  • 支持 syslanguages、sys.indexes、sys.all_views、sys.database_files、sys.sql_modules、sys.system_sql_modules、sys.all_sql_modules、sys.xml_schema_collections、sys.dm_hadr_database_replica_states、sys.data_spaces、sys.database_mirroring、sys.database_role_members 目录。

  • 支持 sp_sproc_columns、sp_sproc_columns_100、sp_helprole、sp_helprolemember 系统存储过程。

  • 支持 Japanese_CS_AS、Japanese_CI_AI、Japanese_CI_AS 排序规则。

  • Babelfish 现在支持在系统上使用不确定性排序规则搜索 CHARINDEX 子字符串。

  • Babelfish 现在支持 PATINDEX,并支持使用不区分大小写的排序规则对 STRING_SPLIT 的参数进行排序。

  • 查询计划输出将在 SET BABELFISH_SHOWPLAN_ALL ON (and OFF) 和 SET BABELFISH_STATISTICS PROFILE ON (OFF) 之后生成。这将为 Babelfish 中的 T-SQL 查询生成 PostgreSQL 风格的查询计划信息。确保这些 SET 语句与现有的 T-SQL 语句相同,只是添加了 BABELFISH_ 前缀。

其他改进和增强功能
  • 当前数据库之外的跨数据库引用,对象名称由三部分组成,用于 SELECT、SELECT...INTO、INSERT、UPDATE、DELETE。

  • CREATE ROLE(不支持 AUTHORIZATION 子句)、DROP ROLE、ALTER ROLE。

  • Babelfish 现在可以映射 @@ERROR=213 的错误代码。有关错误处理的更多信息,请参阅管理 Babelfish 错误处理

  • 修复了 SUBSTRING(CHARINDEX()) 变量赋值导致 Babelfish 不可用的问题。

  • 修复了 INSERT INTO...with OUTPUT 子句导致 Number of given values doesn't match target table definition 错误的问题。

  • 修复了 DELETE with OUTPUT INTO 临时表语句返回 WITH query 'nnnnnnnnnnn' doesn't have a RETURNING clause 错误的问题。

  • 修复了导致 LEFT OUTER JOIN 失败并返回 Sqlcmd: Error: Internal error at ReadAndHandleColumnData (Reason: Error reading column data) 错误的问题。这个问题是在 Babelfish 1.1.0 中引入的一个回归问题。如果您的 Babelfish for Aurora PostgreSQL 数据库集群运行的是 Babelfish 1.1.0 版,并出现了此错误,建议您升级到 Aurora PostgreSQL 13.7 以进行此修复。

  • 修复了使用 GETUTCDATE() 和 SYSUTCDATETIME() 内置函数时出现无效语法错误的问题。

  • 修复了使用 SUM() 和 AVG() 函数的数字溢出条件导致 TDS 错误的问题。

  • 修复了.NET 应用程序为 DataTable 对象调用存储过程时出现的问题,该问题会导致数据类型不匹配和不允许出现隐式转换错误。

Babelfish for Aurora PostgreSQL 1.5

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 13.9 一起提供。有关 Aurora PostgreSQL 13.9 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 1.5 中新增了一个新功能和一个增强功能。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 1.5.0 版,2023 年 1 月 20 日

新功能
高优先级稳定性增强功能
  • 修复了在进行从 13.4 到 13.5 或更高版本的次要版本升级时,货币类运算符导致升级失败的相关问题。

Babelfish for Aurora PostgreSQL 1.4

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 13.8 一起提供。有关 Aurora PostgreSQL 13.8 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 1.4 版中解决了以下问题。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Aurora Babelfish 1.4.1 版,2022 年 12 月 13 日

  • 修复了 Babelfish for Aurora PostgreSQL 13.4 数据库集群无法成功升级到 Aurora PostgreSQL 13.8 次要版本的问题。

Aurora Babelfish 1.4.0 版,2022 年 11 月 9 日

安全增强功能
高优先级稳定性增强功能
  • 修复了 sp_prepare 调用中的错误处理,当应用程序发送大量参数时,该错误可能会导致服务器崩溃。Babelfish 当前最多支持 100 个过程或函数参数。

  • 修复了在 SSL/TLS 握手中处理某些客户端驱动程序时引发的错误。

其他改进
  • 修复了 babelfishpg_tds 扩展,以正确分配扩展使用的共享内存大小。

Babelfish for Aurora PostgreSQL 1.3

此版本的 Aurora Babelfish 随 Aurora PostgreSQL 13.7 一起提供。有关 Aurora PostgreSQL 13.7 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish for Aurora PostgreSQL 1.3 版中解决了以下问题。有关 Babelfish for Aurora PostgreSQL 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Babelfish for Aurora PostgreSQL 1.3.3 版,2022 年 12 月 14 日

  • 修复了 Babelfish for Aurora PostgreSQL 13.4 数据库集群无法成功升级到 Aurora PostgreSQL 13.7 次要版本的问题。

Babelfish for Aurora PostgreSQL 1.3.2 版,2022 年 10 月 18 日

安全增强功能
高优先级稳定性增强功能
  • 修复了 sp_prepare 调用中的错误处理,当应用程序发送大量参数时,该错误可能会导致服务器崩溃。Babelfish 当前最多支持 100 个过程或函数参数。

  • 修复了在 SSL/TLS 握手中处理某些客户端驱动程序时引发的错误。

Babelfish for Aurora PostgreSQL 1.3.1 版,2022 年 7 月 6 日

  • 修复了 babelfishpg_tds 扩展,以正确分配扩展使用的共享内存大小。

Babelfish for Aurora PostgreSQL 1.3.0 版,2022 年 6 月 9 日

  • 修复了 SUBSTRING(CHARINDEX()) 变量赋值导致 Babelfish 不可用的问题。

  • 修复了 INSERT INTO...with OUTPUT 子句导致 Number of given values doesn't match target table definition 错误的问题。

  • 修复了 DELETE with OUTPUT INTO 临时表语句返回 WITH query 'nnnnnnnnnnn' doesn't have a RETURNING clause 错误的问题。

  • 修复了导致 LEFT OUTER JOIN 失败并返回 Sqlcmd: Error: Internal error at ReadAndHandleColumnData (Reason: Error reading column data) 错误的问题。这个问题是在 Babelfish 1.1.0 中引入的一个回归问题。如果您的 Babelfish for Aurora PostgreSQL 数据库集群运行的是 Babelfish 1.1.0 版,并出现了此错误,建议您升级到 Aurora PostgreSQL 13.7 以进行此修复。

Babelfish for Aurora PostgreSQL 1.2

此版本的 Babelfish 随 Aurora PostgreSQL 13.6 一起提供。有关 Aurora PostgreSQL 13.6 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish 1.2 版中解决了以下问题。有关 Babelfish 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Babelfish for Aurora PostgreSQL 1.2.4 版,2022 年 12 月 15 日

  • 修复了 Babelfish for Aurora PostgreSQL 13.4 数据库集群无法成功升级到 Aurora PostgreSQL 13.6 次要版本的问题。

Babelfish for Aurora PostgreSQL 1.2.3 版,2022 年 10 月 18 日

安全增强功能

Babelfish for Aurora PostgreSQL 1.2.2 版,2022 年 7 月 18 日

  • 修复了导致外部连接查询有时会失败并显示内部错误消息的问题。

  • 修复了 babelfishpg_tds 扩展,以正确分配扩展使用的共享内存大小。

Babelfish for Aurora PostgreSQL 1.2.1 版,2022 年 4 月 27 日

  • 修复了在使用临时表后导致 Babelfish 不可用的问题。

  • 修复了 Babelfish for Aurora PostgreSQL 13.4 或 13.5 数据库集群无法成功升级到 Aurora PostgreSQL 13.6 次要版本的问题。

  • 修复了无法使用 SQL Server Management Studio 导入和导出向导将数据传输到带有标识列的表的问题。

Babelfish for Aurora PostgreSQL 1.2.0 版,2022 年 3 月 29 日

除了下面列出的新功能和改进外,Babelfish for Aurora PostgreSQL 1.2.0 还添加了几个目前实施受限的功能。这些功能可供使用,但尚未与 T-SQL 语法或 Microsoft SQL Server 完全对等。有关更多信息,请参阅实施受限的功能

  • 现在保留了使用 T-SQL 创建的列名的大小写。也就是说,SELECT * FROM table 使用在 TDS 终端节点创建表时使用的相同大小写返回列名。

  • 表(仅限表,不包括试图)现在支持 INSTEAD-OF 触发器。

  • 支持系统定义的全局变量 @@DBTS、@@LOCK_TIMEOUT、@@SERVICENAME。

  • 支持语法 SET LOCK_TIMEOUT。

  • 支持 TIMESTAMP 和 ROWVERSION 数据类型。

  • 支持内置函数 COLUMNS_UPDATED、UPDATE、FULLTEXTSERVICEPROPERTY、ISJSON、JSON_QUERY、JSON_VALUE、HAS_DBACCESS、SUSER_SID、SUSER_SNAME、IS_SRVROLEMEMBER。

  • 完全支持 CHECKSUM 函数。此函数现在支持 * 和多列 (CHECKSUM ( * | expression [ ,...n ] ))。

  • 完全支持 SCHEMA_ID 函数。现在可以不带任何参数使用此函数 (SCHEMA_ID ( [ schema_name ] ))。

  • 支持对 SCHEMA、DATABASE 和 USER 对象使用 DROP IF EXISTS。

  • 支持以下 CONNECTIONPROPERTY 附加值:physical_net_transport 和 client_net_address。

  • 支持以下 SERVERPROPERTY 值:editionID、、、、 EngineEdition、、、 LicenseType、、 ProductVersion、 ProductMajorVersion、、、 ProductMinorVersion、 IsIntegratedSecurityOnly、和 IsLocal isxtpS IsAdvancedAnalyticsInstalled u IsBigDataCluster pp IsPolyBaseInstalled orted。 IsFullTextInstalled

  • 支持以下目录:sys.dm_os_host_info、sys.dm_exec_sessions、sys.dm_exec_connections、sys.endpoints、sys.table_types、sys.database_principals、sys.sysprocesses、sys.sysconfigures、sys.syscurconfigs 和 sys.configurations。

  • 支持以下 INFORMATION_SCHEMA 目录:TABLES、COLUMNS、DOMAINS 和 TABLE_CONSTRAINTS。

  • 支持以下系统存储过程:sp_table_privileges、sp_column_privileges、sp_special_columns、sp_fkeys、sp_pkeys、sp_stored_procedures、xp_qv、sp_describe_undeclared_parameters 和 sp_helpuser。

  • 对创建、更改和删除数据库主体(USER 对象)的支持有限。使用 USER 对象的 CREATE/ALTER/DROP 语法的限制如下:

    • 对于 CREATE USER,您只能指定 FOR/FROM LOGIN 和 DEFAULT_SCHEMA 选项。

    • 对于 ALTER USER,您只能指定 DEFAULT_SCHEMA 选项。

  • 对 SET FMTONLY ON 命令的支持有限。将此命令设置为 ON 只能抑制 SELECT 语句的执行。不会抑制其他语句的执行。

  • 仅支持针对数据库主体(而非数据库角色)的授予和撤销 (GRANT/REVOKE) 权限。支持包括 GRANT OPTION 和用于 SELECT、INSERT、UPDATE、DELETE、REFERENCES、EXECUTE 和 ALL [PRIVILEGES] 的 REVOKE..CASCADE 选项。

  • 支持 CREATE SCHEMA 上的 WITH AUTHORIZATION。

  • 支持以下新的转义孵化和转义孵化功能:

    • 通过将 default 作为第二个参数传递给 sp_babelfish_configure 存储过程来恢复 Babelfish 数据库实例转义孵化的所有默认设置。

    • 新的转义孵化 escape_hatch_ignore_dup_key (default=strict) 控制 CREATE/ALTER TABLE 和 CREATE INDEX 语句中的 IGNORE_DUP_KEY 选项。当 IGNORE_DUP_KEY=ON 时,将会出现错误,除非将 escape_hatch_ignore_dup_key 设置为 'ignore'

    • 增加了对 escape_hatch_storage_options 转义孵化上 ignore 选项的支持。当设置为 ignore 时,Babelfish 会忽略以下情况下出现的错误:

      • 忽略 CREATE DATABASE 语句中 ON 子句中引发的错误。

      • 忽略 CREATE INDEX 与 SORT_IN_TEMPDB、DROP_EXISTING 或 ONLINE 选项一起使用时引发的错误。

    有关详细信息,请参阅管理 Babelfish 错误处理

  • msdb 系统数据库始终存在,并且 dbid=4。有关更多信息,请参阅 Babelfish 架构

  • 有关每个 Babelfish 版本支持的功能列表,请参阅各版本 Babelfish 支持的功能

Babelfish for Aurora PostgreSQL 1.1

此版本的 Babelfish 随 Aurora PostgreSQL 13.5 一起提供。有关 Aurora PostgreSQL 13.5 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish 1.1 版中解决了以下问题。有关 Babelfish 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Babelfish for Aurora PostgreSQL 1.1.2 版,2022 年 12 月 16 日

  • 修复了 Babelfish for Aurora PostgreSQL 13.4 数据库集群无法成功升级到 Aurora PostgreSQL 13.5 次要版本的问题。

Babelfish for Aurora PostgreSQL 1.1.1 版,2022 年 10 月 18 日

安全增强功能

Babelfish for Aurora PostgreSQL 1.1.0 版,2022 年 2 月 25 日

Babelfish for Aurora PostgreSQL 1.1.0 版增加了对以下 Microsoft SQL Server 功能和 T-SQL 命令的支持。有关更多信息,请参阅使用 Aurora PostgreSQL 的 Babelfish

  • 可为空的列上的唯一索引或 UNIQUE 约束。要使用此功能,请将 escape_hatch_unique_constraint 更改为 'ignore'。有关更多信息,请参阅管理 Babelfish 错误处理

  • 从具有多个 DML 操作的触发器引用转换表。

  • 具有前导点字符的标识符。

  • COLUMNPROPERTY 函数(仅限于 CharMaxLen 和 AllowsNull 属性)。

  • 系统定义的 @@ 变量:@@CURSOR_ROWS、@@LOCK_TIMEOUT、@@MAX_CONNECTIONS、@@MICROSOFTVERSION、@@NESTLEVEL 和 @@PROCID。

  • 内置函数:CHOOSE、CONCAT_WS、CURSOR_STATUS、DATEFROMPARTS、DATETIMEFROMPARTS、ORIGINAL_LOGIN、SCHEMA_NAME(现已完全支持),并支持 SESSION_USER、SQUARE 和 TRIGGER_NESTLEVEL(仅支持不带参数)。

  • 系统存储过程:sp_columns、sp_columns_100、sp_columns_managed、sp_cursor、sp_cursor_list、sp_cursorclose、sp_cursorexecute、sp_cursorfetch、sp_cursoropen、sp_cursoroption、sp_cursorprepare、sp_cursorprepexec、sp_cursorunprepare、sp_databases、sp_datatype_info、sp_datatype_info_100、sp_describe_cursor、sp_describe_first_result_set、sp_describe_undeclared_parameters、sp_oledb_ro_usrname、sp_pkeys、sp_prepare、sp_statistics、sp_statistics_100、sp_tablecollations_100、sp_tables 和 sp_unprepare。

  • 有关每个 Babelfish 版本支持的功能列表,请参阅各版本 Babelfish 支持的功能

Babelfish for Aurora PostgreSQL 1.0

此版本的 Babelfish 随 Aurora PostgreSQL 13.4 一起提供。有关 Aurora PostgreSQL 13.5 中改进的更多信息,请参阅 Amazon Aurora PostgreSQL 更新。Babelfish 1.0 版中解决了以下问题。有关 Babelfish 的更多信息,请参阅使用 Babelfish for Aurora PostgreSQL

Babelfish for Aurora PostgreSQL 1.0.1 版,2022 年 10 月 18 日

安全增强功能

Babelfish for Aurora PostgreSQL 1.0.0 版,2021 年 10 月 28 日

  • Babelfish for Aurora PostgreSQL 1.0.0 版支持 Babelfish 1.0.0,从而扩展了您的 Amazon Aurora PostgreSQL 数据库,使其能够接受来自 Microsoft SQL Server 客户端的数据库连接。有关更多信息,请参阅使用 Babelfish for Aurora PostgreSQL