Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается поддержка файлов сетевой базы данных в 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 (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 использует стандартный стек программного обеспечения перенаправления сети, стандартную сетевую карту (сетевой адаптер) и стандартные компоненты 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. VDI SQL Server позволяет программному обеспечению резервного копирования использовать аппаратные технологии (разделенные зеркальные) или программные технологии (копирование на запись), поддерживаемые устройствами NAS для быстрого копирования файлов базы данных, локальных в NAS. Эти технологии не только избежать затрат на копирование файлов по сети для резервного копирования, они также могут сократить время восстановления по порядкам величины.
Резервные копии, хранящиеся на NAS, уязвимы к тем же сбоям, которые влияют на файлы базы данных, хранящиеся в NAS. Следует рассмотреть возможность защиты этих резервных копий, скопировав их на альтернативный носитель.
Внимание
При использовании технологий резервного копирования NAS без поддержки VDI SQL Server может возникнуть повреждение базы данных в резервном копировании. Такая повреждение включает оторванные страницы или несоответствия между файлами журналов и данных, если они хранятся на отдельных устройствах. SQL Server может не обнаруживать разрываемые страницы или несоответствия, пока не восстановите базу данных и получите доступ к поврежденным данным. Корпорация Майкрософт не поддерживает использование технологий резервного копирования NAS, которые не согласованы с SQL Server.
Поддержка резервного копирования и поддержка поставщиков NAS для VDI SQL Server зависит. Обратитесь к поставщикам программного обеспечения NAS и резервного копирования, чтобы получить подробные сведения о поддержке VDI.
Корпорация Майкрософт призывает клиентов, которые рассматривают развертывание решения NAS для баз данных SQL Server, чтобы обратиться к поставщику NAS, чтобы убедиться, что комплексный проект решения предназначен для использования баз данных. Многие поставщики NAS имеют рекомендации и сертифицированные конфигурации для этого использования. Корпорация Майкрософт также рекомендует клиентам тестировать производительность ввода-вывода, чтобы гарантировать, что ни один из упомянутых выше факторов ввода-вывода не приводит к узким местам в приложении.
В следующем списке описывается поддержка сетевых файлов в отказоустойчивых кластерах SQL:
SQL Server 2008 R2 и более ранних версиях: не поддерживается
SQL Server 2012 и более поздних версий: поддерживается
Дополнительные сведения см. в следующем разделе электронной документации по SQL Server:
Дополнительные примечания
Неправильное использование программного обеспечения базы данных с продуктом NAS или использованием базы данных с неправильно настроенным продуктом NAS может привести к потере данных, включая общую потерю базы данных. Если устройство NAS или сетевое программное обеспечение не полностью учитывает гарантии данных, например порядок записи или запись, оборудование, программное обеспечение или даже сбои питания могут серьезно нарушить целостность данных.