Один или несколько файлов не соответствуют основному файлу базы данных

Обновлено: 06.07.2024

Пробовал убрать галочку для этой проверки- не помогло.
Сервер писал как IP так и servermane.
Пробовал по новой создавать базы на сервере 1С.

Все в локальной сети происходит. Пользователей всего 2.

SQL 2016
1С:Предприятие 8.3 (8.3.10.2772)
Релизы предпоследние на 24.10.2018

С этим можно что-то сделать?

(1) Вот совсем НИЧЕГО не понятно.
Вы пишете

После переноса базы на новый SQL сервер и сервер 1С

Так перемещалась или нет.

так и в чем проблема то?
Ну определила база, что подозрение на перемещение или копию..спросила при первом запуске,
далее ответили ей, что мол это копия, или это рабочая но в другом месте.
Она это запомнила.
И все.

Что еще нужно сделать то ?

(5)Вы очень путано выражаете свои мысли!
Объясните наконец перемещалась база или нет - вы же пишете противоположные высказывания.

Если вы укажете в этой форме что база была ПЕРЕМЕЩЕНА, то ничего не изменится в самой базе, ибо она будет себя считать оригиналом и подразумевается, что других таких баз больше нет. Это очень важно, когда скажем есть шанс сдачи одной отчетности из разных баз и тп.

Если вы укажете , что это КОПИЯ БАЗЫ, то она отключается от интернет поддержки и сервисов , опять же по выше указанным возможным причинам.
-
Если вы хотите восстановить у копии базы Интернет поддержку и сервисы то и нужно туда сходить и включить их на свой страх и риск, понимая всю опасность двойной передачи документов

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

Либо, все таки причина в сервере, и какие то параметры сервера меняются. тут тоже надо рыть

(8) ИБ не перемещается, а окно вылазиет и не понятно при каких обстоятельствах. 2 бухгалтера входят несколько раз в неделю в разно время.

Я получил эту ошибку, когда проверил мою базу данных из исходного элемента управления. Может показаться странным проверять базу данных sql-сервера, но это было то, что я сделал, потому что это всего лишь личный проект.

спросил(а) 2020-03-26T10:51:44+03:00 1 год, 7 месяцев назад

Как упоминалось другими плакатами, вы действительно не хотите проверять файлы базы данных в исходном элементе управления и из него.

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

Сначала отделите базу данных, затем удалите файл ldf, снова подключите базу данных.

Вот как я решил свою проблему.

ответил(а) 2020-03-26T11:10:29.506780+03:00 1 год, 7 месяцев назад

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

Если вам абсолютно необходимо это сделать, вы должны выполнить резервное копирование версии.

Я рекомендую версировать script, который создает всю базу данных (таблицы, sprocs, views и т.д.)

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

ответил(а) 2020-03-26T10:51:44+03:00 1 год, 7 месяцев назад

Это похоже на то, что файлы данных не соответствуют структурным файлам вашей базы данных.

В скором времени файлы, в которых находятся ваши данные (например, строки таблицы), являются (в основном) не файлами, в которых хранится структура ваших данных (например, описание таблиц). По крайней мере, в "современных" системах РСУБД. Таким образом, вы проверили свои данные, и в базе данных были обнаружены некоторые изменения в структуре, которые произошли до этого времени (вы изменили таблицу или что-то в этом роде).

ответил(а) 2020-03-26T10:51:44+03:00 1 год, 7 месяцев назад

Вы взяли копию файла журнала (.ldf), а также файл ".mdf"? Вам нужен соответствующий набор как для повторного присоединения базы данных

Каждая база данных SQL Server имеет как минимум два рабочих системных файла: файл данных и файл журнала. Файлы данных содержат данные и объекты, такие как таблицы, индексы, хранимые процедуры и представления. Файлы журнала содержат сведения, необходимые для восстановления всех транзакций в базе данных. Файлы данных могут быть объединены в файловые группы для удобства распределения и администрирования.

Файлы базы данных

SQL Server имеют три типа файлов.

Файл Описание
Первичная Содержит сведения, необходимые для запуска базы данных, и ссылки на другие файлы в базе данных. В каждой базе данных имеется один первичный файл данных. Для имени первичного файла данных рекомендуется расширение MDF.
Вторичная Необязательные определяемые пользователем файлы данных. Данные могут быть распределены на несколько дисков, в этом случае каждый файл записывается на отдельный диск. Для имени вторичного файла данных рекомендуется расширение NDF.
Журнал транзакций Журнал содержит информацию для восстановления базы данных. Для каждой базы данных должен существовать хотя бы один файл журнала. Для файлов журнала транзакций рекомендуется расширение LDF.

