1. Главная страница » Компьютеры »

Msdbdata mdf уменьшить размер

Автор: | 16.12.2019

ОБЛАСТЬ ПРИМЕНЕНИЯ: Msdbdata mdf уменьшить размерSQL Server Msdbdata mdf уменьшить размерБаза данных SQL Azure Msdbdata mdf уменьшить размерAzure Synapse Analytics (хранилище данных SQL) Msdbdata mdf уменьшить размерParallel Data Warehouse APPLIES TO: Msdbdata mdf уменьшить размерSQL Server Msdbdata mdf уменьшить размерAzure SQL Database Msdbdata mdf уменьшить размерAzure Synapse Analytics (SQL DW) Msdbdata mdf уменьшить размерParallel Data Warehouse

База данных msdb используется агентом SQL Server SQL Server для создания расписания предупреждений и заданий, а также другими компонентами, такими как среда SQL Server Management Studio SQL Server Management Studio и компоненты Компонент Service Broker Service Broker и Database Mail. The msdb database is used by SQL Server SQL Server Agent for scheduling alerts and jobs and by other features such as SQL Server Management Studio SQL Server Management Studio , Компонент Service Broker Service Broker and Database Mail.

Например, SQL Server SQL Server автоматически поддерживает полный журнал резервного копирования и восстановления "в сети" в таблицах в базе данных msdb. For example, SQL Server SQL Server automatically maintains a complete online backup-and-restore history within tables in msdb. В эти сведения включено имя стороны, выполнившей резервное копирование, время резервного копирования и устройства или файлы, в которых храниться резервная копия. This information includes the name of the party that performed the backup, the time of the backup, and the devices or files where the backup is stored. Среда SQL Server Management Studio SQL Server Management Studio использует эти сведения для создания плана восстановления базы данных и применения существующих резервных копий журнала транзакций. SQL Server Management Studio SQL Server Management Studio uses this information to propose a plan for restoring a database and applying any transaction log backups. События резервного копирования для всех баз данных записываются, даже если они создаются средствами пользовательских приложений или сторонних разработчиков. Backup events for all databases are recorded even if they were created with custom applications or third-party tools. Например, если приложение Microsoft Microsoft Visual Basic Visual Basic при выполнении операций резервного копирования обращается к объектам SMO, то событие заносится в системные таблицы базы данных msdb , в журнал приложений Microsoft Microsoft Windows и журнал ошибок SQL Server SQL Server . For example, if you use a Microsoft Microsoft Visual Basic Visual Basic application that calls SQL Server Management Objects (SMO) objects to perform backup operations, the event is logged in the msdb system tables, the Microsoft Microsoft Windows application log, and the SQL Server SQL Server error log. Чтобы защитить сведения, хранящиеся в базе данных msdb, рекомендуется разместить журнал транзакций msdb в отказоустойчивом хранилище. To help your protect the information that is stored in msdb, we recommend that you consider placing the msdb transaction log on fault tolerant storage.

По умолчанию, для базы данных msdb используется простая модель восстановления. By default, msdb uses the simple recovery model. Если используются таблицы журнала резервного копирования и восстановления , рекомендуется использовать для базы данных msdbмодель полного восстановления. If you use the backup and restore history tables, we recommend that you use the full recovery model for msdb. Дополнительные сведения см. в разделе Модели восстановления (SQL Server). For more information, see Recovery Models (SQL Server). Обратите внимание, что при установке или обновлении SQL Server SQL Server , а также при каждом перестроении системных баз данных с помощью программы Setup.exe для базы данных msdb автоматически устанавливается модель простого восстановления. Notice that when SQL Server SQL Server is installed or upgraded and whenever Setup.exe is used to rebuild the system databases, the recovery model of msdb is automatically set to simple.

После любых операций, обновляющих базу данных msdb, например резервного копирования или восстановления любой другой базы данных, рекомендуется создать резервную копию базы данных msdb. After any operation that updates msdb, such as backing up or restoring any database, we recommend that you back up msdb. Дополнительные сведения см. в разделе Резервное копирование и восстановление системных баз данных (SQL Server). For more information, see Back Up and Restore of System Databases (SQL Server).

Физические свойства базы данных msdb Physical Properties of msdb

В следующей таблице представлен список значений начальной конфигурации данных и файлов журнала msdb . The following table lists the initial configuration values of the msdb data and log files. Размеры этих файлов могут немного изменяться в зависимости от выпуска Компонент SQL Server Database Engine SQL Server Database Engine . The sizes of these files may vary slightly for different editions of Компонент SQL Server Database Engine SQL Server Database Engine .

