SqlConnection.PacketSize 속성

정의

SQL Server 인스턴스와 통신하는 데 사용되는 네트워크 패킷의 크기(바이트)를 가져옵니다.

public:
 property int PacketSize { int get(); };
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
public int PacketSize { get; }
public int PacketSize { get; }
[<System.Data.DataSysDescription("SqlConnection_PacketSize")>]
member this.PacketSize : int
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer

속성 값

네트워크 패킷의 크기(바이트)입니다. 기본값은 8000입니다.

특성

예제

다음 예제에서는 연결 문자열 Packet Size 512로 설정하는 등 SqlConnection 만듭니다. 콘솔 창에 PacketSizeServerVersion 속성이 표시됩니다.

private static void OpenSqlConnection()
{
    string connectionString = GetConnectionString();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("PacketSize: {0}", connection.PacketSize);
    }
}

static private string GetConnectionString()
{
    // To avoid storing the connection string in your code,
    // you can retrieve it from a configuration file, using the
    // System.Configuration.ConfigurationSettings.AppSettings property
    return "Data Source=(local);Initial Catalog=AdventureWorks;"
        + "Integrated Security=SSPI;Packet Size=512";
}
Private Sub OpenSqlConnection()
    Dim connectionString As String = GetConnectionString()
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("PacketSize: {0}", connection.PacketSize)
    End Using
End Sub

Private Function GetConnectionString() As String
    ' To avoid storing the connection string in your code,  
    ' you can retrieve it from a configuration file, using the
    ' System.Configuration.ConfigurationSettings.AppSettings property
    Return "Data Source=(local);Database=AdventureWorks;" _
      & "Integrated Security=SSPI;Packet Size=512;"
End Function

설명

애플리케이션이 대량 복사 작업을 수행하거나 많은 텍스트 또는 이미지 데이터를 보내거나 수신하는 경우 기본값보다 큰 패킷 크기는 네트워크 읽기 및 쓰기 작업이 줄어들기 때문에 효율성을 향상시킬 수 있습니다. 애플리케이션이 소량의 정보를 보내고 받는 경우 패킷 크기를 512바이트(패킷 크기 값 사용 ConnectionString)로 설정하면 대부분의 데이터 전송 작업에 충분합니다. 대부분의 애플리케이션에는 기본 패킷 크기가 제일 좋습니다.

PacketSize 는 512바이트 및 32767바이트 범위의 값일 수 있습니다. 값이 이 범위를 벗어나면 예외가 생성됩니다.

기본값을 8000보다 큰 숫자로 설정하면 패킷이 훨씬 더 효율적인 SinglePage 할당자 대신 SQL Server 인스턴스에서 MultiPage 할당자를 사용하여 SQL Server 전반적인 확장성을 줄입니다. SQL Server 메모리를 사용하는 방법에 대한 자세한 내용은 모리 관리 아키텍처 가이드 참조하세요.

적용 대상

추가 정보