Например, простая база данных с именем Sales включает один первичный файл, содержащий все данные и объекты, и один файл журнала, содержащий сведения журнала транзакций. Более сложная база данных с именем Orders может содержать один первичный файл и пять вторичных файлов. Данные и объекты внутри базы данных распределяются по всем шести файлам, а четыре файла журнала содержат сведения журнала транзакций.

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

Логические и физические имена файлов

Файлы SQL Server имеют два типа имен файлов.

logical_file_name: имя, используемое для ссылки на физический файл во всех инструкциях Transact-SQL. Логическое имя файла должно соответствовать правилам для идентификаторов SQL Server и быть уникальным среди логических имен файлов в соответствующей базе данных.

os_file_name: имя физического файла, включающее путь к каталогу. Оно должно соответствовать правилам для имен файлов операционной системы.

Дополнительные сведения об аргументах NAME и FILENAME см. в статье Параметры ALTER DATABASE ((Transact-SQL)) для файлов и файловых групп.

Файлы данных и файлы журналов SQL Server могут использоваться как в файловой системе FAT, так и в системе NTFS. В системах Windows рекомендуется использовать файловую систему NTFS по причинам ее большей безопасности.

Файловые группы, доступные как для чтения, так и для записи, а также файлы журналов не поддерживаются со сжатой файловой системой NTFS. В сжатую файловую систему NTFS разрешено помещать лишь доступные только для чтения базы данных и доступные только для чтения вторичные файловые группы. Для экономии места настоятельно рекомендуется использовать сжатие данных вместо сжатия файловой системы.

Если на одном компьютере запущено несколько экземпляров SQL Server, каждый экземпляр получает отдельный каталог по умолчанию для хранения файлов баз данных, созданных в этом экземпляре. Дополнительные сведения см. в разделе Расположение файлов для экземпляра по умолчанию и именованных экземпляров SQL Server.

Размер файла

Файлы SQL Server могут автоматически увеличиваться в размерах, превосходя первоначально заданные показатели. При определении файла пользователь может указывать требуемый шаг роста. Каждый раз при заполнении файла его размер увеличивается на указанный шаг роста. Если в файловой группе имеется несколько файлов, их автоматический рост начинается лишь по заполнении всех файлов.

Дополнительные сведения о страницах и их типах см. в разделе Руководство по архитектуре страниц и экстентов.

Кроме того, можно указать максимальный размер каждого файла. Если максимальный размер файла не указан, файл может продолжать увеличиваться в размерах, пока не займет все доступное место на диске. Эта функция особенно полезна в случаях, когда SQL Server используется в качестве базы данных, внедренной в приложение, где пользователь не имеет удобного доступа к системному администратору. По мере необходимости пользователь может предоставить файлам возможность увеличиваться в размерах автоматически, тем самым снимая с администратора часть забот по наблюдению за свободным пространством базы данных и по распределению дополнительного пространства вручную.

Дополнительные сведения об управлении файлами журнала транзакций см. в разделе Управление размером файла журнала транзакций.

Файлы моментального снимка базы данных

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

  • Данные моментального снимка базы данных, созданного пользователем, хранятся в одном или нескольких разреженных файлах. Технология разреженных файлов является свойством файловой системы NTFS. Изначально разреженный файл не содержит данных пользователя, и место на диске под него не выделяется. Общие сведения об использовании разреженных файлов в моментальных снимках базы данных и о том, как растут моментальные снимки базы данных, см. в разделе Просмотр размера разреженного файла моментального снимка базы данных.
  • Моментальные снимки базы данных могут использоваться внутренними механизмами при выполнении определенных команд DBCC. Эти команды включают DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKALLOC и DBCC CHECKFILEGROUP. Внутренним моментальным снимком базы данных используются разреженные дополнительные потоки данных исходных файлов базы данных. Подобно разреженным файлам, дополнительные потоки данных являются свойством файловой системы NTFS. Использование разреженных дополнительных потоков данных позволяет связать несколько расположений данных с одним файлом или папкой, не затрагивая при этом размер файла или статистику тома.

Файловые группы

  • Эта файловая группа содержит первичный файл данных и все вторичные файлы, не входящие в другие файловые группы.
  • Пользовательские файловые группы могут создаваться для удобства администрирования, распределения и размещения данных.

