Описание поддержки файлов сетевых баз данных в SQL Server

В этой статье описывается поддержка файлов сетевых баз данных в SQL Server и настройка SQL Server для хранения базы данных на сетевом сервере или на сервере хранилища NAS.

Оригинальная версия продукта: SQL Server
Исходный номер базы знаний: 304261

Сводка

Корпорация Майкрософт обычно рекомендует использовать сеть хранения данных (SAN) или локально подключенный диск для хранения файлов базы данных Microsoft SQL Server, так как такая конфигурация оптимизирует производительность и надежность SQL Server. По умолчанию использование файлов сетевой базы данных, хранящихся на сетевом сервере или сервере хранилища, подключенного к сети (NAS), не включено для SQL Server.

Однако можно настроить SQL Server для хранения базы данных на сетевом сервере или сервере NAS. Серверы, используемые для этой цели, должны соответствовать SQL Server требованиям к упорядочению и гарантиям записи данных. Они подробно описаны в разделе Дополнительные сведения .

Следующие условия описывают использование файлов сетевой базы данных, хранящихся на сетевом сервере или сервере NAS.

  • Это использование включено по умолчанию в Microsoft SQL Server 2008 R2 и более поздних версиях.

  • Для этого требуется, чтобы флаг трассировки запуска -T1807 работал в Microsoft SQL Server 2008 и более ранних версиях. Начиная с SQL Server 2012, флаг трассировки больше не требуется. Дополнительные сведения о том, как включить флаги трассировки запуска, см. в разделе Параметры запуска службы ядра СУБД.

Устройства, соответствующие требованиям Windows Hardware Quality Lab (WHQL)

Серверы Microsoft Windows и сетевые серверы или серверы хранилища NAS, соответствующие требованиям Windows Hardware Quality Lab (WHQL), автоматически соответствуют гарантиям упорядочения и записи данных, необходимым для поддержки SQL Server запоминающего устройства. Корпорация Майкрософт поддерживает проблемы, связанные с приложениями и хранилищем, в этих конфигурациях.

Примечание.

Для поддержки SQL Server решение хранилища NAS должно также соответствовать всем требованиям, перечисленным в документе для скачивания: SQL Server требования к программе надежности операций ввода-вывода.

Другие устройства

Если вы используете устройство хранения, отличное от WHQL, с SQL Server, которое поддерживает гарантии ввода-вывода для использования транзакционной базы данных, описанные в этой статье, корпорация Майкрософт предоставит полную поддержку приложений на основе SQL Server и SQL Server. Однако проблемы, связанные с устройством или подсистемой хранения, или вызванные ими, будут переданы производителю устройства. Если вы используете устройство хранения, отличное от WHQL, которое не поддерживает гарантии ввода-вывода для использования транзакционной базы данных, описанные в этой статье, корпорация Майкрософт не может обеспечить поддержку приложений на основе SQL Server или SQL Server. Чтобы определить, поддерживает ли ваше устройство хранения, отличное от WHQL, гарантии ввода-вывода для использования транзакционной базы данных, описанные в этой статье или предназначенные для использования базы данных, проверка с поставщиком устройства. Кроме того, обратитесь к поставщику устройства, чтобы убедиться, что вы правильно развернули и настроили устройство для использования транзакционной базы данных.

Дополнительная информация

По умолчанию в SQL Server 2008 и более ранних версиях невозможно создать базу данных SQL Server в общей сетевой папке. При любой попытке создать файл базы данных в сопоставленном сетевом расположении или расположении UNC возникает одно из следующих сообщений об ошибке:

  • Сообщение об ошибке 1

    5105 "Ошибка активации устройства"

  • Сообщение об ошибке 2

    5110 "Файл "file_name" на сетевом устройстве не поддерживается для файлов базы данных".

Это ожидаемое поведение. Флаг трассировки 1807 обходит проверка и позволяет настроить SQL Server с файлами базы данных на основе сети. SQL Server и большинство других корпоративных систем баз данных используют журнал транзакций и связанную логику восстановления для обеспечения согласованности транзакционных баз данных в случае сбоя системы или неуправляемого завершения работы. Эти протоколы восстановления зависят от возможности записи непосредственно на дисковый носитель, чтобы при возврате запроса операционной системы на запись ввода-вывода в диспетчер баз данных система восстановления могла быть уверена, что запись завершена или что завершение записи может быть гарантировано. Любой сбой любого программного или аппаратного компонента при выполнении этого протокола может привести к частичной или полной потере данных или повреждению в случае сбоя системы. Дополнительные сведения об этих аспектах протоколов ведения журнала и восстановления в SQL Server см. в разделе Описание алгоритмов ведения журнала и хранения данных, которые расширяют надежность данных в SQL Server.

Корпорация Майкрософт не поддерживает SQL Server сетевых файлов базы данных на NAS или сетевых серверах хранилища, которые не соответствуют этим требованиям к порядку записи и записи.

Из-за рисков сетевых ошибок, скомпрометирующих целостность базы данных, а также возможных последствий для производительности, которые могут возникнуть в результате использования общих сетевых папок для хранения баз данных, корпорация Майкрософт рекомендует хранить файлы базы данных в подсистемах локальных дисков или в сетях хранения данных (SAN).

Система хранилища, подключенного к сети (NAS), — это файловая система хранения, к которую клиенты подключаются через перенаправитель сети по сетевому протоколу (например, TCP/IP). По умолчанию, если для доступа к ресурсу диска требуется сопоставить общую папку или дисковый ресурс отображается как удаленный сервер через UNC-путь (например, \Servername\Sharename) в сети, система хранения дисков не поддерживается в качестве расположения для SQL Server баз данных.

