다음을 통해 공유


서버 구성: 네트워크 패킷 크기

적용 대상: SQL Server

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 서버 구성 옵션을 구성하는 network packet size 방법을 설명합니다. 이 network packet size 옵션은 전체 네트워크에서 사용되는 패킷 크기(바이트)를 설정합니다. 패킷은 클라이언트와 서버 간에 요청 및 결과를 전송하는 고정된 크기의 데이터 청크입니다. 기본 패킷 크기는 4,096바이트입니다.

참고 항목

성능이 향상될 것이라고 확신하지 않는 한 패킷 크기를 변경하지 마세요. 대부분의 애플리케이션에는 기본 패킷 크기가 제일 좋습니다.

이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.

제한 사항

암호화된 연결의 최대 network packet size는 16,383바이트입니다.

참고

MARS를 사용하는 경우 SMUX 공급자는 TLS 암호화 전에 패킷에 16바이트 헤더를 추가하여 최대 네트워크 패킷 크기를 16368바이트로 줄입니다.

권장 사항

이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL Server 전문가만이 변경해야 합니다.

애플리케이션에서 대량 복사 작업을 수행하거나 많은 양의 텍스트 또는 이미지 데이터를 주고받을 때 패킷 크기를 기본값보다 크게 설정하면 네트워크에서 읽기 및 쓰기 작업의 양이 줄어들므로 효율성이 향상될 수 있습니다. 애플리케이션이 적은 양의 정보를 보내거나 받을 경우 대부분의 데이터를 전송할 수 있도록 패킷 크기를 512바이트로 설정할 수 있습니다.

서로 다른 네트워크 프로토콜을 사용하는 시스템에서는 네트워크 패킷 크기를 가장 일반적으로 사용되는 프로토콜 크기로 설정합니다. network packet size 옵션은 네트워크 프로토콜이 보다 큰 패킷을 지원할 때 네트워크 성능을 향상시킵니다. 클라이언트 애플리케이션에서 이 값을 덮어쓸 수 있습니다.

OLE DB, ODBC(Open Database Connectivity) 및 DB-Library 함수를 호출하여 패킷 크기 변경을 요청할 수도 있습니다. 서버에서 요청된 패킷 크기를 지원할 수 없는 경우 데이터베이스 엔진 클라이언트에 경고 메시지를 보냅니다. 경우에 따라 패킷 크기를 변경하면 다음 오류와 같은 통신 링크 오류가 발생할 수 있습니다.

Native Error: 233, no process is on the other end of the pipe.

사용 권한

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure 를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 사용자에게 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. ALTER SETTINGS 권한은 sysadminserveradmin 고정 서버 역할에 의해 암시적으로 보유됩니다.

SQL Server Management Studio 사용

  1. 개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 고급 노드를 선택합니다.

  3. 네트워크에서 네트워크 패킷 크기 상자의 값을 선택합니다.

Transact-SQL 사용

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 다음 예제에서는 sp_configure 를 사용하여 network packet size 옵션의 값을 6500 바이트로 설정하는 방법을 보여 줍니다.

    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'network packet size', 6500;
    GO
    
    RECONFIGURE;
    GO
    
    EXECUTE sp_configure 'show advanced options', 0;
    GO
    
    RECONFIGURE;
    GO
    

자세한 내용은 서버 구성 옵션을 참조하세요.

클라이언트 쪽에서 네트워크 패킷 크기 구성

다음 표에서는 SQL Server에 연결하는 데 사용할 수 있는 일부 데이터 연결 기술의 예와 클라이언트 응용 프로그램에서 이러한 기술을 사용할 때 네트워크 패킷 크기를 제어하는 방법을 제공합니다. SQL Server에 연결하는 데 사용할 수 있는 다양한 데이터 연결 기술의 전체 목록은 Microsoft SQL Server에 대한 클라이언트 프로그래밍 홈페이지를 참조하세요.

클라이언트 라이브러리 옵션 기본값
SQLSetConnectAttr 함수 SQL_ATTR_PACKET_SIZE 서버 쪽 사용
연결 속성 설정 setPacketSize(int packetSize) 8000
ADO.NET - Microsoft.Data.SqlClient PacketSize 8000
ADO.NET - System.Data.SqlClient PacketSize 8000
초기화 및 권한 부여 속성 SSPROP_INIT_PACKETSIZE 0(서버 쪽 사용)

SQL Profiler에서 감사 로그인 이벤트 또는 ExistingConnection 이벤트를 모니터링하여 클라이언트 연결의 네트워크 패킷 크기를 확인할 수 있습니다.

애플리케이션의 연결 문자열에 네트워크 패킷 크기에 대한 값이 포함되어 있으면 해당 값이 통신에 사용됩니다. 연결 문자열에 값이 없는 경우 드라이버는 네트워크 패킷 크기에 기본값을 사용합니다. 예를 들어 앞의 표에 설명된 대로 SqlClient 애플리케이션은 기본 패킷 크기 8000을 사용하는 반면, ODBC 애플리케이션은 서버에서 구성한 패킷 크기를 사용합니다.

Important

SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새 개발에 권장되지 않습니다. 새 Microsoft OLE DB Driver for SQL Server 또는 최신 Microsoft ODBC Driver for SQL Server 로 전환합니다.