Например, Data1.ndf , Data2.ndf и Data3.ndf могут быть созданы на трех дисках соответственно и отнесены к файловой группе fgroup1 . В этом случае можно создать таблицу на основе файловой группы fgroup1 . Запросы данных из таблицы будут распределены по трем дискам, и это улучшит производительность. Подобного улучшения производительности можно достичь и с помощью одного файла, созданного на чередующемся наборе дискового массива RAID. Тем не менее файлы и файловые группы позволяют без труда добавлять новые файлы на новые диски.

Все файлы данных хранятся в файловых группах, перечисленных в следующей таблице.

Файловая группа Описание
Первичная Файловая группа, содержащая первичный файл. Все системные таблицы являются частью первичной файловой группы.
Данные, оптимизированные для памяти В основе оптимизированной для памяти файловой группы лежит файловая группа файлового потока.
Файловый поток
Определяемые пользователем маршруты Любая файловая группа, созданная пользователем при создании или изменении базы данных.

Файловая группа по умолчанию (первичная)

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

Файловая группа PRIMARY является группой по умолчанию, если только она не была изменена инструкцией ALTER DATABASE. Системные объекты и таблицы распределяются внутри первичной файловой группы, а не новой файловой группой по умолчанию.

Файловая группа данных, оптимизированных для памяти

Дополнительные сведения об оптимизированных для памяти файловых группах см. в разделе Оптимизированные для памяти файловые группы.

Файловая группа файлового потока

Дополнительные сведения о файловых группах файлового потока см. в статьях FILESTREAM и Создание базы данных с поддержкой FILESTREAM.

Пример файлов и файловых групп

В следующем примере создается база данных на основе экземпляра SQL Server. База данных содержит первичный файл данных, пользовательскую файловую группу и файл журнала. Первичный файл данных входит в состав первичной файловой группы, а пользовательская файловая группа состоит из двух вторичных файлов данных. Инструкция ALTER DATABASE придает пользовательской файловой группе статус файловой группы по умолчанию. Затем создается таблица, определяющая пользовательскую файловую группу. (В этом примере используется универсальный путь к c:\Program Files\Microsoft SQL Server\MSSQL.1 , чтобы не указывать версию SQL Server.)

Данная иллюстрация обобщает все вышесказанное (кроме данных файлового потока).

Стратегия заполнения файлов и файловых групп

В файловых группах для каждого файла используется стратегия пропорционального заполнения. При записи данных в файловую группу компонент Компонент SQL Server Database Engine записывает в каждый файл количество данных, пропорциональное свободному пространству этого файла, вместо записи всех данных в первый файл до его заполнения. Затем запись производится в следующий файл. Например, если в файле f1 свободно 100 МБ, а в файле f2 — 200 МБ, то в файл f1 записывается одна часть данных, а в файл f2 — две части, и так далее. Таким образом, оба файла будут заполнены примерно в одно и то же время, и достигается простейшее распределение данных между хранилищами.

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

Правила проектирования файлов и файловых групп

Для файлов и файловых групп действуют следующие правила:

  • файл или файловая группа не могут использоваться несколькими базами данных. Например, файлы sales.mdf и sales.ndf, содержащие данные и объекты базы данных sales, не могут использоваться никакой другой базой данных.
  • файл может быть элементом только одной файловой группы;
  • файлы журнала транзакций не могут входить ни в какие файловые группы.

Рекомендации

Рекомендации при работе с файлами и файловыми группами:

  • Для большинства баз данных достаточно использовать один файл данных и один файл журнала транзакций.
  • При использовании множества файлов данных создайте вторую файловую группу с дополнительным файлом и сделайте ее файловой группой по умолчанию. Тогда в первичном файле будут храниться только системные таблицы и объекты.
  • Чтобы увеличить производительность, по возможности разнесите файлы и файловые группы по нескольким доступным дискам. Объекты, активно конкурирующие за свободное пространство, поместите в разные файловые группы.
  • Используйте файловые группы для целенаправленного размещения объектов на конкретных физических дисках.
  • Помещайте разные таблицы, использующиеся в одних и тех же запросах с соединениями, в разные файловые группы. Этот этап увеличит производительность, так как для поиска соединяемых данных можно будет использовать параллельный ввод-вывод.
  • Часто используемые таблицы и некластеризованные индексы, относящиеся к ним, помещайте в разные файловые группы. Использование разных групп файлов увеличит производительность, так как можно будет использовать параллельный ввод и вывод, если файлы находятся на разных жестких дисках.
  • Не помещайте файлы журнала транзакций на тот же физический диск, где находятся другие файлы и файловые группы.
  • Если необходимо расширить том или раздел, в котором находятся файлы базы данных, с помощью таких средств, как Diskpart, следует сначала выполнить резервное копирование всех системных и пользовательских баз данных и остановить службы SQL Server. Кроме того, после успешного расширения томов дисков рекомендуется выполнить команду DBCC CHECKDB , чтобы обеспечить физическую целостность всех баз данных в томе.

