kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Eric  Z Beard
Eric Z Beard
Вопрос

Почему планы обслуживания Sql Server 2005 используют неправильную базу данных для проверки dbcc checkdb?

Это проблема, которую я видел у других людей, кроме себя, и я не нашел хорошего объяснения.

Допустим, у вас есть план обслуживания с задачей проверки базы данных, что-то вроде этого:

USE [MyDb]
GO
DBCC CHECKDB with no_infomsgs, all_errormsgs

Если вы посмотрите в журналы после выполнения задачи, вы увидите что-то вроде этого:

08/15/2008 06:00:22,spid55,Unknown,DBCC CHECKDB (mssqlsystemresource) executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds.
08/15/2008 06:00:21,spid55,Unknown,DBCC CHECKDB (master) executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 0 minutes 0 seconds.

Вместо проверки MyDb проверяется master и msssqlsystemresource.

Почему?

Моим обходным решением является создание задания агента Sql Server Agent Job с этим:

dbcc checkdb ('MyDb') with no_infomsgs, all_errormsgs;

Это всегда работает нормально.

08/15/2008 04:26:04,spid54,Unknown,DBCC CHECKDB (MyDb) WITH all_errormsgs<c/> no_infomsgs executed by NT AUTHORITY\SYSTEM found 0 errors and repaired 0 errors. Elapsed time: 0 hours 26 minutes 3 seconds.
0 2008-08-15T14:45:33+00:00 3
 Matt
Matt
Редактировал вопрос 25-го ноября 2014 в 4:52
Программирование
sql-server-2005
sql-server
 Stu
Stu
15-го августа 2008 в 3:00
2008-08-15T15:00:16+00:00
Дополнительно
Источник
Редактировать
#8415879

Для начала, всегда помните, что GO не является ключевым словом SQL; это просто разделитель пакетов, который (как правило) реализуется/распознается клиентом, а не сервером. Поэтому, в зависимости от контекста и клиента, нет никакой гарантии, что текущая база данных будет сохранена между партиями.

 Stu
Stu
Редактировал ответ 20-го января 2014 в 6:14
1
0
Booji Boy
Booji Boy
15-го августа 2008 в 3:34
2008-08-15T15:34:09+00:00
Дополнительно
Источник
Редактировать
#8415880

Если вы используете план обслуживания, вам, вероятно, лучше использовать задачу проверки целостности базы данных. Если вы действительно хотите запустить собственное обслуживание, написанное на t-sql, то запустите его с помощью шага в задании, а не в плане обслуживания, и приведенный выше код будет работать нормально. Как сказал Стю, оператор GO - это директива клиента, а не ключевое слово sql, и, похоже, ее соблюдают только клиенты isql, wsql, osql и т.д. и sql-агент. Я думаю, что это работает в пакетах DTS. Очевидно, не в DTSX, однако.

1
0
Booji Boy
Booji Boy
15-го августа 2008 в 7:22
2008-08-15T19:22:39+00:00
Дополнительно
Источник
Редактировать
#8415881

У вас есть задача проверки целостности базы данных, и вы дважды щелкнули на ней, выбрав MyDb, а когда план запускается, он проверяет только master??? странно. Вы уверены, что у вас нет другого запущенного плана?

0
0
Похожие сообщества 4
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
3 542 пользователей
Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.
Открыть telegram
sql_ninja
sql_ninja
2 520 пользователей
Канал для тех, кто знает или интересуется SQL 🛢 Взаимная помощь и позитив =) Вакансии тут - @sql_jobs Бан за: оскорбления, спам, фри рекламу, расизм, сексизм. Наш MSSQL канал - @sqlcom По рекламе: @aveLestat
Открыть telegram
SQL JOBS
SQL JOBS
2 144 пользователей
Обязательны: компания, город, позиция, вилка, наличие удалёнки, требования, контакты. Бан за рекламу, сексизм, расизм и неадекватный обсёр объявлений
Открыть telegram
Lazarus : Database (Firebird, mySQL, SQLite, PostgreSQL, ...)
29 пользователей
Базы данных в Lazarus https://t.me/Delphi_Lazarus (по-русски) https://t.me/Delphi_Lazarus_offtop https://t.me/freepascal_en (по-английски) по темам: https://t.me/Lazarus_Database https://t.me/Lazarus_Graphics https://t.me/Lazarus_Android
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией