Как администратор баз данных SQL Server, обеспечение соответствия требованиям таких регуляций, как HIPAA, SOX и FACTA, является важным. Однако миграция на последнюю версию SQL Server может быть невозможна в краткосрочной перспективе. Что же делать, если вы застряли с SQL Server 2000? Один из вариантов – использовать DBA Toolkit, набор расширенных хранимых процедур, предназначенных для расширения функциональности SQL Server 2000.
В этой серии статей мы рассмотрим различные аспекты DBA Toolkit. В этой первой статье мы сосредоточимся на возрождении шифрования SQL Server 2000. Во второй статье будет рассмотрено добавление регулярных выражений в SQL Server через Toolkit. Третья статья будет посвящена инструментам фонетического сопоставления в Toolkit. Наконец, мы завершим эту серию обсуждением дополнительной функциональности в наборе инструментов, которая не подходит в вышеперечисленные категории.
DBA Toolkit включает более двух десятков расширенных хранимых процедур, которые могут помочь администраторам баз данных и разработчикам, работающим с SQL Server 2000. Некоторые из этих инструментов предоставляют необходимые возможности шифрования, в то время как другие предлагают конкретную функциональность SQL Server, которая оказалась полезной на протяжении многих лет. Все эти инструменты разработаны для упрощения разработки и администрирования SQL Server, расширяя его функциональность.
Одной из ключевых особенностей DBA Toolkit является его возможность шифрования. Предыдущая версия Toolkit предоставляла расширенные хранимые процедуры шифрования и дешифрования AES и Blowfish для SQL Server 2000. Однако одной из областей, которую разработчики и администраторы баз данных должны были обрабатывать самостоятельно, было управление ключами шифрования. В последней версии Toolkit была добавлена базовая система управления ключами шифрования.
Инструменты шифрования в Toolkit были улучшены для более эффективной обработки и предоставления более подробных сообщений об использовании и ошибках. Сами алгоритмы шифрования были пересмотрены с приоритетом на надежность перед скоростью, и на основе отзывов пользователей были добавлены дополнительные алгоритмы, такие как DES, TripleDES и Twofish.
DBA Toolkit использует встроенный Windows CryptoAPI для обеспечения безопасности ключей. Проектирование Toolkit учитывает различные варианты доступных CryptoAPI и использует только функциональность, доступную в базовом CryptoAPI. Хотя это ограничивает возможности Toolkit по сравнению с SQL Server 2005, он все равно предоставляет безопасное решение для шифрования в SQL Server 2000.
Чтобы установить DBA Toolkit, просто скопируйте файлы DLL из загруженного ZIP-архива в каталог MSSQL\BINN и запустите скрипт INSTALL.SQL с помощью Query Analyzer. Скрипт установит все расширенные процедуры, хранимые процедуры и определенные пользователем функции для вас. Обязательно протестируйте установку, запустив один из предоставленных образцовых скриптов в каталоге SAMPLES.
DBA Toolkit также включает подробный файл справки (TOOLKIT.CHM), который содержит подробные описания всех функций, расширенных процедур, хранимых процедур и других элементов. Этот файл справки должен быть вашим первым источником информации для любых вопросов или проблем, с которыми вы столкнетесь при использовании Toolkit.
Одним из основных улучшений в последней версии DBA Toolkit является встроенная система безопасного управления ключами. Мастер-ключи используются для шифрования локальных ключей, и оба они хранятся в мастер-базе данных. В отличие от SQL Server 2005, Toolkit не привязывает ключи шифрования данных к конкретным базам данных, что позволяет использовать ключи шифрования данных для любых данных в любой базе данных.
При создании мастер-ключей вы можете указать материал ключа для генерации ключа, а также материал ключа, используемый CryptoAPI для обеспечения безопасности мастер-ключа. Локальные ключи, с другой стороны, всегда генерируются случайным образом и привязаны к указанному мастер-ключу. Важно указать тот же пароль при создании локального ключа, который использовался для шифрования мастер-ключа.
DBA Toolkit предоставляет ряд определенных пользователем функций и расширенных хранимых процедур для шифрования и дешифрования с использованием различных алгоритмов, таких как TripleDES, AES, Blowfish, DES и Twofish. Эти функции принимают входные данные в виде открытого или зашифрованного текста и возвращают соответствующий зашифрованный или дешифрованный текст.
Следует отметить, что алгоритмы шифрования и дешифрования возвращают данные в формате VARBINARY с максимальным размером 8000 байт. Если вам нужно зашифровать или дешифровать данные типа NVARCHAR или NCHAR, вы должны сначала привести их к типу VARBINARY, а затем привести результат дешифрования обратно к соответствующему типу данных.
Резервное копирование и восстановление ключей шифрования выполняются просто, так как их можно выполнять с использованием обычных процедур резервного копирования баз данных или импорта/экспорта DTS. Однако важно ограничить доступ к таблицам хранилища ключей для обеспечения безопасности.
В заключение, DBA Toolkit предоставляет ценный набор инстру