Дополнительные рекомендации по управлению файлами журнала транзакций см. в разделе Управление размером файла журнала транзакций.

В сегодняшней статье я хочу поговорить об очень важной теме SQL Server: как SQL Server обрабатывает файловые группы файлов. Когда вы используете команду CREATE DATABASE для создания простой базы данных, SQL Server создает для вас 2 файла:

  • Файл данных (.mdf)
  • Файл журнала транзакций (.ldf)

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

Когда вы создаете дополнительные файловые группы для своих данных, вы можете сохранять в них определяемые вами таблицы и индексы. Это поможет вам во многих отношениях.

  • Вы можете сохранить свою основную файловую группу небольшой.
  • Вы можете разделить данные на несколько файловых групп (например, вы можете использовать файловые разделы в корпоративной версии).
  • Вы можете выполнять операции резервного копирования и восстановления на уровне файловой группы. Это дает вам более точный контроль над стратегиями резервного копирования и восстановления.
  • Команду DBCC CHECKDB можно запустить на уровне группы файлов, а не на уровне базы данных.

Как правило, у вас должна быть хотя бы одна группа подчиненных файлов, в которой вы можете хранить создаваемые вами объекты базы данных. Вы не должны хранить другие системные объекты, созданные SQL Server для вас, в основной файловой группе.

Когда вы создаете свою собственную файловую группу, вы также должны поместить в нее хотя бы один файл. Кроме того, в файловую группу можно добавлять дополнительные файлы. Это также улучшит вашу производительность загрузки, потому что SQL Server будет распространять данные по всем файлам, так называемые Алгоритм Round Robin Allocation (Алгоритм Round Robin Allocation). Первые 64 КБ хранятся в первом файле, вторые 64 КБ хранятся во втором файле, а третья область сохраняется в первом файле (в вашей файловой группе, когда у вас есть 2 файла).

Используя этот метод, SQL Server может находиться в буферном пуле Защелка выделяет несколько копий растровых страниц (PFS, GAM, SGAM) и повышает производительность загрузки. Вы также можете использовать этот метод для решения той же проблемы с конфигурацией по умолчанию в TempDb. Кроме того, SQL Server также гарантирует, что все файлы в группе файлов будут заполнены в один и тот же момент времени - с помощью так называемого Алгоритм пропорционального заполнения . Поэтому очень важно, чтобы все ваши файлы в группе файлов имели одинаковый начальный размер и параметры автоматического увеличения. в противном случае Алгоритм распределения циклического планирования не может работать должным образом.

Теперь мы рассмотрим следующий пример, как создать базу данных с несколькими файлами в группе дополнительных файлов. В следующем коде показана команда CREATE DATABASE, которую необходимо использовать для выполнения этой задачи.

После создания базы данных возникает вопрос, как поместить таблицу или индекс в определенную файловую группу? Вы можете использовать ключевое слово ON, чтобы вручную указать группу файлов, как показано в следующем коде:

Другой вариант: вы помечаете определенную группу файлов как группу файлов по умолчанию. Затем SQL Server автоматически создает новый объект базы данных в группе файлов, в которой не указано ключевое слово ON.

Это метод, который я обычно рекомендую, потому что вам больше не нужно думать об этом после создания объектов базы данных. Итак, теперь давайте создадим новую таблицу, которая будет автоматически сохранена в файловой группе FileGroup1.

Теперь проводим простой тест: вставляем в таблицу 40 000 записей. Каждая запись имеет размер 8 КБ. Итак, мы вставили в таблицу 320 МБ данных. Это то, что я только что упомянул Алгоритм распределения расписания опроса будет работать: SQL Server будет распределять данные между 2 файлами: первый файл содержит 160 МБ данных, а второй файл также будет иметь 160 МБ данных.

Затем вы можете проверить его на жестком диске, и вы увидите тот же размер, что и два файла.


Когда вы помещаете эти файлы на разные физические жесткие диски, вы можете получить к ним доступ одновременно. Это сила наличия нескольких файлов в файловой группе.

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

В сегодняшней статье я показал вам, как несколько групп файлов и несколько файлов в группе файлов упрощают управление вашей базой данных и как использовать несколько файлов в группе файлов. Алгоритм распределения циклического планирования.

Читайте также: