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

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

Babelfish 通过支持 Aurora PostgreSQL 的 Microsoft 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 命令。有关更多信息,请参阅 PostgreSQL 文档中的 SQL 命令

Aurora PostgreSQL 提供了替换许多常用 SQL Server 功能的功能。下面是可以用 Aurora PostgreSQL 中的 PostgreSQL 功能替代的一些 SQL Server 功能示例。在该表中,引用指向 PostgreSQL 文档。

SQL Server 功能 可比较的 PostgreSQL 功能

SQL Server 批量复制

PostgreSQL COPY(已针对数据加载进行优化)

SQL Server GROUP BY 子句(Babelfish 中不支持)

PostgreSQL GROUPING SETS

SQL Server JSON 支持

PostgreSQL JSON 函数和运算符

SQL Server XML 支持

PostgreSQL XML 函数

SQL Server 全文搜索

PostgreSQL 全文搜索

SQL Server GEOGRAPHY 数据类型

PostGIS 扩展(用于处理地理数据)

为了帮助在 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 语法。除非另有说明,否则这些限制适用于 Babelfish 1.0.0。有关 Babelfish 版本的更多信息,请参阅 Babelfish 版本

功能或语法 注意

@@version

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

聚合函数(部分支持)

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

ALTER TABLE

仅支持添加或删除单个列或约束。

程序集模块和 SQL 公共语言运行时 (CLR) 例程

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

BACKUP 语句

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

没有列别名的空白列名

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

  • SQL Server sqlcmd 返回空白列名。

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

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

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

COLLATIONPROPERTY 函数

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

列原定设置

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

列名称大小写

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

列属性

不支持 ROWGUIDCOL、SPARSE、FILESTREAM 和 MASKED。

CONNECTIONPROPERTY 函数

不受支持的属性包括 local_net_addressclient_net_addressphysical_net_transport

约束

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

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

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

具有 IGNORE_DUP_KEY 的约束

不使用此属性创建约束。

包含的数据库

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

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 DATABASE 区分大小写的排序规则

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

CREATE DATABASE 关键字和子句

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

CREATE SCHEMA... 支持子句

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

CREATE USER

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

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

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

LOGIN 对象

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

CROSS APPLY

不支持横向连接。

跨数据库对象引用

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

光标(可更新)

不支持可更新的光标。

光标(全局)

不支持 GLOBAL 光标。

光标(获取行为)

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

光标类型(变量和参数)

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

光标选项

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

Babelfish 上的数据库 ID 值不同

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

数据加密

不支持数据加密。

DBCC 命令

不支持 Microsoft SQL Server 数据库控制台命令 (DBCC)。

DROP IF EXISTS

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

DROP INDEX

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

丢弃多个对象的 DROP 语句

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

加密

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

ENCRYPT_CLIENT_CERT 连接

不支持客户端证书连接。

EXECUTE AS 语句

不支持此语句。

EXECUTE AS SELF 子句

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

CREATE... EXECUTE AS OWNER 子句

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

EXECUTE AS USER 子句

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

使用 AS LOGIN 或 AT 选项的 EXECUTE

不支持此语法。

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

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

全文搜索

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

具有大于 100 个参数的函数声明

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

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

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

包含 :: 的函数调用包括

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

外部定义的函数

不支持 SQL CLR 函数等外部函数。

GEOMETRY

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

GEOGRAPHY

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

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

不支持全局临时表。

图表功能

不支持所有 SQL 图表功能。

HASHBYTES 函数

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

HIERARCHYID

不支持数据类型和方法。

提示

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

超过 63 个字符的标识符

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

带前导点字符的标识符

. 开头的标识符在版本 1.0.0 中不支持,但在 Babelfish 1.1.0 中支持。

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

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

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

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

IDENTITY 列支持

IDENTITY 列支持数据类型 tinyintsmallintintbigintnumericdecimal

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

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

使用 IGNORE_DUP_KEY 的索引

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

包含 32 列以上的索引

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

INFORMATION_SCHEMA 目录

不支持信息架构视图。

内联索引

不支持内联索引。

索引(聚集)

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

索引子句

忽略以下子句: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

调用名称在变量中的过程

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

具体化视图

不支持具体化视图。

NEWSEQUENTIALID 函数

作为 NEWID 实施;不保证顺序行为。调用 NEWSEQUENTIALID 时,PostgreSQL 会生成一个新的 GUID 值。

NEXT VALUE FOR 顺序子句

不支持此语法。

NOT FOR REPLICATION 子句

接受并忽略此语法。

ODBC 转义函数

不支持 ODBC 转义函数。

OUTER APPLY

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

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

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

分区

不支持表和索引分区。

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

DEFAULT 不是支持的参数值。

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

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

外部定义的过程

不支持 SQL CLR 过程等外部定义的过程。

过程版本控制

不支持过程版本控制。

过程 WITH RECOMPILE

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

过程或函数参数限制

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

远程对象引用

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

sysadmin 以外的服务器级别角色

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

db_owner 以外的数据库级别角色

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

RESTORE 语句

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

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

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

ROWGUIDCOL

