Поделиться через


Надежность

Крайне важно обеспечить защиту кода, выполняющегося в серверных средах, таких как SQL Server, от асинхронных исключений. Вопросы, обсуждаемые в этой статье, относятся не только к SQL Server, но касаются общих принципов написания надежного кода для любого ведущего приложения, выполняющегося в среде .NET Framework версии 2.0. Тем не менее служба SQL Server приводится в качестве примера, поскольку именно в ней впервые стали широко использоваться новые возможности обеспечения надежности, представленные в версии 2.0.

В отношении кода, выполняемого в SQL Server, должны действовать более строгие правила надежности, чем для других серверных сред. Это связано с тем, что SQL Server постоянно функционирует на границе потребления ресурсов. Исключения OutOfMemoryException и ThreadAbortException встречаются в среде SQL Server достаточно часто. Эти правила в целом ориентированы не столько на обеспечение надежности, сколько на гарантию корректного завершения сбоем полностью доверенного управляемого кода при повторном использовании на уровне AppDomain, что является основным способом обеспечить согласованность и доступность сервера.

В этом разделе

Программирование SQL Server и атрибуты защиты ведущего приложения
Описывает использование атрибута HostProtectionAttribute в SQL Server для ограничения выполнения управляемого кода.

Рекомендации по обеспечению надежности
Содержит рекомендации по написанию кода, отвечающего требованиям надежности.

Области ограниченного выполнения
Описывает функции и поведения областей ограниченного выполнения (CER).

Справочные материалы

HostProtectionAttribute

HostProtectionResource