(Возврат на основную страницу)
Один скрипт для получения всех деталей о SQL Server/БД
Мохаммад Абдул Маджид (Mohammad Abdul Majeed)
Сравнение и синхронизация схемы БД
Вишал Гджар (Vishal Gajjar)
Использование Service Broker для асинхронного исполнения процедур
Мариуш Жимчак (Mariusz Szymczak)
Capture_Login_Auths
Дональд Паттерсон (Donald Patterson)
Углубленный взгляд на обнаружение изменений в SQL Server – часть 02
Накул Вачхраджани (Nakul Vachhrajani)
Один скрипт для получения всех деталей о SQL Server/БД
Мохаммад Абдул Маджид (Mohammad Abdul Majeed)
Когда мне понадобился скрипт, выбирающий всю информацию SQL Server, я написал
код, который предлагаю ниже.
Сравнение и синхронизация схемы БД
Вишал Гджар (Vishal Gajjar)
Предлагаемый код выполняет сравнение двух БД и может внести корректирующие
изменения в целевую БД.
Использование Service Broker для асинхронного исполнения
процедур
Мариуш Жимчак (Mariusz Szymczak)
Процедуры, которые исполняются длительное время имеет смысла запускать
асинхронно. Асинхронное исполнение можно организовать, создав новый поток и
передав ему на исполнение команду вызова процедуры. Второй вариант -
использование Service Broker. Особенно удачным такое решение будет при запуске
процедуры как части исполнения триггера. Передача запроса на исполнение через
службу передачи сообщений позволит отделить триггер от долгой процедуры.
Для обустройства этого решения нам следует сначала настроить сам Service Broker,
который будет обеспечивать передачу сообщения в очередь для исполнения. Для
начала нужно создать процедуру с само активацией, которая будет проверять
очередь на предмет поступающих сообщений. Получив сообщение, мы вынем из него
текст команды на исполнения.
Capture_Login_Auths
Дональд Паттерсон (Donald Patterson)
Предлагаемый код - это расширение системной процедуры sp_helprevlogin. Будучи
администратором баз данных, мне часто приходилось выполнять запрос на создание
прав доступа одной учетной записи на основе прав, выданной другой учетной
записи. Такая задача иногда оказывается довольно сложной.
Предлагаемая процедура принимает имя учетной записи (это может быть учетная
запись домена или SQL) и выдает список прав для этой учетной записи в рамках
всего экземпляра SQL. Процедура выдает описание учетной записи, список серверных
ролей, в которых задействована учетная запись, список баз данных, к которым дан
доступ и права на объекты в рамках базы данных. Результат можно скопировать в
окно команд и использован в качестве скрипта, который выдает права другой
учетной записи. Просто замените имя одной учетной записи на другое.
Углубленный взгляд на обнаружение изменений в SQL Server – часть
02
Накул Вачхраджани (Nakul Vachhrajani)
Ко всем продуктам класса предприятия предъявляется минимум одно требование,
согласно которому приложение должно быть в состоянии идентифицировать
изменившиеся записи. Такие требования могут сопровождать любое из следующих
применений:
Аудит.
Выявление проблем с контрольной суммой для разрешения конфликтов пользовательских репликаций.
Обнаружение вторжения – обнаружение изменений в содержимом или манипуляций с ним.
Обработка проблем параллелизма.
Отсюда
вопрос: что собой представляют различные механизмы обнаружения изменений и
защиты от вторжения, доступные в SQL Server?
Microsoft SQL Server предоставляет четыре (4) метода, которыми могут
воспользоваться разработчики, чтобы идентифицировать модифицированные записи.
Хотя конкретное требование продиктует, какую именно из этих функциональных
возможностей следует использовать, я нередко встречаю коллективы разработчиков,
которые путаются в них, результатом чего в конечном итоге оказывается неполная
реализация требования. Четырьмя этими функциональными возможностями являются:
ROWVERSION
CHECKSUM
BINARY_CHECKSUM
HASHBYTES
Первые
два механизма обнаружения изменений мы рассмотрели в 1 части этой публикации,
состоящей из двух статей. В настоящей части мы будем рассматривать оставшиеся
два метода (функции BINARY_CHECKSUM и HASHBYTES), и в конечном итоге предложим
сравнительный анализ и рассмотрение всех четырех способов.