ALTER ENDPOINT (Transact-SQL)
允许通过以下方法修改现有端点:
向现有端点中添加一个新方法。
修改或删除端点中的现有方法。
更改端点的属性。
注意 |
---|
本主题描述了特定于 ALTER ENDPOINT 的语法和参数。有关 CREATE ENDPOINT 和 ALTER ENDPOINT 共有参数的说明,请参阅 CREATE ENDPOINT (Transact-SQL)。 |
在 SQL Server 2008 中,不推荐使用本机 XML Web 服务(SOAP/HTTP 端点)。有关详细信息,请参阅本机 XML Web 服务:不推荐在 SQL Server 2008 中使用。
语法
ALTER ENDPOINT endPointName
[ STATE = { STARTED | STOPPED | DISABLED } ]
[ AS { TCP | HTTP } ( <protocol_specific_items> ) ]
[ FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING } (
<language_specific_items>
) ]
<AS HTTP_protocol_specific_arguments> ::=
AS HTTP (
[ [ , ] PATH = 'url' ]
[ [ , ] PORTS = ( { CLEAR | SSL } [ ,...n ] ) ]
[ [ , ] SITE = { '*' | '+' | 'webSite' } , ]
[ [ , ] CLEAR_PORT = clearPort ]
[ [ , ] SSL_PORT = SSLPort ]
[ [,] AUTHENTICATION = ( { BASIC | DIGEST | NTLM | KERBEROS | INTEGRATED } [ ,...n ] ) ]
[ [ , ] AUTH_REALM = { 'realm' | NONE } ]
[ [ , ] DEFAULT_LOGON_DOMAIN = { 'domain' | NONE } ]
[ [ , ] COMPRESSION = { ENABLED | DISABLED } ]
)
<AS TCP_protocol_specific_arguments> ::=
AS TCP (
LISTENER_PORT = listenerPort
[ [ , ] LISTENER_IP = ALL | ( 4-part-ip ) | ( "ip_address_v6" ) ]
)
<FOR SOAP_language_specific_arguments> ::=
FOR SOAP (
[ { ADD WEBMETHOD [ 'namespace' .] 'method_alias'
( NAME = 'database.owner.name'
[ , SCHEMA = {NONE | STANDARD | DEFAULT } ]
[ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY | NONE} ]
)
} [ ,...n ]
]
[ { ALTER WEBMETHOD [ 'namespace' .] 'method_alias'
( NAME = 'database.owner.name'
[ , SCHEMA = {NONE | STANDARD | DEFAULT} ]
[ , FORMAT = { ALL_RESULTS | ROWSETS_ONLY } ]
)
} [ ,...n]
]
[ [ , ] { DROP WEBMETHOD [ 'namespace' .] 'method_alias' } [ ,...n ] ]
[ [ , ] BATCHES = { ENABLED | DISABLED } ]
[ [ , ] WSDL = { NONE | DEFAULT | 'sp_name' } ]
[ [ , ] SESSIONS = { ENABLED | DISABLED } ]
[ [ , ] LOGIN_TYPE = { MIXED | WINDOWS } ]
[ [ , ] SESSION_TIMEOUT = timeoutInterval ]
[ [ , ] DATABASE = { 'database_name' | DEFAULT } ]
[ [ , ] NAMESPACE = { 'namespace' | DEFAULT } ]
[ [ , ] SCHEMA = { NONE | STANDARD } ]
[ [ , ] CHARACTER_SET = { SQL | XML } ]
[ [ , ] HEADER_LIMIT = int ]
)
<FOR SERVICE_BROKER_language_specific_arguments> ::=
FOR SERVICE_BROKER (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
} ]
[ , ENCRYPTION = { DISABLED
|
{{SUPPORTED | REQUIRED }
[ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] }
]
[ , MESSAGE_FORWARDING = {ENABLED | DISABLED} ]
[ , MESSAGE_FORWARD_SIZE = forwardSize
)
<FOR DATABASE_MIRRORING_language_specific_arguments> ::=
FOR DATABASE_MIRRORING (
[ AUTHENTICATION = {
WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
| CERTIFICATE certificate_name
| WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ] CERTIFICATE certificate_name
| CERTIFICATE certificate_name WINDOWS [ { NTLM | KERBEROS | NEGOTIATE } ]
} ]
[ , ENCRYPTION = { DISABLED
|
{{SUPPORTED | REQUIRED }
[ ALGORITHM { RC4 | AES | AES RC4 | RC4 AES } ] }
]
[ , ] ROLE = { WITNESS | PARTNER | ALL }
)
参数
注意 |
---|
以下参数特定于 ALTER ENDPOINT。有关其余参数的说明,请参阅 CREATE ENDPOINT (Transact-SQL)。 |
ADD WEBMETHOD
添加一个新的方法端点。重要提示 使用 ADD WEBMETHOD 公开方法时,必须确保当同一 HTTP 端点服务于多个 SQL Server 数据库时,不会出现名称重叠。若要避免发生这一问题,请考虑在命名空间路径中添加注册域名 URL。
ALTER WEBMETHOD
更改现有方法端点的定义。AS { TCP | HTTP }
您不能使用 ALTER ENDPOINT 更改传输协议。AUTHORIZATION login
AUTHORIZATION 选项在 ALTER ENDPOINT 中不可用。只能在创建端点时分配所有权。DROP WEBMETHOD
删除现有方法端点。FOR { SOAP | TSQL | SERVICE_BROKER | DATABASE_MIRRORING }
您不能使用 ALTER ENDPOINT 更改负载类型。
注释
使用 ALTER ENDPOINT 时,请仅指定要更新的参数。除非进行显式更改,否则现有端点的所有属性均保持不变。
不能在用户事务中执行 ENDPOINT DDL 语句。
有关选择用于端点的加密算法的信息,请参阅选择加密算法。
注意 |
---|
RC4 是一个相对较弱的算法,而 AES 是一个相对较强的算法。但是 AES 比 RC4 慢得多。如果安全性的优先级高于速度,则建议使用 AES。 |
权限
用户必须是 sysadmin 固定服务器角色的成员、端点的所有者,或已被授予了 ALTER ANY ENDPOINT 权限。
若要更改现有端点的所有权,必须使用 ALTER AUTHORIZATION 语句。有关详细信息,请参阅 ALTER AUTHORIZATION (Transact-SQL)。
有关详细信息,请参阅 GRANT 端点权限 (Transact-SQL)。
示例
A. 向现有端点添加新方法
以下示例向以前创建的端点 sql_endpoint 中添加一个新方法。
ALTER ENDPOINT sql_endpoint
FOR SOAP
(
ADD WEBMETHOD 'SayHello' (name='AdventureWorks.dbo.SayHello')
);
B. 添加以 RAW SOAP 模式运行的新方法
以下示例添加一个以 RAW 模式运行并由 FORMAT=NONE 指定的新 Web 方法 ReportUsageStats,以将存储过程的结果“按原样”传递给 SOAP 客户端。有关详细信息,请参阅 CREATE ENDPOINT (Transact-SQL) 中对 FORMAT 选项的说明。
ALTER ENDPOINT sql_endpoint
FOR SOAP
(
ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);
更改历史记录
更新的内容 |
---|
更新了“参数”部分,以便指出不允许的其他操作。 |