Вчера я заметил, что существует заметная разница между размером сетевого пакета по умолчанию в классе .NET SqlConnection
и значением по умолчанию в SQL Server.
Для свойства SqlConnection
class 'PacketSize
, за эта ссылка:
Размер (в байтах) сетевых пакетов. Значение по умолчанию - 8000.
В предыдущих версиях этой статьи он упоминает (вплоть до .NET 1.1), что по умолчанию было 8192 байта. Однако для SQL Server (за эта ссылка):
Размер пакета по умолчанию - 4096 байт.
Из этой статьи кажется, что это было по умолчанию, по крайней мере, с SQL Server 2005. Кто-нибудь знает причину этой разницы между ними?
ОБНОВЛЕНИЕ: Чтобы добавить больше удовольствия в этот вопрос, я говорил с Томасом Лароком (который, оказывается, является MVP MV), и он упомянул мне что в SQL Server 2000 размер сетевого пакета по умолчанию был, по сути, 8192 байта (например,.NET 1.1!). Это было изменено в более поздних версиях, однако, из-за того, сколько фрагментов оно вызывало, что потребовало еженедельной перезагрузки сервера.
Итак, почему SQL Server сократил его наполовину, но .NET только уменьшил его на 192 байта? Есть ли что-то заставляющее SQL Server использовать для этого только кратные 2?