Создание таблиц в главной базе данных SQL Server 2005 - PullRequest
1 голос
/ 25 августа 2010

Я добавляю сценарий мониторинга, чтобы проверить размер моих файлов БД, чтобы я мог предоставлять еженедельный отчет, который показывает размер каждого файла и насколько он вырос за последнюю неделю. Чтобы добиться роста, я просто собирался записывать записи в таблицу каждую неделю с размером каждой БД, а затем сравнивать с результатами предыдущей недели. Единственная хитрость - где хранить этот стол. Каковы компромиссы в использовании главной БД вместо создания новой БД для хранения этих журналов? (Я предполагаю, что в будущем мы добавим другие мониторы)

Ответы [ 4 ]

5 голосов
/ 25 августа 2010

Основная причина в том, что master не откалиброван для дополнительной нагрузки: он не установлен в системе ввода-вывода с надлежащим планированием емкости, трудно перейти к новому месту ввода-вывода, его план обслуживания принимает резервные копии, а резервные копии журнала Частота, необходимая для очень низкого объема деятельности, ее первоначальный размер и темп роста планируются так, как будто никаких изменений не ожидается. Другая причина этого заключается в том, что во многих сценариях устранения неполадок вы хотите, чтобы копия базы данных проверялась, но вам нужно было бы присоединить новый master к вашему экземпляру. Это основные причины, по которым добавление объектов в master не рекомендуется. Также многие администраторы по понятным причинам предпочитают, чтобы приложение использовало свою собственную базу данных, чтобы ее можно было правильно учесть и в конечном итоге легко удалить.

Подобные проблемы существуют и для msdb, но если пуш настанет, было бы лучше хранить данные приложений в msdb, а не master, поскольку первая - обычная база данных (несмотря на распространенное мнение, что это система, на самом деле нет).

2 голосов
/ 25 августа 2010

Основная БД - это системная база данных, которая принадлежит SQL Server. Он не должен использоваться для каких-либо других целей. Создайте свою собственную БД для хранения ваших логов.

1 голос
/ 25 августа 2010

Вы должны добавить отдельную базу данных для ведения журнала. Не гарантируется, что база данных master не нарушит следующий патч сервера sql, если вы оставите там свои объекты.

И сама Microsoft советует вам не делать этого. http://msdn.microsoft.com/en-us/library/ms187837.aspx

1 голос
/ 25 августа 2010

Я бы не стал вносить что-либо в master, это может быть перезаписано / воссоздано при обновлении.

Я поместил базу данных ServerInfo только для DBA на каждый сервер для такого использования, а также для любого конкретного приложения.окружающие вещи (вещи, которые отличаются между prod и test и dev).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...