带有 Babelfish 的 Aurora PostgreSQL 与 SQL Server 之间的区别 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

带有 Babelfish 的 Aurora PostgreSQL 与 SQL Server 之间的区别

Babelfish 通过支持 Aurora PostgreSQL 的 SQL Server 数据类型、语法和函数来支持 T-SQL 和 SQL Server 行为。这种方法使 Aurora 能够同时支持 Aurora PostgreSQL 和 SQL Server SQL 方言。此外,Babelfish 支持 SQL Server 线路级协议 (TDS),允许 SQL Server 应用程序与 Aurora PostgreSQL 进行本机通信。这样做有助于以较少的更改迁移数据库对象、存储过程和应用程序代码。

尽管 Babelfish 不提供对 T-SQL 的完整支持,但是您可以使用 Aurora PostgreSQL SQL 命令来执行通常由这些命令处理的许多任务。例如,如果您经常使用 Babelfish 不支持的特定 T-SQL 命令,请连接到 Aurora PostgreSQL 端口,然后使用 PostgreSQL SQL 命令。有关更多信息,请参阅 PostgreSQL 文档中的 SQL 命令

Aurora PostgreSQL 提供了替换许多常用 SQL Server 功能的功能。下面是可以用 Aurora 功能替代的一些 SQL Server 功能示例:

为了帮助在 Aurora PostgreSQL 中进行集群管理,您可以使用其可扩展性、具有故障转移支持的高可用性以及内置复制。有关这些功能的更多信息,请参阅 管理 Aurora 数据库集群的性能和扩展Amazon Aurora 的高可用性使用 Amazon Aurora 进行复制。您还可以访问其他 Amazon 工具和实用程序:

  • Amazon CloudWatch 是一项监控和可观察性服务,为您提供数据和可操作的洞察。

  • Amazon RDS 性能详情是一项数据库性能优化和监控功能,可帮助您快速评估数据库的负载。

  • Amazon RDS 多可用区部署为数据库集群提供增强的可用性和持久性。

  • Amazon RDS 全局数据库允许单个 Amazon Aurora 数据库跨越多个 Amazon 区域,提供可扩展的跨区域复制。

  • 自动软件修补使用可用的最新安全和功能补丁来保持数据库的最新状态。

  • Amazon RDS 事件通知概述 Amazon RDS 事件通过电子邮件或 SMS 消息通知您重要的数据库事件,例如自动故障转移。

T-SQL 限制和不受支持的功能

下表列出了 Babelfish 不受支持或部分支持的 T-SQL 语法以及不支持的功能。

功能或语法 备注

ADD SIGNATURE

不支持与此命令相关的功能。

CREATE AGGREGATE

不支持与此命令相关的功能。

聚合函数(部分支持)

不支持 APPROX_COUNT_DISTINCT、CHECKSUM_AGG、GROUPING_ID、ROWCOUNT_BIG、STDEV、STDEVP、VAR 和 VARP。

CREATE、ALTER、DROP APPLICATION ROLE

不支持与此语法相关的功能。

CREATE、ALTER、DROP ASSEMBLY

不支持与此语法相关的功能。

CREATE、ALTER、DROP ASYMMETRIC KEY

不支持与此语法相关的功能。

组装模块和 CLR 例程

不支持与组装模块和 CLR 例程相关的功能。

CREATE、ALTER、DROP AUTHORIZATION

不支持与这些命令相关的功能。

CREATE、ALTER、DROP AVAILABILITY GROUP

不支持与这些命令相关的功能。

BACKUP 语句

数据库的 Aurora PostgreSQL 快照与 SQL Server 中创建的备份文件不同。此外,SQL Server 与 Aurora PostgreSQL 之间进行备份和还原的粒度也可能不同。

BEGIN DISTRIBUTED TRANSACTION

不支持与此语法相关的功能。

CREATE、ALTER、DROP BROKER PRIORITY

不支持与这些命令相关的功能。

批量复制进出

不支持与此命令相关的功能。

BULK INSERT

不支持此语法。

CERTENCODED 函数

不支持此函数。

CERTID 函数

不支持此函数。

CERTPRIVATEKEY 函数

不支持此函数。

CERTPROPERTY 函数

不支持此函数。

索引和约束的 SQL 关键字 CLUSTEREDNONCLUSTERED