Читайте также:  Oracle создание временной таблицы
Файл FileЛогическое имя Logical nameФизическое имя Physical nameУвеличение размера файлов File growth
Первичные данные Primary dataMSDBData MSDBDataMSDBData.mdf MSDBData.mdfАвтоувеличение на 10 % до заполнения диска. Autogrow by 10 percent until the disk is full.
Журнал LogMSDBLog MSDBLogMSDBLog.ldf MSDBLog.ldfАвтоувеличение на 10 % до максимального размера в 2 ТБ. Autogrow by 10 percent to a maximum of 2 terabytes.

Сведения о перемещении файлов базы данных и журналов msdb см. в разделе Перемещение системных баз данных. To move the msdb database or log files, see Move System Databases.

Параметры базы данных Database Options

В следующей таблице приводится список значений по умолчанию для каждого параметра базы данных в msdb , а также возможность его изменения. The following table lists the default value for each database option in the msdb database and whether the option can be modified. Чтобы просмотреть текущие настройки этих параметров, используйте представление каталога sys.databases . To view the current settings for these options, use the sys.databases catalog view.

Параметр базы данных Database optionЗначение по умолчанию Default valueМожно ли изменить Can be modified
ALLOW_SNAPSHOT_ISOLATION ALLOW_SNAPSHOT_ISOLATIONON ONнет No
ANSI_NULL_DEFAULT ANSI_NULL_DEFAULTOFF OFFДа Yes
ANSI_NULLS ANSI_NULLSOFF OFFДа Yes
ANSI_PADDING ANSI_PADDINGOFF OFFДа Yes
ANSI_WARNINGS ANSI_WARNINGSOFF OFFДа Yes
ARITHABORT ARITHABORTOFF OFFДа Yes
AUTO_CLOSE AUTO_CLOSEOFF OFFДа Yes
AUTO_CREATE_STATISTICS AUTO_CREATE_STATISTICSON ONДа Yes
AUTO_SHRINK AUTO_SHRINKOFF OFFДа Yes
AUTO_UPDATE_STATISTICS AUTO_UPDATE_STATISTICSON ONДа Yes
AUTO_UPDATE_STATISTICS_ASYNC AUTO_UPDATE_STATISTICS_ASYNCOFF OFFДа Yes
CHANGE_TRACKING CHANGE_TRACKINGOFF OFFнет No
CONCAT_NULL_YIELDS_NULL CONCAT_NULL_YIELDS_NULLOFF OFFДа Yes
CURSOR_CLOSE_ON_COMMIT CURSOR_CLOSE_ON_COMMITOFF OFFДа Yes
CURSOR_DEFAULT CURSOR_DEFAULTGLOBAL GLOBALДа Yes
Параметры доступности базы данных Database Availability OptionsONLINE ONLINE

READ_WRITE READ_WRITE

нет No

Да Yes

DATE_CORRELATION_OPTIMIZATION DATE_CORRELATION_OPTIMIZATIONOFF OFFДа YesDB_CHAINING DB_CHAININGON ONДа YesENCRYPTION ENCRYPTIONOFF OFFнет NoMIXED_PAGE_ALLOCATION MIXED_PAGE_ALLOCATIONON ONнет NoNUMERIC_ROUNDABORT NUMERIC_ROUNDABORTOFF OFFДа YesPAGE_VERIFY PAGE_VERIFYCHECKSUM CHECKSUMДа YesPARAMETERIZATION PARAMETERIZATIONSIMPLE SIMPLEДа YesQUOTED_IDENTIFIER QUOTED_IDENTIFIEROFF OFFДа YesREAD_COMMITTED_SNAPSHOT READ_COMMITTED_SNAPSHOTOFF OFFнет NoRECOVERY RECOVERYSIMPLE SIMPLEДа YesRECURSIVE_TRIGGERS RECURSIVE_TRIGGERSOFF OFFДа YesПараметры компонента Service Broker Service Broker OptionsENABLE_BROKER ENABLE_BROKERДа YesTRUSTWORTHY TRUSTWORTHYON ONДа Yes

Описание этих параметров баз данных см. в разделе ALTER DATABASE (Transact-SQL). For a description of these database options, see ALTER DATABASE (Transact-SQL).

Ограничения Restrictions

С базой данных msdb нельзя выполнить следующие действия. The following operations cannot be performed on the msdb database:

Изменение параметров сортировки. Changing collation. Параметрами сортировки по умолчанию являются параметры сортировки сервера. The default collation is the server collation.

