Я тестировал функцию сбора измененных данных SQL Server 2008 на таблице, когда она застряла.
- Для CDC включена только одна таблица.
- После выполнения различных изменений DDL в таблице, чтобы проверить реакцию CDC, я удалил таблицу.
- Ранее в моем тестировании удаление таблицы также приводило к тому, что CDC удалял таблицу CT и любые метаданные, связанные с удаленной таблицей.
- Последний оператор удаления, по-видимому, никогда не обнаруживался CDC, поскольку таблица CT все еще существует, и для нее существует запись в таблице cdc.change_tables.
- Я не могу отключить CDC для таблицы или включить CDC для вновь созданной таблицы с тем же именем, поскольку запись cdc.change_table существует и связана с несуществующим идентификатором объекта в метаданных SQL Server.
- Я попытался отключить CDC для базы данных, но команда выполнялась в течение 1 часа без ответа, прежде чем я остановил ее.
- При попытке отключить CDC для базы данных список заданий для агента SQL Server перестал отвечать (время ожидания запроса на блокировку) в студии управления. После отмены команды отключения CDC агент по-прежнему не отвечал.
- Я попытался перезапустить службу агента. Он успешно остановился, но завис во время запуска (что, казалось, было последним этапом). Теперь служба застряла в статусе «Запуск».
Я перезагружаю сервер, чтобы попытаться снова запустить Агент.
Я могу удалить и воссоздать свою базу данных, поскольку она все еще находится в стадии разработки и в ней нет данных, но есть ли другой способ исправить проблему? Все, что я прочитал до сих пор, указывает на то, что мне не следует напрямую связываться с какими-либо ресурсами CDC. Есть ли реальная причина, по которой я не должен просто удалить запись cdc.change_tables и связанную с ней таблицу CT?
Кто-нибудь сталкивался с подобными проблемами с CDC, которые указывали бы на нестабильность системы?
РЕДАКТИРОВАТЬ: после повторного запуска агента я попытался вручную удалить запись change_tables и таблицу CT, но когда я попытался включить таблицу, возник ряд ошибок, связанных с метаданными CDC. Однако мне удалось успешно отключить CDC для всей базы данных, а затем снова включить его. Это, конечно, отбросило все ресурсы, связанные с функцией CDC.