Babelfish 接受并忽略 CLUSTEREDNONCLUSTERED 关键字。

排序规则,根据 ICU 库对类型进行索引

当库的版本更改时,依赖于 ICU 排序规则库(Babelfish 使用的库)的用户定义类型的索引不会失效。有关排序规则的更多信息,请参阅 Babelfish 排序规则支持

COLLATIONPROPERTY 函数

排序规则属性仅适用于受支持的 Babelfish BBF 排序规则。有关排序规则的更多信息,请参阅 Babelfish 排序规则支持

列原定设置

创建列原定设置时,约束名称将被忽略。要删除列原定设置,请使用以下语法:ALTER TABLE...ALTER COLUMN..DROP DEFAULT...

列名称:IDENTITYCOL

不支持此列名。

列名称:$IDENTITY

不支持此列名。

列名称:$ROWGUID

不支持此列名。

COLUMNPROPERTY

不支持此函数。

没有列别名的空白列名

sqlcmdpsql 实用程序以不同方式处理空名的列:

  • SQL Server sqlcmd 返回空白列名。

  • PostgreSQL psql 返回生成的列名称。

列名称大小写

列名以小写形式存储在 PostgreSQL 目录中,并在您运行 SELECT 语句时以小写形式返回到客户端中。一般来说,所有架构标识符都以小写形式存储在 PostgreSQL 目录中。有关更多信息,请参阅 PostgreSQL 文档中的 SQL-SYNTAX-IDENTIFIERS

虚拟计算列(非持久性)

虚拟计算列是作为永久列创建的。

列属性

不支持 ROWGUIDCOL、SPARSE、FILESTREAM、MASKED。

CREATE、ALTER、DROP COLUMN ENCRYPTION KEY

不支持与这些命令相关的功能。

COLUMN MASTER KEY

不支持与此对象类型相关的功能。

sysdatabases.cmptlevel

sysdatabases.cmptlevel 始终为 NULL。

CREATE CONTRACT

不支持与此命令相关的所有功能。

CREATE、ALTER、DROP、BACKUP CERTIFICATE

不支持与这些命令相关的功能。

CONNECTIONPROPERTY 函数

不受支持的属性包括 local_net_addressclient_net_addressphysical_net_transport

约束

PostgreSQL 不支持打开和关闭单个约束条件。将忽略语句,并发出警告。

使用 DESC(降序)列创建的约束

约束是使用 ASC(升序)列创建的。

具有 IGNORE_DUP_KEY 的约束

不使用此属性创建约束。

BEGIN CONVERSATION TIMER

不支持此语法。

END、MOVE CONVERSATION

不支持此语法。

GET CONVERSATION GROUP

不支持此语法。

CREATE、ALTER、DROP CREDENTIAL

不支持此语法。

ALTER DATABASE

不支持此语法。

ALTER DATABASE SCOPED CREDENTIAL

不支持此语法。

CREATE DATABASE 关键字和子句

不支持 COLLATE 和 CONTAINMENT=NONE 以外的选项。COLLATE 子句被接受并且始终设置为 babelfishpg_tsql.server_collation_name 的值。

CREDENTIAL

不支持与此对象类型相关的功能。

跨数据库对象引用

不支持具有三部分名称的对象。有关更多信息,请参阅:将 Babelfish 与单个数据库或多个数据库结合使用

远程对象引用

不支持具有四部分名称的对象。有关更多信息,请参阅:为 Babelfish 配置数据库

CRYPTOGRAPHIC PROVIDER

不支持与此对象类型相关的功能。

光标(可更新)

不支持可更新的光标。

光标(全局)

不支持 GLOBAL 光标。

光标(获取行为)

不支持以下光标获取行为:FETCH PRIOR、FIRST、LAST、ABSOLUTE、RELATIVE

光标类型(变量和参数)

不支持光标类型的变量和参数。

CROSS APPLY

不支持横向连接。

CREATE、ALTER、DROP CRYPTOGRAPHIC PROVIDER

不支持此语法。

光标选项

SCROLL、KEYSET、DYNAMIC、FAST_FORWARD、SCROLL_LOCKS、OPTIMISTIC、TYPE_WARNING、FOR UPDATE

DBCC 命令

不支持 DBCC 命令。

Babelfish 上的数据库 ID 值不同