此子句当前被忽略。引用 $GUIDGOL 的查询导致语法错误。

行级别安全性

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

ROWSET 函数

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

SELECT ... FOR XML PATH、ELEMENTS

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

SELECT... FOR XML RAW、ELEMENTS

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

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

服务代理功能

不支持服务代理功能。

SESSIONPROPERTY

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

SET LANGUAGE

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

SEQUENCE 对象支持

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

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

SET NUMERIC_ROUNDABORT ON

不支持此设置。

SP_CONFIGURE

不支持此系统存储过程。

SQL 关键字 SPARSE

接受并忽略关键字 SPARSE。

SQL 关键字子句 ON filegroup

此子句当前被忽略。

索引和约束的 SQL 关键字 CLUSTEREDNONCLUSTERED

Babelfish 接受并忽略 CLUSTEREDNONCLUSTERED 关键字。

系统定义的 @@ 变量

版本 1.0.0 仅支持以下系统定义的 @@ 变量:@@DATEFIRST、@@ERROR、@@FETCH_STATUS、@@IDENTITY、@@MAX_PRECISION、@@ROWCOUNT、@@SERVERNAME、@@SPID、@@TRANCOUNT 和 @@VERSION。版本 1.1.0 增加了对 @@CURSOR_ROWS、@@LOCK_TIMEOUT、@@MAX_CONNECTIONS、@@MICROSOFTVERSION、@@NESTLEVEL 和 @@PROCID 的支持。

sysdatabases.cmptlevel

sysdatabases.cmptlevel 始终为 NULL。

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

Babelfish 版本 1.0.0 仅支持以下三个存储过程:sp_getapplock、sp_helpdb 和 sp_releaseapplock。Babelfish 1.1.0 增加了对以下各项的支持: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 和 sp_updatestats。

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

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

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

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

临时表

不支持临时表。

临时过程不会自动删除

不支持此函数。

TEXTIMAGE_ON 文件组

Babelfish 忽略 TEXTIMAGE_ON filegroup 子句。

时间精度

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

事务隔离级别

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

TIMESTAMP 数据类型

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

外部定义的触发器

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

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

引用多个 DML 操作的触发器无法引用 Babelfish 版本 1.0.0 中的转换表。版本 1.1.0 提供对此功能的支持。

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

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

虚拟计算列(非持久性)

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

WITH ENCRYPTION 子句

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

WITHOUT SCHEMABINDING 子句

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

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

支持没有架构的 XML 类型。

XML 索引

不支持 XML 索引。

XML 方法

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

XPATH 表达式

不支持此语法。

WITH XMLNAMESPACES 构造

不支持此语法。

Babelfish 不支持的功能

在下面的列表中,您可以找到 Babelfish 版本 1.0.0 中不支持的功能。有关 Babelfish 更新的信息,请参阅 Babelfish 版本

不支持的设置

不支持以下设置:

  • 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 CURSOR_CLOSE_ON_COMMIT ON

  • SET NUMERIC_ROUNDABORT ON

不支持某些功能的命令

不支持以下命令的某些功能:

  • ADD SIGNATURE

  • ALTER DATABASE、ALTER DATABASE SET

  • CREATE、ALTER、DROP AUTHORIZATION

  • CREATE、ALTER、DROP AVAILABILITY GROUP

  • CREATE、ALTER、DROP BROKER PRIORITY

  • CREATE、ALTER、DROP COLUMN ENCRYPTION KEY

  • CREATE、ALTER、DROP DATABASE ENCRYPTION KEY

  • CREATE、ALTER、DROP、BACKUP CERTIFICATE

  • CREATE AGGREGATE

  • CREATE CONTRACT

  • GRANT

不支持的列名称

不支持以下列名称:

  • $IDENTITY

  • $ROWGUID

  • IDENTITYCOL

不支持的数据类型

不支持以下数据类型:

  • ROWVERSION

  • ROWVERSION 数据类型

  • TIMESTAMP 数据类型。SQL Server TIMESTAMP 日期与 PostgreSQL TIMESTAMP 无关。

不支持的对象类型

不支持以下对象类型:

  • COLUMN MASTER KEY

  • CREATE、ALTER EXTERNAL DATA SOURCE

  • CREATE、ALTER、DROP DATABASE AUDIT SPECIFICATION

  • CREATE、ALTER、DROP EXTERNAL LIBRARY

  • CREATE、ALTER、DROP SERVER AUDIT

  • CREATE、ALTER、DROP SERVER AUDIT SPECIFICATION

  • CREATE、ALTER、DROP、OPEN/CLOSE SYMMETRIC KEY

  • CREATE、DROP DEFAULT

  • CREDENTIAL

  • CRYPTOGRAPHIC PROVIDER

  • DIAGNOSTIC SESSION

  • 索引视图

  • SERVICE MASTER KEY

  • SYNONYM

  • USER

不支持的函数