Проблемы с производительностью

SQL Server, как и другие корпоративные системы баз данных, могут ставить большую нагрузку на подсистему ввода-вывода. В большинстве крупных приложений базы данных настройка и настройка физических операций ввода-вывода играют важную роль в общей производительности системы. Существует три основных фактора производительности операций ввода-вывода, которые следует учитывать:

  • Пропускная способность ввода-вывода: совокупная пропускная способность, обычно измеряемая в мегабайтах в секунду, которая может поддерживаться на устройстве базы данных.
  • Задержка ввода-вывода: задержка, обычно измеряемая в миллисекундах, между запросом на ввод-вывод системой базы данных и точкой, в которой выполняется запрос ввода-вывода.
  • Стоимость ЦП. Стоимость ЦП узла, обычно измеряемая в микросекундах ЦП, для системы базы данных для выполнения одного ввода-вывода.

Любой из этих факторов ввода-вывода может стать узким местом, и необходимо учитывать все эти факторы при разработке системы ввода-вывода для приложения базы данных.

В простейшей форме решение NAS использует стандартный стек программного обеспечения перенаправления сети, стандартный сетевой интерфейс карта (NIC) и стандартные компоненты Ethernet. Недостаток этой конфигурации заключается в том, что все файловые ввод-вывод обрабатываются через сетевой стек и подвержены ограничениям пропускной способности самой сети. Это может привести к проблемам с производительностью и надежностью данных, особенно в программах, требующих высокого уровня файлового ввода-вывода, таких как SQL Server. В некоторых конфигурациях NAS, протестированных корпорацией Майкрософт, пропускная способность ввода-вывода составляла одну треть (1/3) от пропускной способности решения хранилища с прямым подключением на том же сервере. В этой же конфигурации затраты на ЦП на выполнение операций ввода-вывода через устройство NAS в два раза больше, чем на локальный ввод-вывод. По мере развития устройств NAS и сетевой инфраструктуры эти коэффициенты также могут улучшиться по сравнению с хранилищем с прямым подключением или san. Кроме того, если данные приложения в основном кэшируются в буферном пуле базы данных и вы не сталкиваетесь с описанными узкими местами ввода-вывода, производительность в системе на основе NAS, вероятно, будет достаточной для вашего приложения.

Рекомендации по резервному копированию и восстановлению

SQL Server предоставляет интерфейс виртуального устройства (VDI) для резервного копирования. VDI предоставляет поставщикам программного обеспечения резервного копирования высокопроизводительные, масштабируемые и надежные средства для выполнения горячих резервных копий и восстановления SQL Server баз данных.

Программное обеспечение резервного копирования работает с файлами базы данных, хранящимися на устройствах NAS через VDI, без специальной поддержки, относящейся к NAS. Однако это приводит к большому объему дополнительного сетевого трафика во время резервного копирования и восстановления. Во время резервного копирования через VDI SQL Server удаленно считывает файлы и передает данные стороннему программному обеспечению резервного копирования, работающему на SQL Server компьютере. Операция восстановления аналогична.

Чтобы избежать дополнительных сетевых накладных расходов, поставщик резервного копирования должен предоставить поддержку для NAS поставщиком резервного копирования и поставщиком NAS. SQL Server VDI позволяет программному обеспечению резервного копирования использовать аппаратные (разделенные зеркало) или программные технологии (копирование при записи), поддерживаемые устройствами NAS, для быстрого создания локальных копий файлов базы данных в NAS. Эти технологии не только позволяют избежать дополнительных затрат на копирование файлов по сети для резервного копирования, но и сократить время восстановления на порядки.

Резервные копии, хранящиеся на NAS, уязвимы к тем же сбоям, которые влияют на файлы базы данных, хранящиеся на NAS. Следует рассмотреть возможность защиты этих резервных копий, скопировав их на альтернативный носитель.

Предостережение

При использовании технологий резервного копирования NAS без поддержки VDI SQL Server может возникнуть повреждение базы данных. Такое повреждение включает в себя разрывы страниц или несоответствия между файлами журнала и данными, если они хранятся на отдельных устройствах. SQL Server может не обнаружить разорванные страницы или несоответствия, пока не восстановите базу данных и не получите доступ к поврежденным данным. Корпорация Майкрософт не поддерживает использование технологий резервного копирования NAS, которые не согласованы с SQL Server.

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

Корпорация Майкрософт призывает клиентов, которые рассматривают развертывание решения NAS для баз данных SQL Server, обратиться к поставщику NAS, чтобы убедиться, что комплексное решение предназначено для использования базы данных. Многие поставщики NAS имеют рекомендации и сертифицированные конфигурации для этого использования. Корпорация Майкрософт также рекомендует клиентам проверить производительность операций ввода-вывода, чтобы убедиться, что ни один из упомянутых ранее факторов ввода-вывода не вызовет узкое место в приложении.

В следующем списке описана поддержка сетевых файлов в отказоустойчивых кластерах SQL:

Дополнительные замечания

Неправильное использование программного обеспечения базы данных с продуктом NAS или использование базы данных с неправильно настроенным продуктом NAS может привести к потере данных, включая полную потерю базы данных. Если устройство NAS или сетевое программное обеспечение не полностью соблюдает гарантии данных, такие как порядок записи или запись, то сбои оборудования, программного обеспечения или даже питания могут серьезно поставить под угрозу целостность данных.

Ссылки