主数据库和 tempdb 数据库将不是数据库 ID 1 和 2。

CREATE DATABASE 区分大小写的排序规则

CREATE DATABASE 语句不支持区分大小写的排序规则。

ALTER DATABASE、ALTER DATABASE SET

不支持与这些命令相关的功能。

CREATE、ALTER、DROP DATABASE ENCRYPTION KEY

不支持与这些命令相关的功能。

包含的数据库

不支持在数据库级别而不是在服务器级别验证了登录名的包含数据库。

CREATE、ALTER、DROP DATABASE AUDIT SPECIFICATION

不支持与此对象类型相关的功能。

CREATE、ALTER EXTERNAL DATA SOURCE

不支持与此对象类型相关的功能。

ROWVERSION 数据类型

不支持此数据类型。

TIMESTAMP 数据类型

不支持此数据类型。SQL Server TIMESTAMP 类型与 PostgreSQL TIMESTAMP 无关。

CREATE、DROP DEFAULT

不支持与此对象类型相关的功能。

拒绝

不支持此语法。

DIAGNOSTIC SESSION

不支持与此对象类型相关的功能。

BEGIN DIALOG CONVERSATION

不支持此语法。

丢弃多个对象的 DROP 语句

仅表、视图、函数和过程支持此功能。

DROP IF EXISTS

USER 和 SCHEMA 对象不支持此语法。对象 TABLE、VIEW、PROCEDURE、FUNCTION 和 DATABASE 都支持此语法。

数据加密

不支持数据加密。

加密

内置函数和语句不支持加密。

ENCRYPT_CLIENT_CERT 连接

不支持客户端证书连接。

CREATE、ALTER、DROP ENDPOINT

不支持此语法。

EXECUTE AS 语句

不支持此语句。

EXECUTE AS SELF 子句

函数、过程或触发器不支持此子句。

CREATE... EXECUTE AS OWNER 子句

EXECUTE AS OWNER 或 CALLER 支持权限,但不支持名称解析。

EXECUTE AS USER 子句

函数、过程或触发器不支持此子句。

使用 AS LOGIN 或 AT 选项的 EXECUTE

不支持此语法。

使用 EXECUTE 调用 SQL 函数

不支持此语法。

EVENTDATA 函数

不支持此函数。

CREATE、DROP EVENT NOTIFICATION

不支持此函数。

CREATE、ALTER、DROP EVENT SESSION

不支持与此语法相关的功能。

CREATE EXTERNAL FILE FORMAT

不支持此语法。

SQL 关键字子句 ON filegroup

此子句当前被忽略。

引用数据库名称的外键约束

不支持引用数据库名称的外键约束。

CREATE、ALTER、DROP FULLTEXT CATALOG

不支持与此语法相关的功能。

CREATE、ALTER、DROP FULLTEXT INDEX

不支持与此语法相关的功能。

CREATE、ALTER、DROP FULLTEXT STOPLIST

不支持与此语法相关的功能。

全文搜索

不支持全文搜索内置函数和语句。

ALTER FUNCTION

不支持此语法。

具有 >100 个参数的函数声明

包含 100 个以上参数的函数声明不受支持。

包含 DEFAULT 作为参数值的函数调用

DEFAULT 不是函数调用支持的参数值。

包含 :: 的函数调用包括

不支持包含 :: 的函数调用。

外部定义的函数

不支持包括 SQL 公共语言运行时 (CLR) 在内的外部函数。

GEOMETRY

不支持数据类型和所有相关功能。

GEOGRAPHY

不支持数据类型和所有相关功能。

GET_TRANSMISSION_STATUS

不支持此函数。

图表功能

不支持所有 SQL 图表功能。

GRANT

不支持此命令。

GROUP BY ALL 子句

不支持此语法。

GROUP BY ROLLUP 子句

不支持此语法。

GROUP BY CUBE 子句

不支持此语法。

ALTER DATABASE SET HADR

不支持此语法。

HASHBYTES 函数

唯一支持的算法包括:MD5、SHA1 和 SHA256

HIERARCHYID

不支持数据类型和方法。

提示

连接、查询或表不支持提示。

INFORMATION_SCHEMA 目录

不支持信息架构视图。

超过 63 个字符的标识符

PostgreSQL 最多为标识符支持 63 个字符。Babelfish 将长度超过 63 个字符的标识符转换为包含原名哈希的名称。

