ALTER ENDPOINT (Transact-SQL)

Эта инструкция позволяет изменять существующие конечные точки следующими способами.

  • Путем добавления нового метода к существующей конечной точке.

  • Путем изменения или удаления существующего метода из конечной точки.

  • Путем изменения свойств конечной точки.

ПримечаниеПримечание

В этом подразделе описаны синтаксис и аргументы, характерные для инструкции ALTER ENDPOINT. Описание аргументов, общих для инструкций CREATE ENDPOINT и ALTER ENDPOINT, см. в разделе CREATE ENDPOINT (Transact-SQL).

Собственные веб-службы с поддержкой XML (конечные точки SOAP/HTTP) являются устаревшими. Дополнительные сведения см. в разделе Собственные веб-службы с поддержкой XML: устарели в SQL Server 2008.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

ALTER ENDPOINT endPointName [ AUTHORIZATION login ]
[ 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.

  • AUTHORIZATIONlogin
    Параметр 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='AdventureWorks2008R2.dbo.SayHello')
);

Б. Добавление нового метода, работающего в режиме RAW SOAP

Следующий пример добавляет новый веб-метод ReportUsageStats, работающий в режиме RAW, указанном при помощи FORMAT=NONE, для передачи результатов хранимой процедуры как есть клиентам SOAP. Дополнительные сведения см. в описании параметра FORMAT в разделе CREATE ENDPOINT (Transact-SQL).

ALTER ENDPOINT sql_endpoint
FOR SOAP
(
  ADD WEBMETHOD 'ReportUsageStats' (name='myDatabase.dbo.sp_reportserverstats', FORMAT=NONE)
);

См. также

Справочник

Основные понятия