네트워크 패킷 크기 구성(서버 구성 옵션)

적용 대상:SQL Server

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 네트워크 패킷 크기 서버 구성 옵션을 구성하는 방법에 대해 설명합니다. 네트워크 패킷 크기 옵션은 전체 네트워크에서 사용되는 패킷 크기(바이트)를 설정합니다. 패킷은 클라이언트와 서버 간에 요청 및 결과를 전송하는 고정된 크기의 데이터 청크입니다. 기본 패킷 크기는 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 서버 수준 권한이 있어야 합니다. sysadminserveradmin 고정 서버 역할은 ALTER SETTINGS 권한을 암시적으로 보유하고 있습니다.

SQL Server Management Studio 사용

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

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

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

Transact-SQL 사용

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

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

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

USE AdventureWorks2022;
GO
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'network packet size', 6500;
GO
RECONFIGURE;
GO

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

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

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

클라이언트 라이브러리 옵션 기본값
ODBC SQL_ATTR_PACKET_SIZE 서버 쪽 사용
JDBC setPacketSize(int packetSize) 8000
ADO.NET - Microsoft.Data.SqlClient PacketSize 8000
ADO.NET - System.Data.SqlClient PacketSize 8000
OLEDB SSPROP_INIT_PACKETSIZE 0(서버 쪽 사용)

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

참고

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

중요

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)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 새 SQL Server용 Microsoft OLE DB 드라이버(MSOLEDBSQL) 또는 최신 Microsoft ODBC Driver for SQL Server로 전환합니다.

참고 항목