带前导点字符的标识符

不支持以 . 开头的标识符。

具有多个前导 @ 字符的标识符(变量或参数)

不支持以多个前导 @ 开头的标识符。

包含 @ 或 ]] 字符的标识符、表或列名

不支持包含 @ 符号或方括号的表或列名。

系统定义的 @@ 变量

Babelfish 不支持系统定义的 @@ 变量,但以下除外:@@VERSION、@@SPID、@@ROWCOUNT、@@TRANCOUNT、@@IDENTITY、@@ERROR、@@FETCH_STATUS、@@MAX_PRECISION、@@SERVERNAME、@@DATEFIRST

IDENTITY 列支持

IDENTITY 列支持数据类型 tinyintsmallintintbigintnumericdecimal

SQL Server 为 IDENTITY 列中的数据类型 numericdecimal 支持的精度达到 38 位。

PostgreSQL 为 IDENTITY 列中的数据类型 numericdecimal 支持的精度达到 19 位。

使用 IGNORE_DUP_KEY 的索引

创建包含 IGNORE_DUP_KEY 的索引的语法会创建一个索引,就像省略此属性一样。

包含 32 列以上的索引

索引不能包含超过 32 列。包含的索引列在 PostgreSQL 中计入最大值,但在 SQL Server 中不计。

内联索引

不支持内联索引。

索引(聚集)

聚集索引的创建就像指定了 NONCLUSTERED 一样。

索引视图

不支持与此对象类型相关的功能。

CREATE COLUMNSTORE INDEX

不支持此语法。

ALTER INDEX

不支持此语法。

DROP INDEX

此语法仅在表单 DROP index_name ON table_name 中受支持。

CREATE、ALTER、DROP SPATIAL INDEX

不支持此语法。

CREATE、ALTER、DROP XML INDEX

不支持此语法。

索引子句

以下子句将被忽略:FILLFACTOR、ALLOW_PAGE_LOCKS、ALLOW_ROW_LOCKS、PAD_INDEX、STATISTICS_NORECOMPUTE、OPTIMIZE_FOR_SEQUENTIAL_KEY、SORT_IN_TEMPDB、DROP_EXISTING、ONLINE、COMPRESSION_DELAY、MAXDOP、DATA_COMPRESSION

INSERT... TOP

不支持此语法。

INSERT... DEFAULT VALUES

不支持此语法。

JSON

不支持数据类型、内置函数和语句。

KILL

不支持此语法。

CREATE、ALTER、DROP EXTERNAL LANGUAGE

不支持此语法。

CREATE、ALTER、DROP EXTERNAL LIBRARY

与此对象类型相关的功能

CREATE、ALTER LOGIN 子句支持有限的语法

支持 CREATE LOGIN... PASSWORD 子句、...DEFAULT_DATABASE 子句和 ...DEFAULT_LANGUAGE 子句。支持 ALTER LOGIN... PASSWORD 子句,但 ALTER LOGIN... OLD_PASSWORD 子句不受支持。只有属于系统管理员成员的登录名才能修改密码。

LOGIN 对象

LOGIN 对象的所有选项,但以下各项除外:PASSWORD、DEFAULT_DATABASE、ENABLE、DISABLE

LOGINPROPERTY 函数

不支持此函数。

CREATE、ALTER、DROP、OPEN/CLOSE、BACKUP/RESTORE MASTER KEY

不支持与此语法相关的功能。

具体化视图

不支持具体化视图。

CREATE、ALTER、DROP MESSAGE TYPE

不支持此语法。

NEWSEQUENTIALID 函数

作为 NEWID 实施;不保证顺序行为。

MERGE

不支持此语法。

NEWSEQUENTIALID 函数

调用 NEWSEQUENTIALID 时,PostgreSQL 会生成一个新的 GUID 值。

NEXT VALUE FOR 顺序子句

不支持此语法。

NOT FOR REPLICATION 子句

接受并忽略此语法。

SET NUMERIC_ROUNDABORT ON

不支持此设置。

OBJECTPROPERTY

不支持此函数。

OBJECTPROPERTYEX

不支持此函数。

ODBC 转义函数

不支持 ODBC 转义函数。

OUTER APPLY

不支持 SQL Server 横向连接。PostgreSQL 提供了允许横向连接的 SQL 语法,但行为并不相同。有关为 PostgreSQL 横向连接的更多信息,请参阅 PostgreSQL 文档

支持 OUTPUT 子句,但存在以下限制

同一个 DML 查询中不支持 OUTPUT 和 OUTPUT INTO。不支持在 OUTPUT 子句中对 UPDATE 或 DELETE 操作的非目标表进行引用。OUTPUT... DELETED *、INSERTED * 在同一个查询中不受支持。

过程或函数参数限制

Babelfish 最多支持 100 个过程或函数的参数。

分区

不支持表和索引分区。

CREATE、ALTER、DROP PARTITION FUNCTION

不支持此语法。

CREATE、ALTER、DROP PARTITION SCHEME

不支持此语法。

ALTER PROCEDURE 语句

不支持此语法。

过程 WITH RECOMPILE

不支持 WITH RECOMPILE(与 DECLARE 和 EXECUTE 语句结合使用时)。

包含 100 个以上参数的过程声明

不支持包含 100 个以上参数的声明。

包含 DEFAULT 作为参数值的过程调用

DEFAULT 不是支持的参数值。

外部定义的过程

不支持外部定义的过程,包括 SQL 公共语言运行时 (CLR)。

调用名称在变量中的过程

不支持使用变量作为过程名称。

过程版本控制

不支持过程版本控制。

CREATE、ALTER、DROP QUEUE

不支持与此语法相关的功能。

READTEXT

不支持此语法。

CREATE、ALTER、DROP REMOTE SERVICE BINDING

与此对象类型相关的功能。

CREATE、ALTER、DROP RESOURCE POOL

不支持此语法。

CREATE、ALTER、DROP EXTERNAL RESOURCE POOL

不支持与此语法相关的功能。

CREATE、ALTER、DROP RESOURCE GOVERNOR

不支持与此语法相关的功能。

RESTORE 语句

数据库的 Aurora PostgreSQL 快照与 SQL Server 中创建的备份文件不同。此外,SQL Server 与 Aurora PostgreSQL 之间进行备份和还原的粒度也可能不同。

REVERT

不支持此语法。

REVOKE

不支持此语法。

CREATE、ALTER、DROP ROLE

不支持此语法。

sysadmin 以外的服务器级别角色

不支持服务器级角色(除 sysadmin 外)。

db_owner 以外的数据库级别角色

不支持 db_owner 以外的服务器级角色。

ROLLBACK:表变量不支持事务回滚

如果在包含表变量的会话中发生回滚,则处理可能会中断。

CREATE、ALTER、DROP ROUTE

不支持与此语法相关的功能。

ROWGUIDCOL

目前已忽略。引用 $GUIDGOL 的查询导致语法错误。

行级别安全性

不支持具有 CREATE SECURITY POLICY 和内联表值函数的行级安全性。

ROWSET 函数

不支持以下 ROWSET 函数:OPENXML、OPENJSON、OPENROWSET、OPENQUERY、OPENDATASOURCE

ROWVERSION

不支持此数据类型。

CREATE/DROP RULE

不支持与此语法相关的功能。

ALTER DATABASE SCOPED CONFIGURATION

不支持此语法。

ALTER SCHEMA

不支持此语法。

CREATE SCHEMA... 支持子句

您可以使用 CREATE SCHEMA 命令创建空架构。使用其他命令创建架构对象。

CREATE、ALTER、DROP SECURITY POLICY

不支持此语法。

CREATE、ALTER、DROP SEARCH PROPERTY LIST

不支持此语法。

SEQUENCE 对象支持

数据类型 tinyint、smallint、int、bigint、numeric 和 decimal 支持 SEQUENCE 对象。

对于 SEQUENCE 中的数据类型 numeric 和 decimal,Aurora PostgreSQL 支持的精度达到 19 位。

CREATE、ALTER、DROP SERVER AUDIT

不支持与此对象类型相关的功能。

CREATE、ALTER、DROP SERVER AUDIT SPECIFICATION

不支持与此对象类型相关的功能。

SELECT PIVOT/UNPIVOT

不支持此语法。

SELECT TOP x PERCENT WHERE x <> 100

不支持此语法。

SELECT TOP... WITH TIES

不支持此语法。

SELECT ... FOR XML PATH、ELEMENTS

