Как узнать размер базы 1с
Иногда у разработчиков или администраторов Microsoft SQL Server возникает необходимость узнать размер базы данных, поэтому сегодня, специально для начинающих, я покажу несколько возможностей получения данной информации.
Надеюсь, Вы понимаете, что все действия, которые мы будем рассматривать в данном материале, требуют определенных знаний в части Microsoft SQL Server и языка T-SQL, поэтому если Вы новичок, то я Вам рекомендую предварительно или после прочтения данной статьи и в случае возникновения тех ли иных вопросов, ознакомиться со следующими материалами:
-
; ;
- Кроме этого, для комплексного изучения языка SQL и T-SQL рекомендую посмотреть мои видеокурсы по T-SQL, которые помогут Вам «с нуля» научиться работать с SQL и программировать на T-SQL в Microsoft SQL Server.
Итак, давайте начинать, причин, по которым Вам может потребоваться узнать размер базы данных, много, также и способов это сделать тоже много. Начнем мы с самого простого, который показывает общий размер базы данных, причем все действия Вы будете делать с помощью мышки.
Примечание! В качестве СУБД в примерах ниже будет использована версия Microsoft SQL Server 2016 Express. На данном экземпляре SQL сервер создана база данных TestBase, размер которой мы и будем узнавать.
Узнаем размер базы данных с помощью SQL Server Management Studio
Данный способ подразумевает использование графического инструмента SQL Server Management Studio и заключается он в открытие свойств конкретной базы данных, где как раз и есть информация о ее размере.
Для того чтобы узнать размер базы данных с помощью Management Studio, открываем ее и в «Обозревателе объектов» выбираем нужную базу данных, кликаем по ней правой кнопкой мыши и выбираем «Свойства».
Данный способ, может быть, будет не удобен, если Вам, например, необходимо узнать размер каждого файла, который относится к базе данных (например, отдельно файл с данными и журнал транзакции) или у Вас несколько баз данных и Вам необходимо получить сведения сразу по всем.
Узнаем размер базы данных с использованием системной процедуры sp_helpdb
Следующий способ, можно сказать классический, подразумевает использованием системной хранимой процедуры sp_helpdb, которая может показать информацию как по одной базе данных, для этого в качестве параметра передаем имя базы данных, так и по всем, т.е. запускаем без параметров. В случае если мы указали конкретную базу данных, то SQL сервер нам вернет дополнительный результирующий набор, в котором мы увидим информацию обо всех файлах, относящихся к данной БД, включая их размер.
Как видите, нам вернулось два результирующих набора, первый общий, второй для каждого файла. Этот способ может быть для некоторых тоже не удобен, за счет того, что здесь мы используем процедуру. Поэтому переходим к следующему способу, который, как мне кажется, на текущий момент самый универсальный.
Определяем размер базы данных с помощью системного представления sys.database_files
Данный способ заключается в использовании системного представления sys.database_files, которое также возвращает много полезной информации в разрезе файлов базы данных.
Например, давайте с помощью данного представления определим общий размер базы данных в мегабайтах, а также размер каждого файла в текущей БД.
Размер базы данных в SQL сервере отображается в страницах по 8 КБ, поэтому для того чтобы посчитать размер БД в мегабайтах мы должны число, которое нам возвращает SQL сервер, не только поделить на 1024, но и умножить на 8, в примере выше использована сокращенная запись данной операции (1024/8=128), которая обычно используется в официальной документации.
В случае необходимости получить информацию о размере всех баз данных находящейся на текущем экземпляре SQL сервер, можно использовать представление sys.master_files, которое возвращает сведения обо всех файлах баз данных, расположенных на SQL Server.
Как Вы заметили, все три способа вернули нам одинаковый результат, так и должно быть, какой из способов Вам будет удобней использовать в той или иной ситуации, решать, конечно же, Вам, а у меня на этом все, удачи!
Работа с новым форматом файловой базы данных, начиная с "1С:Предприятие" 8.3.8
Начиная с версии платформы "1С:Предприятие" 8.3.8 появилась поддержка нового формата файловых баз данных (включая работу в режиме совместимости с предыдущими версиями). Новый формат файловых баз данных предназначен для ускорения процесса открытия и работы с информационной базой, поэтому, начиная с версии платформы 8.3.9, новый формат используется по умолчанию при создании новых файловых баз данных.
В новом формате (версии " 8.3.8" ) появились следующие возможности:
- Уменьшен размер и оптимизирована структура заголовка с метаинформацией в файле 1Cv8.1CD . Это позволяет существенно снизить число операций чтения файла при открытии базы данных и, тем самым, заметно ускорить время старта и начала работы программы.
- Теперь можно настраивать размер внутренней страницы файла данных. Это размер порции данных, в которых хранится информация и которыми обменивается программа с файловой системой. Предыдущий формат файловой базы данных (версии " 8.2.14" ) поддерживал единственный размер внутренней страницы файла – 4Кб . Новый формат по умолчанию использует размер страницы 8Кб , но позволяет его менять в диапазоне от 4Кб до 64Кб .
Наибольший эффект от использования нового формата файловых баз данных ожидается в следующих сценариях:
- "холодный" запуск программы,
- работа с файлами базы данных по локальной сети,
- работа с сильно фрагментированной базой данных,
- использование дисковых подсистем с невысокой производительностью.
При создании новых файловых баз данных рекомендуется использовать настройки формата базы по умолчанию (версия формата " 8.3.8 ", размер страницы файла 8Кб ). Если Вы используете базу данных, созданную в предыдущих версиях платформы, и наблюдаете недостаточно высокую производительность при старте и во время работы программы, то рекомендуется сконвертировать базу данных на новый формат файла.
Для преобразования формата файловой базы данных в комплектацию поставки платформы "1С:Предприятие" добавлена утилита CNVDBFL.EXE , которая должна находиться в папке " \bin " вашей установки "1С:Предприятие". Например, полный путь к папке, где находится утилита, может быть " C:\Program Files (x86)\1cv8\8.3.9.1850\bin ", где " 8.3.9.1850 " – номер версии установленной платформы "1С:Предприятие". В этой же папке находятся другие исполняемые файлы платформы, такие как, например, "1Cv8.exe".
Если Вы не можете найти утилиту CNVDBFL.EXE в папке " \bin ", проверьте, что Вы используете версию "1С:Предприятие" 8.3.8 и выше.
Подробно про использование утилиты CNVDBFL.EXE можно почитать в документации по администрированию "1С:Предприятие", или в документации: "Утилита преобразования cnvdbfl". Также информация о возможностях и командах утилиты CNVDBFL.EXE выводится при её запуске без параметров, или с ключом " -h ".
Если Вы хотите проверить параметры Вашей файловой базы данных, используйте следующий вызов утилиты (указав в команде правильный путь к Вашей базе данных):
При этом утилита выведет версию формата файла и размер страницы.
Версия формата " 8.3.8 " указывает на то, что используется новый формат файла. Версия формата " 8.2.14 " означает, что формат – старый, и имеет смысл выполнить конвертацию базы данных в новый формат.
Размер страницы может принимать одно из значений: 4096 , 8192 , 16384 , 32768 , или 65536 байт. Для старой версии формата файла используется размер страницы 4096 байтов ( 4Кб ), для новой версии по умолчанию установлен размер в 8192 байта ( 8Кб ).
Для конвертации файловой базы данных Вы можете использовать следующую команду:
где 16k замените на нужный размер страницы файла ( 4k , 8k , 16k , 32k , или 64k ) и укажите правильный путь к Вашей базе данных.
ВНИМАНИЕ!
Напоминаем, что чтобы избежать риска потери Ваших данных, всегда имейте свежую резервную копию Вашей файловой базы данных перед выполнением операции конвертации файлов.
Читайте также: