다음을 통해 공유


sys.sp_create_event_group_stream(Transact-SQL)

적용 대상: SQL Server 2025(17.x) 미리 보기

SQL Server 2025(17.x) 미리 보기에 도입된 CES(변경 이벤트 스트리밍 ) 기능에 대한 이벤트 그룹 스트림을 만듭니다.

비고

변경 이벤트 스트리밍은 현재 SQL Server 2025(17.x) 미리 보기용 미리 보기로 제공됩니다.

Transact-SQL 구문 표기 규칙

문법

sp_create_event_stream_group
    [ @stream_group_name = ] N'stream_group_name'
    , [ @destination_type = ] N'destination_type'
    , [ @destination_location = ] N'destination_location'
    [ , [ @destination_credential = ] N'destination_credential' ]
    [ , [ @max_message_size_kb = ] max_message_size_kb ]
    [ , [ @partition_key_scheme = ] N'partition_key_scheme' ]
    [ , [ @partition_key_column_name = ] N'partition_key_column_name' ]
    [ , [ @encoding = ] N'encoding' ]

주장들

[ @stream_group_name = ] N'stream_group_name'

만들려는 이벤트 스트림 그룹의 이름을 지정합니다. @stream_group_namesysname이며 될 수 없습니다 NULL.

[ @destination_type = ] N'destination_type'

스트리밍 대상 유형을 지정합니다. @destination_typesysname이며 사용할 수 없습니다 NULL. 다음 값 중 하나일 수 있습니다. AzureEventHubsAmqp 또는 AzureEventHubsApacheKafka

[ @destination_location = ] N'destination_location'

Azure Event Hubs 네임스페이스 및 인스턴스 이름을 설명합니다. @destination_locationnvarchar(4000)이며, 될 수 없습니다 NULL.

Apache Kafka 프로토콜의 경우 포트를 지정합니다.

[ @destination_credential = ] N'destination_credential'

사용할 데이터베이스 범위 자격 증명 이름을 지정합니다. @destination_credentialsysname이며 될 수 없습니다 NULL.

[ @max_message_size_kb = ] max_message_size_kb

지정된 경우 최대 CES 메시지 크기를 킬로바이트 단위로 정의합니다. @max_message_size_kbint이며, 할 NULL수 없습니다. 지정된 최대 크기를 초과하면 메시지가 분할됩니다. 이 매개 변수는 선택 사항입니다.

@max_message_size_kb 다음과 같은 특징이 있습니다.

  • 기본값: 256 (256KB에 해당)
  • 허용되는 최소값: 128 (128KB에 해당)
  • 허용되는 최대값: 1024 (1MB에 해당)

@max_message_size_kb 매개 변수는 대상의 제한에 맞춰야 합니다. 예를 들어 Azure Event Hubs의 최대 메시지 크기는 표준 및 프리미엄 계층의 경우 1MB입니다. 자세한 내용은 Azure Event Hubs 할당량을 검토하세요.

[ @partition_key_scheme = ] N'partition_key_scheme'

분할 유형을 정의합니다. @partition_key_schemesysname이며 될 수 없습니다 NULL.

@partition_key_scheme 다음 값 중 하나일 수 있습니다.

가치 설명
None(기본값) 분할은 지정되지 않으므로 이벤트는 라운드 로빈 전략을 사용하여 이벤트 허브에서 파티션에 할당됩니다.
StreamGroup 분할은 스트림 그룹의 모든 테이블이 동일한 파티션으로 스트리밍되도록 스트림 그룹에 의해 수행됩니다.
Table 분할은 스트림 그룹의 각 테이블이 다른 파티션으로 스트리밍되도록 테이블에 의해 수행됩니다.
Column 분할은 스트림 그룹의 각 열이 다른 파티션으로 스트리밍되도록 열별로 수행됩니다.

[ @partition_key_column_name = ] N'partition_key_column_name'

@partition_key_scheme 설정할 때 분할에 사용할 열을 정의합니다Column. @partition_key_column_namesysname이며 될 수 없습니다 NULL.

스키마 이름과 열 이름을 모두 포함하는 열에 두 부분으로 구성된 이름을 사용합니다. 예를 들어 유효한 값은 .입니다 dbo.Addresses.

[ @encoding = ] N'encoding'

메시지 인코딩을 지정합니다. @encodingsysname이며 될 수 없습니다 NULL. 다음 값 중 하나일 수 있습니다.

  • JSON(기본값)
  • Binary

반환 코드 값

0(성공) 또는 1(실패).

권한

CONTROL 데이터베이스 권한, db_owner 데이터베이스 역할 멤버 자격 또는 sysadmin 서버 역할 멤버 자격이 있는 사용자는 이 절차를 실행할 수 있습니다.

예시

A. AMQP 프로토콜을 사용하여 Azure Event Hubs로 스트리밍되는 이벤트 스트림 그룹 만들기

EXECUTE sys.sp_create_event_stream_group
    @stream_group_name = N'myStreamGroup',
    @destination_type = N'AzureEventHubsAmqp',
    @destination_location = N'myEventHubsNamespace.servicebus.windows.net/myEventHubsInstance',
    @destination_credential = MyDatabaseScopedCredentialForCes;

B. Kafka 프로토콜을 사용하여 Azure Event Hubs로 스트리밍되는 이벤트 스트림 그룹 만들기

EXECUTE sys.sp_create_event_stream_group
    @stream_group_name = N'myStreamGroup',
    @destination_type = N'AzureEventHubsAmqp',
    @destination_location = N'myEventHubsNamespace.servicebus.windows.net:9093/myEventHubsInstance',
    @destination_credential = MyDatabaseScopedCredentialForCes;