语法在没有 ELEMENTS 子句的情况下受支持

SELECT... FOR XML RAW、ELEMENTS

语法在没有 ELEMENTS 子句的情况下受支持

SEND

不支持此语法。

ALTER SERVER CONFIGURATION

不支持此语法。

SERVERPROPERTY

不支持的属性:BuildClrVersion、ComparisonStyle、ComputerNamePhysicalNetBIOS、EditionID、HadrManagerStatus、InstanceDefaultDataPath、InstanceDefaultLogPath、InstanceName、IsAdvancedAnalyticsInstalled、IsBigDataCluster、IsClustered、IsFullTextInstalled、IsHadrEnabled、IsIntegratedSecurityOnly、IsLocalDB、IsPolyBaseInstalled、IsXTPSupported、LCID、LicenseType、MachineName、NumLicenses、ProcessID、ProductBuild、ProductBuildType、ProductLevel、ProductUpdateLevel、ProductUpdateReference、ResourceLastUpdateDateTime、ResourceVersion、ServerName、SqlCharSet、SqlCharSetName、SqlSortOrder、SqlSortOrderName、FilestreamShareName、FilestreamConfiguredLevel、FilestreamEffectiveLevel

CREATE、ALTER、DROP SERVER ROLE

ALTER SERVER ROLE 仅支持 sysadmin。不支持所有其他语法。

对于登录(服务器主体)、数据库和数据库用户(数据库主体)的概念,Babelfish 为 T-SQL 用户提供了类似于 SQL Server 的体验。

在 Babelfish 中,目前 dbo 用户仅在用户数据库中提供。目前,要以 dbo 用户身份进行操作,登录名必须是服务器级别 sysadmin 角色的成员 (ALTER SERVER ROLE sysadmin ADD MEMBER login)。没有 sysadmin 角色的登录名目前只能以 guest 用户身份访问 mastertempdb

目前,因为 Babelfish 只支持用户数据库中的 dbo 用户,所有应用程序用户都必须使用属于 sysadmin 成员的一个登录名。您不能创建具有较低权限的用户,例如对某些表的只读权限。

CREATE、ALTER、DROP SERVICE

不支持与此语法相关的功能。

ALTER SERVICE、BACKUP/RESTORE SERVICE MASTER KEY 子句

不支持与此语法相关的功能。

SESSIONPROPERTY

不支持的属性:ANSI_NULLS、ANSI_PADDING、ANSI_WARNINGS、ARITHABORT、CONCAT_NULL_YIELDS_NULL、NUMERIC_ROUNDABORT

服务代理功能

不支持服务代理功能。

SERVICE MASTER KEY

不支持与此对象类型相关的功能。

SET ANSI_NULL_DFLT_OFF ON

不支持此设置。

SET ANSI_NULL_DFLT_ON OFF

不支持此设置。

SET ANSI_PADDING OFF

不支持此设置。

SET ANSI_WARNINGS OFF

不支持此设置。

SET ARITHABORT OFF

不支持此设置。

SET ARITHIGNORE ON

不支持此设置。

SET CONTEXT_INFO

不支持此语法。

SET CURSOR_CLOSE_ON_COMMIT ON

不支持此设置。

SET DATEFORMAT

不支持此语法。

SET DEADLOCK_PRIORITY

不支持此语法。

SET FORCEPLAN

不支持此语法。

SET FMTONLY

不支持此语法。

SET LANGUAGE

此语句不支持 englishus_english 之外的任何值。

SET LOCK_TIMEOUT

不支持此语法。

SET NUMERIC_ROUNDABORT ON

不支持此语法。

SET REMOTE_PROC_TRANSACTIONS

不支持此语法。

SET ROWCOUNT n WHERE n != 0

不支持此语法。

SET ROWCOUNT @variable

不支持此语法。

SET SHOWPLAN_ALL

不支持此语法。

SET SHOWPLAN_TEXT

不支持此语法。

SET SHOWPLAN_XML

不支持此语法。

SET STATISTICS

不支持此语法。

SET STATISTICS IO

不支持此语法。

SET STATISTICS PROFILE

不支持此语法。

SET STATISTICS TIME

不支持此语法。

SET STATISTICS XML

不支持此语法。

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ

不支持此语法。

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

不支持此语法。

SET OFFSETS

不支持此语法。

SETUSER 语句