Удаление базы данных. Dropping the database.

Удаление пользователя guest из базы данных. Dropping the guest user from the database.

Включение системы отслеживания измененных данных. Enabling change data capture.

Участие в зеркальном отображении базы данных. Participating in database mirroring.

Удаление первичной файловой группы, первичного файла данных или файла журнала. Removing the primary filegroup, primary data file, or log file.

Переименование базы данных или первичной файловой группы. Renaming the database or primary filegroup.

Перевод базы данных в режим «вне сети» (OFFLINE). Setting the database to OFFLINE.

Перевод первичной файловой группы в режим READ_ONLY. Setting the primary filegroup to READ_ONLY.

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ: Msdbdata mdf уменьшить размерSQL Server (начиная с 2008) Msdbdata mdf уменьшить размерБаза данных SQL Azure Msdbdata mdf уменьшить размерХранилище данных SQL Azure Msdbdata mdf уменьшить размерParallel Data Warehouse

База данных msdb используется агентом SQL Server для создания расписания предупреждений и заданий, а также другими компонентами, такими как среда SQL Server Management Studioи компоненты Компонент Service Broker и Database Mail.

Например, SQL Server автоматически поддерживает полный журнал резервного копирования и восстановления "в сети" в таблицах в базе данных msdb. В эти сведения включено имя стороны, выполнившей резервное копирование, время резервного копирования и устройства или файлы, в которых храниться резервная копия. Среда SQL Server Management Studio использует эти сведения для создания плана восстановления базы данных и применения существующих резервных копий журнала транзакций. События резервного копирования для всех баз данных записываются, даже если они создаются средствами пользовательских приложений или сторонних разработчиков. Например, если приложение Microsoft Visual Basic при выполнении операций резервного копирования обращается к объектам SMO, то событие заносится в системные таблицы базы данных msdb , в журнал приложений Microsoft Windows и журнал ошибок SQL Server . Чтобы защитить сведения, хранящиеся в базе данных msdb, рекомендуется разместить журнал транзакций msdb в отказоустойчивом хранилище.

Читайте также:  1С создание записи регистра сведений

По умолчанию, для базы данных msdb используется простая модель восстановления. Если используются таблицы журнала резервного копирования и восстановления , рекомендуется использовать для базы данных msdbмодель полного восстановления. Дополнительные сведения см. в разделе Модели восстановления (SQL Server). Обратите внимание, что при установке или обновлении SQL Server , а также при каждом перестроении системных баз данных с помощью программы Setup.exe для базы данных msdb автоматически устанавливается модель простого восстановления.

Важно

После любых операций, обновляющих базу данных msdb, например резервного копирования или восстановления любой другой базы данных, рекомендуется создать резервную копию базы данных msdb. Дополнительные сведения см. в разделе Резервное копирование и восстановление системных баз данных (SQL Server).

В следующей таблице представлен список значений начальной конфигурации данных и файлов журнала msdb . Размеры этих файлов могут немного изменяться в зависимости от выпуска Компонент SQL Server Database Engine.

ФайлЛогическое имяФизическое имяУвеличение размера файлов
Первичные данныеMSDBDataMSDBData.mdfАвтоувеличение на 10 % до заполнения диска.
ЖурналMSDBLogMSDBLog.ldfАвтоувеличение на 10 % до максимального размера в 2 ТБ.

Сведения о перемещении файлов базы данных и журналов msdb см. в разделе Перемещение системных баз данных.

Параметры базы данных

В следующей таблице приводится список значений по умолчанию для каждого параметра базы данных в msdb , а также возможность его изменения. Чтобы просмотреть текущие настройки этих параметров, используйте представление каталога sys.databases .

Параметр базы данныхЗначение по умолчаниюМожно ли изменить
ALLOW_SNAPSHOT_ISOLATIONONНет
ANSI_NULL_DEFAULTOFFДа
ANSI_NULLSOFFДа
ANSI_PADDINGOFFДа
ANSI_WARNINGSOFFДа
ARITHABORTOFFДа
AUTO_CLOSEOFFДа
AUTO_CREATE_STATISTICSONДа
AUTO_SHRINKOFFДа
AUTO_UPDATE_STATISTICSONДа
AUTO_UPDATE_STATISTICS_ASYNCOFFДа
CHANGE_TRACKINGOFFНет
CONCAT_NULL_YIELDS_NULLOFFДа
CURSOR_CLOSE_ON_COMMITOFFДа
CURSOR_DEFAULTGLOBALДа
Параметры доступности базы данныхONLINE

