Вход | Регистрация
 

Перенос sql базы на файловую

Перенос sql базы на файловую
Я
   Сибиряк_1Ц
 
30.09.21 - 02:15
Пробовал перенести: 1. выгрузкой загрузкой 2. через обработку обмена (загрузив конфигурацию), не получается. Постоянно выскакивает ошибка: Ошибка DMBS: Превышен максимально допустимый внутренний размер файла
Есть опыт в решении вопроса?
   Aleksey
 
1 - 30.09.21 - 02:19
Конечно, но тебе они не помогут
   ДенисЧ
 
2 - 30.09.21 - 05:27
Удалить интересные видео из файловых вложений для начала.
   Обработка
 
3 - 30.09.21 - 05:45
(0) Это означает что файловую вам не создать.
Какая-то таблица уже перешла пределы размеров для файловой базы.
Надо или свертывать или оставаться или постгри.
   Гипервизор
 
4 - 30.09.21 - 07:47
(0) Маловероятно, но уточню. Платформа у вас >= 8.3.8?
   Winnie Buh
 
5 - 30.09.21 - 08:11
(0)> Ошибка DMBS: Превышен максимально допустимый внутренний размер файла

что именно не понятно в этом сообщении?
достигнут предельный размер внутреннего файла для файлового варианта
если это не глюк, то вариант только один - сворачивать исходную базу, из которой производится выгрузка,
и да, надо было указать конфигурацию, а то может у вас там ERP
   Chai Nic
 
6 - 30.09.21 - 08:16
1cd - это по сути контейнер с файлами. Каждый "файл" - это таблица данных или индекс или ещё какая хрень. Так вот, у внутреннего файла есть ограничение в 4Гб. С версии 8.3.8 это ограничение можно "подвинуть" до 6Гб, перейдя на увеличенный размер страницы. Ограничение в данном случае не техническое, а прибито гвоздями, но селяви - это 1с.
   Winnie Buh
 
7 - 30.09.21 - 08:16
(4) 100% новая база создавалась на платформе выше 8.3.8 со страницами 8К и расширенным лимитом до 6Гб на внутренний файл,
играться утилитой CNVDBFL.EXE с размером страниц смысла не имеет
   Мультук
 
8 - 30.09.21 - 08:18
(0)

Какова цель переноса в файловую?
   Chai Nic
 
9 - 30.09.21 - 08:20
Если цель в том, чтобы легализоваться с пиратки, но при этом не платить за сервер, то путь только один - предварительно найти в sql самую жирную таблицу и принять меры к её уменьшению.
   Гипервизор
 
10 - 30.09.21 - 09:04
(7) Ну, чудеса случаются. Кто знает, что за конфигурация и насколько старая.
   VS-1976
 
11 - 30.09.21 - 09:12
(0) попробуй в конфигураторе сделать исправления, типа пересоздание индекса и таблиц, а потом выгрузи в дт
   Chai Nic
 
12 - 30.09.21 - 09:29
Лучше уговорите хозяина потратиться на сервер 1с. Всего то полсотни тыр, и проблема решена. А если пользователей до 5, то и мини-сервер пойдет за 14400.
   Winnie Buh
 
13 - 30.09.21 - 09:42
странно, что при ошибке с сообщением о превышении максимального размера ТС ни словом не обмолвился про фактический размер базы
   МимохожийОднако
 
14 - 30.09.21 - 09:46
ОФФ: ТС закопали...
   Конструктор1С
 
15 - 30.09.21 - 10:21
Если скуль, стрельни в SSMS скриптом

USE test_base

GO

SELECT
    tab.name AS TableName,
    part.rows,
    CAST(SUM(allocat.total_pages) * 8 / 1024.00 AS numeric(20,2)) AS TotalMB,
    CAST(SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UsedMB,
    CAST(SUM(allocat.total_pages) - SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UnusedMB
FROM
    sys.tables tab
INNER JOIN      
    sys.indexes idx ON tab.object_id = idx.object_id
INNER JOIN
    sys.partitions part ON idx.object_id = part.object_id AND idx.index_id = part.index_id
INNER JOIN
    sys.allocation_units allocat ON part.partition_id = allocat.container_id
GROUP BY 
    tab.name, part.rows
ORDER BY 
    TotalMB DESC

GO
   Конструктор1С
 
16 - 30.09.21 - 10:22
USE test_base

тут нужно поменять

USE <имя_твоей_базы>
   Конструктор1С
 
17 - 30.09.21 - 10:30
Потом смотри какие у тебя самые большие таблицы, и прикидывать что в них за данные. Может там какой-нибудь мусор типа служебных логов, или вложенные файлы
   Конструктор1С
 
18 - 30.09.21 - 10:37
Сорри, пару скобочек потерял

USE test_base

GO

SELECT
    tab.name AS TableName,
    part.rows,
    CAST(SUM(allocat.total_pages) * 8 / 1024.00 AS numeric(20,2)) AS TotalMB,
    CAST(SUM(allocat.used_pages) * 8 / 1024.00 AS numeric(20,2)) AS UsedMB,
    CAST((SUM(allocat.total_pages) - SUM(allocat.used_pages)) * 8 / 1024.00 AS numeric(20,2)) AS UnusedMB
FROM
    sys.tables tab
INNER JOIN      
    sys.indexes idx ON tab.object_id = idx.object_id
INNER JOIN
    sys.partitions part ON idx.object_id = part.object_id AND idx.index_id = part.index_id
INNER JOIN
    sys.allocation_units allocat ON part.partition_id = allocat.container_id
GROUP BY 
    tab.name, part.rows
ORDER BY 
    TotalMB DESC

GO
   Сибиряк_1Ц
 
19 - 30.09.21 - 11:40
Спасибо, понял. (все лицензионное!)
   Winnie Buh
 
20 - 30.09.21 - 11:47
(19) это прекрасно, но в файловом варианте данная база все равно не взлетит
   VladZ
 
21 - 30.09.21 - 11:50
(0) Есть оптимальное решение: оставить на SQL.
   Конструктор1С
 
22 - 30.09.21 - 12:03
(19) селекты крутить через ssms не запрещено лицензией
   Winnie Buh
 
23 - 30.09.21 - 12:03
(21) как понимаю автору нужно запустить копию базы локально на своем ПК для каких-то доработок
   VladZ
 
24 - 30.09.21 - 12:08
(23) Поднять SQL-сервер для таких задач.
   Winnie Buh
 
25 - 30.09.21 - 12:10
(24) это слишком простой и очевидный вариант,
автор хочет файловую с танцами и бубнами


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.