不支持 SETUSER 语句。

SHUTDOWN 语句

不支持此语法。

SP_CONFIGURE

不支持此系统存储过程。

SQL 关键字 SPARSE

接受并忽略关键字 SPARSE。

部分支持系统提供的存储过程

支持 SP_HELPDB、SP_GETAPPLOCK 和 SP_RELEASEAPPLOCK。不支持所有其他存储过程。

存储过程调用中未加引号的字符串值和原定设置值

不支持存储过程调用的字符串参数以及 CREATE PROCEDURE 中字符串参数的原定设置值。

SYNONYM

不支持与此对象类型相关的功能。

CREATE、ALTER、DROP、OPEN/CLOSE SYMMETRIC KEY

不支持与此对象类型相关的功能。

CREATE TABLE... GRANT 子句

不支持与此语法相关的功能。

CREATE TABLE... IDENTITY 子句

不支持与此语法相关的功能。

CREATE EXTERNAL TABLE

不支持与此语法相关的功能。

表值构造函数语句(FROM 子句)

不支持的语法适用于使用 FROM 子句构造的派生表。

tempdb 在重启时没有重新初始化

重新启动数据库时,不会删除在 tempdb 中创建的永久对象(如表和过程)。

时间精度

Babelfish 对小数秒支持 6 位数的精度。预计这种行为不会产生负面影响。

TYPEPROPERTY 函数

不支持此函数。

全局临时表(名称以 ## 开头的表)

不支持全局临时表。

临时过程不会自动删除

不支持此函数。

临时表

不支持临时表。

TEXTIMAGE_ON 文件组

Babelfish 忽略 TEXTIMAGE_ON 文件组子句。

事务隔离级别

以与 READCOMMITTED 相同的方式对待 READUNCOMMITTED。不支持 REPEATABLEREAD 和 SERIALIZABLE。

CREATE/ALTER/ENABLE/DISABLE TRIGGER

不支持此语法。

DDL 触发器

不支持 DDL 触发器。

LOGON 触发器

不支持 LOGON 触发器。

外部定义的触发器

这些触发器不受支持,包括 SQL 公共语言运行时 (CLR)。

INSTEAD OF 触发器

不支持 INSTEAD OF 触发器。

多个 DML 操作的触发器无法引用转换表

引用多个 DML 操作的触发器无法引用转换表。

CREATE、ALTER、DROP TYPE

不支持此语法。

SELECT... FOR XML AUTO

不支持此语法。

SELECT... FOR XML EXPLICIT

不支持此语法。

UPDATE STATISTICS

不支持此语法。

CREATE USER

不支持此语法。PostgreSQL 语句 CREATE USER 不会创建与 SQL Server CREATE USER 语法相当的用户。

UPDATETEXT

不支持此语法。

USER

不支持与此对象类型相关的功能。

ALTER VIEW

不支持此语法。

VIEW... VIEW_METADATA 子句

不支持此语法。

VIEW... CHECK OPTION 子句

不支持此语法。

@@version

@@version 返回的值的格式与 SQL Server 返回的值略有不同。如果您的代码取决于 @@version 的格式化,可能无法正常工作。

WAITFOR DELAY

不支持此语法。

WAITFOR、RECEIVE

不支持此语法。

WAITFOR TIME

不支持此语法。

WITH ENCRYPTION 子句

函数、过程、触发器或视图不支持此子句。

CREATE、ALTER、DROP WORKLOAD GROUP

不支持与此语法相关的功能。

CREATE、DROP WORKLOAD CLASSIFIER

不支持此语法。

WRITETEXT

不支持此语法。

OPENXML

不支持此函数。

带架构的 XML 数据类型 (xmlschema)

支持没有架构的 XML 类型。

XML 方法

不支持 XML 方法,包括 .VALUES、.NODES 和其他方法。

XML 索引

不支持 XML 索引。

XPATH 表达式

不支持此语法。

WITH XMLNAMESPACES 构造

不支持此语法。

WITHOUT SCHEMABINDING 子句

函数、过程、触发器或视图不支持此子句。已创建对象,但仿佛指定了 WITH SCHEMABINDING。

CREATE、ALTER、DROP SELECTIVE XML INDEX 子句

不支持此语法。

CREATE、ALTER、DROP XML SCHEMA COLLECTION

不支持此语法。