SqlConnection.PacketSize プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server のインスタンスと通信するために使用するネットワーク パケットのサイズ (バイト単位) を取得します。
public:
property int PacketSize { int get(); };
public int PacketSize { get; }
[System.Data.DataSysDescription("SqlConnection_PacketSize")]
public int PacketSize { get; }
member this.PacketSize : int
[<System.Data.DataSysDescription("SqlConnection_PacketSize")>]
member this.PacketSize : int
Public ReadOnly Property PacketSize As Integer
プロパティ値
ネットワーク パケットのサイズ (バイト単位)。 既定値は 8000 です。
- 属性
例
次の例では、 を SqlConnection接続文字列 で 512 に設定Packet Size
するなど、 を作成します。 コンソール ウィンドウに PacketSize プロパティと ServerVersion プロパティが表示されます。
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でメモリを使用する方法の詳細については、「メモリ管理アーキテクチャ ガイド」を参照してください。
適用対象
こちらもご覧ください
.NET