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

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

Автор: | 16.12.2019

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) 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.

Читайте также:  Intel p31 express chipset

По умолчанию, для базы данных 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).

Содержание

Читайте также:  Dark souls 2 кооператив как играть

Физические свойства базы данных 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 .

Файл File Логическое имя Logical name Физическое имя Physical name Увеличение размера файлов File growth
Первичные данные Primary data MSDBData MSDBData MSDBData.mdf MSDBData.mdf Автоувеличение на 10 % до заполнения диска. Autogrow by 10 percent until the disk is full.
Журнал Log MSDBLog MSDBLog MSDBLog.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_ISOLATION ON ON нет No
ANSI_NULL_DEFAULT ANSI_NULL_DEFAULT OFF OFF Да Yes
ANSI_NULLS ANSI_NULLS OFF OFF Да Yes
ANSI_PADDING ANSI_PADDING OFF OFF Да Yes
ANSI_WARNINGS ANSI_WARNINGS OFF OFF Да Yes
ARITHABORT ARITHABORT OFF OFF Да Yes
AUTO_CLOSE AUTO_CLOSE OFF OFF Да Yes
AUTO_CREATE_STATISTICS AUTO_CREATE_STATISTICS ON ON Да Yes
AUTO_SHRINK AUTO_SHRINK OFF OFF Да Yes
AUTO_UPDATE_STATISTICS AUTO_UPDATE_STATISTICS ON ON Да Yes
AUTO_UPDATE_STATISTICS_ASYNC AUTO_UPDATE_STATISTICS_ASYNC OFF OFF Да Yes
CHANGE_TRACKING CHANGE_TRACKING OFF OFF нет No
CONCAT_NULL_YIELDS_NULL CONCAT_NULL_YIELDS_NULL OFF OFF Да Yes
CURSOR_CLOSE_ON_COMMIT CURSOR_CLOSE_ON_COMMIT OFF OFF Да Yes
CURSOR_DEFAULT CURSOR_DEFAULT GLOBAL GLOBAL Да Yes
Параметры доступности базы данных Database Availability Options ONLINE ONLINE
Читайте также:  Logitech g502 proteus spectrum обзор

READ_WRITE READ_WRITE

нет No

Да Yes

DATE_CORRELATION_OPTIMIZATION DATE_CORRELATION_OPTIMIZATION OFF OFF Да Yes DB_CHAINING DB_CHAINING ON ON Да Yes ENCRYPTION ENCRYPTION OFF OFF нет No MIXED_PAGE_ALLOCATION MIXED_PAGE_ALLOCATION ON ON нет No NUMERIC_ROUNDABORT NUMERIC_ROUNDABORT OFF OFF Да Yes PAGE_VERIFY PAGE_VERIFY CHECKSUM CHECKSUM Да Yes PARAMETERIZATION PARAMETERIZATION SIMPLE SIMPLE Да Yes QUOTED_IDENTIFIER QUOTED_IDENTIFIER OFF OFF Да Yes READ_COMMITTED_SNAPSHOT READ_COMMITTED_SNAPSHOT OFF OFF нет No RECOVERY RECOVERY SIMPLE SIMPLE Да Yes RECURSIVE_TRIGGERS RECURSIVE_TRIGGERS OFF OFF Да Yes Параметры компонента Service Broker Service Broker Options ENABLE_BROKER ENABLE_BROKER Да Yes TRUSTWORTHY TRUSTWORTHY ON 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.

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ: SQL Server (начиная с 2008) База данных SQL Azure Хранилище данных SQL Azure 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 в отказоустойчивом хранилище.

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

Важно

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

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

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

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

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

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

Параметр базы данных Значение по умолчанию Можно ли изменить
ALLOW_SNAPSHOT_ISOLATION ON Нет
ANSI_NULL_DEFAULT OFF Да
ANSI_NULLS OFF Да
ANSI_PADDING OFF Да
ANSI_WARNINGS OFF Да
ARITHABORT OFF Да
AUTO_CLOSE OFF Да
AUTO_CREATE_STATISTICS ON Да
AUTO_SHRINK OFF Да
AUTO_UPDATE_STATISTICS ON Да
AUTO_UPDATE_STATISTICS_ASYNC OFF Да
CHANGE_TRACKING OFF Нет
CONCAT_NULL_YIELDS_NULL OFF Да
CURSOR_CLOSE_ON_COMMIT OFF Да
CURSOR_DEFAULT GLOBAL Да
Параметры доступности базы данных ONLINE

READ_WRITE

Нет

Да

DATE_CORRELATION_OPTIMIZATION OFF Да DB_CHAINING ON Да ENCRYPTION OFF Нет MIXED_PAGE_ALLOCATION ON Нет NUMERIC_ROUNDABORT OFF Да PAGE_VERIFY CHECKSUM Да PARAMETERIZATION SIMPLE Да QUOTED_IDENTIFIER OFF Да READ_COMMITTED_SNAPSHOT OFF Нет RECOVERY SIMPLE Да RECURSIVE_TRIGGERS OFF Да Параметры компонента Service Broker ENABLE_BROKER Да TRUSTWORTHY ON Да

Описание этих параметров баз данных см. в разделе 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 (Путь):

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

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

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

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

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

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

и по очереди меняем все указанные пути на новые.
— каждая строка начинается со своего символа -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 не будет опубликован. Обязательные поля помечены *