不支持以下函数:

  • CERTENCODED 函数

  • CERTID 函数

  • CERTPRIVATEKEY 函数

  • CERTPROPERTY 函数

  • COLUMNPROPERTY

  • EVENTDATA 函数

  • GET_TRANSMISSION_STATUS

  • LOGINPROPERTY 函数

  • OBJECTPROPERTY

  • OBJECTPROPERTYEX

  • OPENXML

  • TYPEPROPERTY 函数

不支持某些功能的语法

不支持以下语法的某些功能:

  • ALTER SERVICE、BACKUP/RESTORE SERVICE MASTER KEY 子句

  • BEGIN DISTRIBUTED TRANSACTION

  • CREATE EXTERNAL TABLE

  • CREATE TABLE... GRANT 子句

  • CREATE TABLE... IDENTITY 子句

  • CREATE、ALTER、DROP APPLICATION ROLE

  • CREATE、ALTER、DROP ASSEMBLY

  • CREATE、ALTER、DROP ASYMMETRIC KEY

  • CREATE、ALTER、DROP EVENT SESSION

  • CREATE、ALTER、DROP EXTERNAL RESOURCE POOL

  • CREATE、ALTER、DROP FULLTEXT CATALOG

  • CREATE、ALTER、DROP FULLTEXT INDEX

  • CREATE、ALTER、DROP FULLTEXT STOPLIST

  • CREATE、ALTER、DROP QUEUE

  • CREATE、ALTER、DROP RESOURCE GOVERNOR

  • CREATE、ALTER、DROP ROUTE

  • CREATE、ALTER、DROP SERVICE

  • CREATE、ALTER、DROP WORKLOAD GROUP

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

  • CREATE/DROP RULE

不支持的语法

不支持以下语法:

  • ALTER DATABASE

  • ALTER DATABASE SCOPED CONFIGURATION

  • ALTER DATABASE SCOPED CREDENTIAL

  • ALTER DATABASE SET HADR

  • ALTER FUNCTION

  • ALTER INDEX

  • ALTER PROCEDURE 语句

  • ALTER SCHEMA

  • ALTER SERVER CONFIGURATION

  • ALTER VIEW

  • BEGIN CONVERSATION TIMER

  • BEGIN DIALOG CONVERSATION

  • BULK INSERT

  • CREATE COLUMNSTORE INDEX

  • CREATE EXTERNAL FILE FORMAT

  • CREATE、ALTER、DROP CREDENTIAL

  • CREATE、ALTER、DROP CRYPTOGRAPHIC PROVIDER

  • CREATE、ALTER、DROP ENDPOINT

  • CREATE、ALTER、DROP EXTERNAL LANGUAGE

  • CREATE、ALTER、DROP MESSAGE TYPE

  • CREATE、ALTER、DROP PARTITION FUNCTION

  • CREATE、ALTER、DROP PARTITION SCHEME

  • CREATE、ALTER、DROP RESOURCE POOL

  • CREATE、ALTER、DROP ROLE

  • CREATE、ALTER、DROP SEARCH PROPERTY LIST

  • CREATE、ALTER、DROP SECURITY POLICY

  • CREATE、ALTER、DROP SELECTIVE XML INDEX 子句

  • CREATE、ALTER、DROP SPATIAL INDEX

  • CREATE、ALTER、DROP TYPE

  • CREATE、ALTER、DROP XML INDEX

  • CREATE、ALTER、DROP XML SCHEMA COLLECTION

  • CREATE、DROP WORKLOAD CLASSIFIER

  • CREATE/ALTER/ENABLE/DISABLE TRIGGER

  • 拒绝

  • END、MOVE CONVERSATION

  • 使用 AS LOGIN 或 AT 选项的 EXECUTE

  • GET CONVERSATION GROUP

  • GROUP BY ALL 子句

  • GROUP BY CUBE 子句

  • GROUP BY ROLLUP 子句

  • INSERT... DEFAULT VALUES

  • INSERT... TOP

  • KILL

  • MERGE

  • NEXT VALUE FOR 顺序子句

  • READTEXT

  • REVERT

  • REVOKE

  • SELECT PIVOT/UNPIVOT

  • SELECT TOP x PERCENT WHERE x <> 100

  • SELECT TOP... WITH TIES

  • SELECT... FOR XML AUTO

  • SELECT... FOR XML EXPLICIT

  • SEND

  • SET CONTEXT_INFO

  • SET DATEFORMAT

  • SET DEADLOCK_PRIORITY

  • SET FMTONLY

  • SET FORCEPLAN

  • SET LOCK_TIMEOUT

  • SET NUMERIC_ROUNDABORT ON

  • SET OFFSETS

  • SET REMOTE_PROC_TRANSACTIONS

  • SET ROWCOUNT @variable

  • SET ROWCOUNT n WHERE n != 0

  • 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

  • SHUTDOWN 语句

  • UPDATE STATISTICS

  • UPDATETEXT

  • 使用 EXECUTE 调用 SQL 函数

  • VIEW... CHECK OPTION 子句

  • VIEW... VIEW_METADATA 子句

  • WAITFOR DELAY

  • WAITFOR TIME

  • WAITFOR、RECEIVE

  • WITH XMLNAMESPACES 构造

  • WRITETEXT

  • XPATH 表达式