READ_WRITE

Нет

Да

DATE_CORRELATION_OPTIMIZATIONOFFДаDB_CHAININGONДаENCRYPTIONOFFНетMIXED_PAGE_ALLOCATIONONНетNUMERIC_ROUNDABORTOFFДаPAGE_VERIFYCHECKSUMДаPARAMETERIZATIONSIMPLEДаQUOTED_IDENTIFIEROFFДаREAD_COMMITTED_SNAPSHOTOFFНетRECOVERYSIMPLEДаRECURSIVE_TRIGGERSOFFДаПараметры компонента Service BrokerENABLE_BROKERДаTRUSTWORTHYONДа

Описание этих параметров баз данных см. в разделе ALTER DATABASE (Transact-SQL).

С базой данных msdb нельзя выполнить следующие действия.

Изменение параметров сортировки. Параметрами сортировки по умолчанию являются параметры сортировки сервера.

Удаление базы данных.

Удаление пользователя guest из базы данных.

Включение системы отслеживания измененных данных.

Участие в зеркальном отображении базы данных.

Удаление первичной файловой группы, первичного файла данных или файла журнала.

Переименование базы данных или первичной файловой группы.

Перевод базы данных в режим «вне сети» (OFFLINE).

Перевод первичной файловой группы в режим READ_ONLY.

В некоторых случаях, возникает необходимость перенести файлы баз данных на другой диск. Например, базы лежат в каталоге по умолчанию на системном диске С:, который:

  • Имеет маленький размер
  • Сильно нагружен ОС и системными запросами
  • Довольно медленный
  • Помирает

Все эти факторы влияют как на отказоустойчивость, так и на скорость обработки запросов SQl-сервером, а следовательно и на работоспособность комплекса в целом!
Теперь, когда вы прониклись важностью момента, можно приступить к практическим действиям. Итак:

Перенос пользовательской базы данных¶

1. Договариваемся с творческой частью коллектива, что в определенное время все перестают работать с базой. А именно, прекращают что-то туда добавлять и/или изменять.

2. Останавливаем сервисы, которые работают с МБД в автоматическом режиме, например:

  • DB Import — импорт новостных лент
  • DDB — распределенная база данных
  • Sch_to_DB — репликация расписаний
    иначе, есть вероятность потерять часть информации.

3. Запускаем Microsoft SQL Server Management Studio.

4. Самым первым делом всегда делаем бэкап базы!

5. Далее, смотрим, где лежат файлы нужной нам базы данных (в нашем примере это будет МБД под названием "RADIO-DB"). Для этого, нажимаем на ней ПКМ и открываем Properties (Свойства). Заходим в раздел Files (Файлы) и смотрим раздел Path (Путь):

Msdbdata mdf уменьшить размер

6. Далее, нажимаем ПКМ на целевой базе и выбираем пункт TasksDetach (ЗадачиОтсоединить):

Msdbdata mdf уменьшить размер

7. В открывшемся окне ставим обе галочки и нажимаем ОК. После чего, МБД пропадет из списка:

Msdbdata mdf уменьшить размер

8. Через обычный проводник заходим в каталог, где лежат нужные нам файлы. В нашем примере, это C:Program FilesMicrosoft SQL ServerMSSQL11.SQLEXPRESS2012MSSQLDATA.

9. Копируем эти файлы в новый каталог на новый диск и снова открываем Microsoft SQL Server Management Studio.

10. Нажимаем ПКМ на разделе Databases (Базы данных), выбираем пункт Attach (Присоединить) и в открывшемся окне нажимаем кнопку Add (Добавить) и выбираем нужный нам файл RADIO-DB.mdf уже из нового каталога:

Читайте также:  Dota 2 вылетает при запуске без ошибки

Msdbdata mdf уменьшить размер

Убеждаемся, что пути у нас теперь новые и нажимаем ОК.

Всё, пользовательская база данных переехала на новый диск. Не нужно ничего перезапускать и т.д. Убеждаемся, что рабочие места переподключились к МБД и разрешаем им снова работать в штатном режиме.

Перенос системных баз данных¶

Но, остались еще системные базы данных (спрятаны в разделе System Databases). Это msdb, model и tempdb, которые в общем-то тоже будет неплохо перенести на быстрый и отказоустойчивый диск. Тем более, что среди них есть одна, очень для нас важная база — tempdb. Именно через нее проходят все запросы, прежде чем попасть в пользовательскую МБД. Перенести системные базы ничуть не сложнее, чем пользовательские. И для этого надо:

1. Используя Microsoft SQL Server Management Studio, выполнить следующий скрипт:

Его также можно скачать из этого описания и запустить непосредственно на SQl-сервере.

2. Останавливаем службу SQL.

3. Копируем из старого каталога (помним наш пример: C:Program FilesMicrosoft SQL ServerMSSQL11.SQLEXPRESS2012MSSQLDATA) все файлы, указанные в скрипте выше, в новый каталог, который мы прописали в том же скрипте.

4. Обязательно добавляем учетную запись группы безопасности. Подробно о том, как это сделать, читайте в конце данной статьи, в разделе "Предоставление разрешения на доступ к файловой системе идентификатору безопасности службы".

5. Запускаем службу SQL.

6. Убедиться, что мы все сделали правильно, можно, посмотрев в свойствах каждой системной БД раздел Files (Файлы). Там должны быть новые пути к обоим файлам (самой БД и логу).

Перенос самой системной базы данных master¶

Да, еще у нас осталась самая системная из всех системных баз — master
— путь, прописанный для этой базы, будет путем по умолчанию для всех вновь создающихся баз на данном сервере. Впрочем, для пользователей Digispot это не очень актуально. Тем более, что мы уже умеем менять пути любым базам.

1. Для изменения пути к БД master, нам понадобится оснастка SQL Server Configuration Manager (Диспетчер конфигурации SQL Server). Запускаем ее и открываем свойства SQL Server:

Msdbdata mdf уменьшить размер

2. В свойствах SQL Server`а открываем вкладку Startup Parameters (Параметры запуска):

Msdbdata mdf уменьшить размер

и по очереди меняем все указанные пути на новые.
— каждая строка начинается со своего символа -d, -e или -l. Ни в коем случае не меняйте их и не удаляйте!

3. Каждое изменение пути подтверждаем нажатием кнопки Update.

4. Теперь останавливаем сервис, копируем файлы master.mdf и mastlog.ldf из старого каталога в новый. После чего запускам сервис. ERRORLOG можно не копировать. Он создастся заново.

Предоставление разрешения на доступ к файловой системе идентификатору безопасности службы¶

С помощью проводника Windows перейдите в папку файловой системы, в которой находятся файлы базы данных. Правой кнопкой мыши щелкните эту папку и выберите пункт Свойства.

На вкладке Безопасность щелкните Изменитьи затем ― Добавить.

В диалоговом окне Выбор пользователей, компьютеров, учетных записей служб или групп щелкните Расположения, в начале списка расположений выберите имя своего компьютера и нажмите кнопку ОК.

В поле Введите имена объектов для выбора введите имя идентификатора безопасности службы. В качестве идентификатора безопасности службы компонента Компонент Database Engine используйте NT SERVICEMSSQLSERVER для экземпляра по умолчанию или NT SERVICEMSSQL$InstanceName — для именованного экземпляра.

Щелкните Проверить имена , чтобы проверить введенные данные. Проверка зачастую выявляет ошибки, по ее окончании может появиться сообщение о том, что имя не найдено. При нажатии кнопки ОК открывается диалоговое окно Обнаружено несколько имен .Теперь выберите идентификатор безопасности службы MSSQLSERVER или NT SERVICEMSSQL$InstanceName и нажмите кнопку ОК. Снова нажмите кнопку ОК , чтобы вернуться в диалоговое окно Разрешения.

В поле имен Группа или пользователь выберите имя идентификатора безопасности службы, а затем в поле Разрешения для установите флажок Разрешить для параметра Полный доступ.

Нажмите кнопку Применить, а затем дважды кнопку ОК , чтобы выполнить выход.

Вот теперь, точно всё. Спасибо за внимание!

P.S. В зависимости от конкретной ОС, конкретной версии SQL сервера, вашей кармы и наличия солнечных вспышек, что-то может пойти не так. Прежде чем приступать к вышеописанным действиям, убедитесь, что:
а) оно вам действительно надо
б) вы морально готовы
ц) вы понимаете, что вы делаете
д) у вас вся ночь впереди, чтобы переустановить SQL заново и развернуть бэкап.

detach_db2.PNG Просмотреть (31,7 КБ) Станислав Середницкий (Москва), 22/03/2018 17:27

detach_db.PNG Просмотреть (62,9 КБ) Станислав Середницкий (Москва), 22/03/2018 17:28

detach_db3.PNG Просмотреть (87,3 КБ) Станислав Середницкий (Москва), 22/03/2018 17:56

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *