Ограничения MSSQL Express - чего-то я недопонимаю...

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. MaxDavid 127 02.02.12 20:02 Сейчас в теме
Смотрите, что написано в Вики (http://ru.wikipedia.org/wiki/Microsoft_SQL_Server ):
"4 Гб максимальный размер базы (10 Гб для версии SQL Server 2008 R2)"
Недавно столкнулся с переносом периферийной базы с *.dbf-версии на SQL, причем ставил именно на MS SQL Express 2008R2.
Перенос прошел корректно, но в итоге размер базы приблизился к критическому (9,7 Gb). Ну, я честно предупредил клиентов о приближении к пороговому значению, посоветовал сворачивать базу и удалился.
Через некоторое время вызывают - не могут принять загрузку с центральной базы. Вроде все понятно - размер базы уперся в ограничение. Объяснил ситуацию, еще раз поднял тему свертки. На всякий случай залез в базу, раскидал данные на два файла (*.mdf и *.ndf), ушел. Ожидал быстрого вызова (им же надо загрузку принимать), но его не было.
Зайдя через несколько дней, был немало удивлен тем, что после разнесения базы в разные файлы ЗАГРУЗКА ПРОШЛА! Зашел, проверил размер базы. Суммарный объем двух файлов ПРЕВЫСИЛ 10 Гб (разумеется, *.log-файл я не учитывал).
Но при этом база работает, без ошибок и вопросов.
В связи с этим хотелось бы уточнить некоторые вопросы:
1) Что за ограничение непонятное такое? Ведь оно действует не на размер каждого из файлов базы, а на всю базу.
2) Чем это может грозить клиенту.
3) Какие действия стоит предпринять в этой ситуации - как мне, так и клиенту )
KirealSmith; +1 Ответить
Вознаграждение за ответ
Показать полностью
Найденные решения
68. alexk-is 6546 08.03.12 11:07 Сейчас в теме
(61) База ещё не превысила ограничение в 10 Гб, но скоро превысит...
10 Гб это 10240 Мб. Так что осталось ждать не долго...

А я ведь повелся. Думал, в самом деле, удалось преодолеть ограничение.
18101986; Sley; buh472; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
8. mayer 03.02.12 19:33 Сейчас в теме
(1) MaxDavid, очевидно, осталось только уломать клиента свернуть базу ;)
Однако, если все таки, бесплатность Express - не вопрос, ставь R2 Developer и забудь про всё ( = Datacenter edition, только для разработки, тестирования и демонстраций).

Ответ очевиден. Или у Вас с заказчиком одно желание? Посмотреть чем все кончится? ;)
2. userrxx 02.02.12 20:32 Сейчас в теме
MS SQL Express 2008R2 - он не умеет увеличивать базы больше 10 гигабайт , но с базой больше 10 гигабайт созданной например в другой редакции он работать будет.
3. MaxDavid 127 02.02.12 20:39 Сейчас в теме
(2) Слышал о таком, но в данном случае база разрослась именно самостоятельно, без подсовывания извне.
4. userrxx 02.02.12 20:45 Сейчас в теме
База работать будет , но изменения сделать не даст , попробуйте например изменить таблицу.
5. MaxDavid 127 02.02.12 22:35 Сейчас в теме
(4) Недопонял. Ограничение на размер базы все-таки, или на изменение таблиц?
7. userrxx 03.02.12 09:52 Сейчас в теме
(5) MaxDavid, ситуация такая - это неоднократно обсуждалось на SQL форумах. Ограничение есть , но если при достижении границы , полностью убить , процес Sql , а потом подключить базу обратно , то все будет работать.
Но внести измения (модифицировать) таблицу будет нельзя или , второй вариант , разбить базу на части, меньше ограничения , то же будет работать.
Еще вариант , есть евалюшн версия на 180 дней без ограничений, но придется раз в полгода переставлять.
ABTOMOHTEP; rkuksa; +2 Ответить
9. MaxDavid 127 04.02.12 11:44 Сейчас в теме
(7)
У меня, похоже, второй вариант.
Нельзя ли ссылочку на подобные обсуждения? Если запрещено изменение структуры таблиц - следовательно, придется забыть об изменениях структуры базы данных, а вот текст модулей я смогу менять?
(8)
Для того, чтобы клиент выделил деньги на лицензионный SQL, мне необходимо объяснить ему, чем грозит продолжение работы с Express-версией. Кроме того, я сам не люблю, когда не понимаю логику работы приложения.
6. bdlk 7 03.02.12 08:20 Сейчас в теме
На 2005 наблюдаю аналогичную картину. Есть база (не 1С), разрослась до 4 и остановилась, разбили на 2 файла и прекрасно работает.
10. userrxx 04.02.12 17:07 Сейчас в теме
Если база больше 10 Gb , за небольшой период , то предполагаю , что речь идет о большой организации с большим документооборотом, следовательно с достаточно большим оборотом финансовых ресурсов. А если речь идет только о большом размере базы , то ее надо свернуть. Пусть клиент сам выбирает . Странно только , что про ограничение 1Gb оперативной памяти не мешает работе.

Проблемы возникают , именно при модификации таблиц , вы отдаете команду на принятие изменений , в этот момент происходит проверка на граничные условия и все.
Bryuhanov; +1 Ответить
11. MaxDavid 127 05.02.12 00:36 Сейчас в теме
(10)
10 Гб - за два года. Ограничение в 1Гб оперативки не мешает, потому что база периферийная и в ней одновременно работают не более 8 человек.
Проблемы возникают , именно при модификации таблиц , вы отдаете команду на принятие изменений , в этот момент происходит проверка на граничные условия и все.

Еще раз попрошу ссылку, если не сложно. Как-то совсем неочевидно это все (
12. userrxx 05.02.12 08:06 Сейчас в теме
Например , вот-
1. Есть ли ограничение по объему данных в SQL express версий 2005, 2008 ?

SQL Express 2005, 2008 - максимальный объем базы данных 4 гигабайта.
SQL Express 2008 R2 - максимальный объем базы данных 10 гигабайт.

Но! В SQL Express 2008 R2 - можно включить технологию Remote Blob Storage, где BLOB данные (большие двоичные наборы данных или файлы) хранятся не в базе SQL сервера, а в файловой папке на SQL сервере. Использование данной технологии позволяет сохранять в SharePoint до нескольких терабайт данных. Давайте попробуем прикинуть. Например вы настроили в базе данных DeskWork использование технологии RBS. Допустим что на накладные расходы и метаданные у Вас ушло при "чистом" портале DeskWork 2 Gb (Будем брать по самому максимому).
Например, за несколько лет эксплуатации портала у Вас накопилось 100 000 документов и файлов во всех библиотеках и списках на портале, предположим, что на каждый документ уходит 5 килобайт метаданных, тогда метаданные займут около 0.5 гигабайта, допустим средний размер каждого файла - 5 мегабайт, тогда получается что в базе данных SQL занято 2,5 Гигабайта, в хранилище RBS - 0,5 терабайта.
Т.е. даже грубые расчеты говорят, что при использовании RBS за ограничения на объем данных SQL Express 2008 R2 в 10Gb можно не переживать.

>> 2. Какие файлы или папки с документами физически лежат на диске и где, а не в SQL express или по-прежнему все файлы документов лежат в SQL ?

- ответ тот-же, если не использовать технологию Remote Blob Storage, то все лежит в базе SQL сервера, если использовать, то файлы будут лежать в папке RBS хранилища на диске.
19. AlexO 136 06.02.12 13:30 Сейчас в теме
(12) "если использовать, то файлы будут лежать в папке RBS хранилища на диске." - и как это все бэкапить? целым диском?
(17) видимо, у него как раз тот случай, когда SQL взял под себя дисковое пространство, но таблицы не были заполнены полностью - работа же шла нормально.
Он создал второй файл, и стал заполняться второй файл. А при достижении предела - уже разбито на два файла.
А у вас сразу ограничение отрабатывает, видимо..
20. alexk-is 6546 06.02.12 13:44 Сейчас в теме
(19) Ограничение срабатывает даже на этапе выделения дискового пространства, разумеется при этом файлы базы совершенно пустые.
21. MaxDavid 127 06.02.12 16:26 Сейчас в теме
(20) У меня динамическое увеличение размера обоих файлов по мере заполнения... Прирост 10%, кажется.
В общем, дозвониться не смог, поэтому опишу, что помню:
База 7.7.
Ставил SQl не я, другой человек, он как-то шаманил со связкой 1с7.7-SQL, в частности, подменял dll-ки в системной папке на, кажется, от более старой версии. Потом еще ставил зачем-то MS SQL 2005 Express поверх 2008r2 - я так и не понял, какого икса.
В дальнейшем уже я, для преодоления проблем совместимости, ставил секретный релиз. В общем, гремучая смесь на выходе еще та. Но сама база 1С крутится на сервере SQL 2008, я смотрел специально, сервер 2005 не запускается вообще.
Можно было бы списать на замененные dll-ки, но как тогда объяснить появление предупреждения о превышении размера файлов?
Завтра еще раз зайду к ним лично, уточню в подробностях, может, еще что всплывет.
13. alexk-is 6546 05.02.12 19:06 Сейчас в теме
(0) Пытаюсь загрузить большую базу в 2008 R2, 10Гб и больше не лезет.
"раскидал данные на два файла" - это как?
14. MaxDavid 127 05.02.12 19:47 Сейчас в теме
(13)
Файлы базы данных
Базы данных SQL Server содержат файлы трех типов.
Первичные файлы данных.
Первичный файл данных является отправной точкой базы данных. Он указывает на остальные файлы базы данных. В каждой базе данных имеется один первичный файл данных. Для имени первичного файла данных рекомендуется использовать расширение MDF.
Вторичные файлы данных.
Ко вторичным файлам данных относятся все файлы данных, за исключением первичного файла данных. Некоторые базы данных могут вообще не содержать вторичных файлов данных, тогда как другие содержат несколько вторичных файлов данных. Для имени вторичного файла данных рекомендуется использовать расширение NDF.
15. alexk-is 6546 05.02.12 23:45 Сейчас в теме
(14) Вообще-то вопрос был о другом. Не о создании файлов, а о "раскидывании данных".
16. MaxDavid 127 06.02.12 00:08 Сейчас в теме
(15) Да не делал я ничего сверхъестественного, практически все свои действия описал в стартовом посте: создал второй файл. Если вы о закреплении определенных таблиц за конкретными файлами - то ничего такого не было, предоставил базе самой разбираться (вообще не был уверен в том, что трюк сработает).
Порядок моих действий:
1) Прихожу, убеждаюсь, что размер базы уперся в ограничитель. Шринкование ни к чему не приводит, свободного места в базе - 0,02% или около того. При этом обычная работа в базе идет, но принять обновление уже невозможно.
2) Создаю в файловой группе еще один файл, blabla.ndf. ВСЕ. Ухожу.
3) Через несколько дней вижу, что обновления принимаются, суммарный размер файлов превысил 10 Гб.
4) В изумлении пишу на форум )
17. alexk-is 6546 06.02.12 01:08 Сейчас в теме
(16) Может быть какая-нибудь особенная сборка MS SQL?
У меня 10.50.2500.0 и чтобы я не делал, упираюсь в общее ограничение файлов базы данных.
18. MaxDavid 127 06.02.12 06:15 Сейчас в теме
(17) Хм... Сегодня или завтра уточню и отпишусь.
22. cool.vlad4 2 06.02.12 16:34 Сейчас в теме
24. MaxDavid 127 07.02.12 23:35 Сейчас в теме
(22) В третьем посте я уже упоминал, что слышал о такой фишке. Но в данном случае размер базы превысил лимит во время работы пользователей.
25. alexk-is 6546 08.02.12 09:40 Сейчас в теме
(22) Попробовал. Не прокатило. Получил ту же ошибку про превышение суммарного объема файлов базы, но чуть в другой формулировке.
23. пользователь 07.02.12 21:28
Сообщение было скрыто модератором.
...
26. 1cvirus 14 08.02.12 21:42 Сейчас в теме
Так ка-же все-таки по правильному MS SQL обманывать? Я создавал в express 2005 базу, останавливал, подсовывал большую базу
27. itxr 33 08.02.12 22:51 Сейчас в теме
А у Вас точно стоит Express ??? Может отломал кто-то его? ) Потому как у меня не получается ни одним способом увеличить базу выше лимита )
28. GranVaz 09.02.12 22:25 Сейчас в теме
(27) basuga, объем базы вроде контролируется в момент записи/добавления данных самим SQL'ем. А при подключении существующей базы, позволяет и бОльший объем прицепить.
29. Andrey12Andrey 10.02.12 10:08 Сейчас в теме
При покупке MS SQL Server 2008r2 для него ничего докупать не надо?
30. пользователь 10.02.12 16:20
Сообщение было скрыто модератором.
...
31. пользователь 10.02.12 16:21
Сообщение было скрыто модератором.
...
32. пользователь 10.02.12 16:22
Сообщение было скрыто модератором.
...
33. пользователь 10.02.12 16:23
Сообщение было скрыто модератором.
...
34. victor_vv 11.02.12 15:01 Сейчас в теме
Есть ограничение по объему данных в SQL express

SQL Express 2005, 2008 - максимальный объем базы данных 4 Gb.
SQL Express 2008 R2 - максимальный объем базы данных 10 Gb.
35. serginios 12.02.12 10:17 Сейчас в теме
надо полный скл ставить
36. tigermonster 11 12.02.12 14:45 Сейчас в теме
согласен. полный SQL и никаких проблем. При очередной проблеме клиенту надо указать на это. Как известно, скупой платит дважды!
37. AlexO 136 12.02.12 21:09 Сейчас в теме
(36) tigermonster,
ну, на м*сте многие м*стописатели пользуют Экспресс и очень им довольны...
хотя лично я и не представляю, как можно нормально работать в таких ограничениях... разве что в фирме из 10 человек..
38. 1cvirus 14 12.02.12 23:11 Сейчас в теме
Нормально можно на нем работать, правда регламентные процедуры настраивать по хитрому и бэкапы, но в инете есть примеры
А 10 человек или меньше - не в этом дело, просто так надежнее
39. mazafaka007 13.02.12 00:48 Сейчас в теме
Подскажите пожалуйста
MS SQL 2005 Express ограничен для базы данных 4ГГБ
Глуповатый вопрос. А сколько таких баз данных можно разместить на сервере?
К примеру можно 20 баз по 4ГГБ
Случайно нет ограничений? Я нигде не нашёл об этом. Но мне важно заранее зать.
А то мне плохо будет.
Успокойте меня пожалуйста.
41. alexk-is 6546 15.02.12 21:47 Сейчас в теме
(39) Ограничения только на объем файлов с данными, относящихся к одной базе данных. Баз данных может быть очень много.
40. Barchuk 13.02.12 19:22 Сейчас в теме
Я думаю единственно правильный вариант - продать клиенту SQL Sever. Ребята, мы тут деньги зарабатываем или альтруистической фигней занимаемся? Если база достигла 10 гигов, то есть движения, значит и деньги у клиента есть, изъять их - вот главная задача.
42. CoverG 17.02.12 08:17 Сейчас в теме
а вы еще лицензию почитайте, там написано что применять SQL Express можете только для разработки... :)
43. GreenLab 87 19.02.12 01:04 Сейчас в теме
(42) CoverG, SQL Server Express 2008 R2 может может распространяться в составе конечного дистрибутива ПО сторонних разработчиков. Это прописано в лицензионном соглашении.
44. пользователь 20.02.12 12:25
Сообщение было скрыто модератором.
...
45. пользователь 21.02.12 07:45
Сообщение было скрыто модератором.
...
46. ПиН 21.02.12 16:13 Сейчас в теме
насколько я помню проблема с SQL Express еще и в ограничении используемых процессов или я не прав, поправте, поэтому даже если обмануть с размером, быстро работать сие чудо не будет...
47. erdos 21.02.12 20:29 Сейчас в теме
sql express еще имеет ограничение на объем ОЗУ - 1ГБ
48. HDA 22.02.12 16:43 Сейчас в теме
Ну если подойти творчески то что мешает создать что-то вроде OLAP куба из 3 SQL EXpresso-в.... :) хоть это конечно и непросто.. есть несколько вариантов.. но зато вместо денег микрософту деньги пойдут хорошему программисту.. по своей практике тоже стыкался с подобными приколами, тож удивлялся как он понимает больше 10Гб когда захочет а когда нет то нет... :) по наблюдениям он очень чуствителен к железу особенно к процам.. на AMD он как-то неправильно определяет параметры... хоть и работает чуть хуже..
49. AAA2011 1 24.02.12 08:56 Сейчас в теме
Shrink БД когда начинает разрастаться не помешает раз в месяц делать!!!
50. blackpopov 24.02.12 09:07 Сейчас в теме
Точно не помню гдеименно, но в SQL можно увеличивать размер базы (по средствам реестра) в инете найди!!!
51. b099ard 24.02.12 13:59 Сейчас в теме
Через Entrpraise Manager, в свойствах базы, можно сделать ресайз базы.
52. пользователь 24.02.12 21:31
Сообщение было скрыто модератором.
...
53. pumbaE 27.02.12 17:28 Сейчас в теме
57. MaxDavid 127 29.02.12 16:52 Сейчас в теме
(53) pumbaE, а разве 7.7 заведется под db2? Сходу ссылок (именно на 7.7) не нашел, поделитесь, если не жалко.
58. pumbaE 29.02.12 17:58 Сейчас в теме
(57) MaxDavid, извините в постановке задачи не увидел нигде 7.7 и предположил что 8.2, ну а дальше надеюсь понятен ход моих мыслей...
59. MaxDavid 127 29.02.12 18:15 Сейчас в теме
(58)pumbaE, напротив, это моя вина )). В стартовом посте упоминалось, что перевод идет с *.dbf версии (сиречь с 7.7), но не уточнялось, что SQL-платформа той же версии. Прошу прощения, что невольно ввел в заблуждение.
54. MaxDavid 127 29.02.12 11:22 Сейчас в теме
Апну тему.
Вчера история получила неожиданное продолжение.
При групповом проведении документов база опять ругнулась, на этот раз ошибку по моей просьбе заскринили:
"SQL State: 42000
Native: 1105
Message: [Microsoft][ODBC SQL Server Driver][SQL Server]Не удалось выделить место для объекта 'dbo._1SENTRY'.'PK__1SENTRY' в базе данных '****', поскольку файловая группа 'PRIMARY' переполнена. Выделите место на диске, удалив ненужные файлы, или объекты в файловой группе, добавив дополнительные файлы в файловую группу или указав параметр автоматического увеличения размера для существующих файлов в файловой группе."
То есть ничего сверхъестественного вроде бы.
В файловой группе размер одного файла ~9500Мб, второго - ~850Мб.
Зафиксировал бэкап, потом решил пойти проторенной дорожкой: создал в файловой группе "PRIMARY" еще один файл.
Проведение прошло.

Сегодня специально нашел повод заскочить к ним, просматриваю базу:
Первый файл - 9378Мб;
Второй - 816Мб;
Третий - 43Мб.
Авторасширение у всех - 10%, рост не ограничен.
При этом все работает.

Блин, не могу понять ВООБЩЕ, что происходит. Кафкианство какое-то.
Что же мне теперь, распылять базу по куче мелких файлов, что ли?


Справка-> О программе выдает следующее:
Microsoft SQL Server Management Studio 10.50.1617.0
Компоненты доступа к данным (MDAC) 3.86.3959
Microsoft MSXML 3.0 4.0 5.0 6.0
Microsoft Internet Explorer 9.0.8112.16421
Microsoft .NET Framework 2.0.50727.5448
Операционная система 6.1.7601

Свойства сервера:
Имя: SERVER\SQLEXPRESS
Продукт: Microsoft SQL Server Express Edition with Advanced Services
Версия: 10.50.1617.0
Кластеризован: False

Свойства базы данных:
Размер: 10236,75 МБ
Свободное место: 0,00 МБ

На всякий случай привожу данные таблицы _1SENTRY:
Место, занимаемое индексом: 1 898,219 MB
Число строк: 6153611
Пространство данных: 1 978,914 MB
60. valval 29.02.12 22:39 Сейчас в теме
(54) Вы можете сразу равномерно распределить данные по файлам.
Для этого создайте все файлы одного размера, а потом сделайте реиндексацию (_1sp_DBReindex).
Данные равномерно разольются по файлам. В каждом файле останется много места. Может, проблема и уйдет.
61. MaxDavid 127 29.02.12 23:07 Сейчас в теме
(60) Спасибо, попробую. А вы не скажете, за счет чего база превысила ограничение в 10 Гб?
62. valval 01.03.12 12:55 Сейчас в теме
(61) Нет, для меня это несколько неожиданно. Но если после реиндексации и равномерного распределения по файлам база будет работать устойчиво, значит контролируестся не размер базы, а размер файла. Такая информация была бы очень полезна.
68. alexk-is 6546 08.03.12 11:07 Сейчас в теме
(61) База ещё не превысила ограничение в 10 Гб, но скоро превысит...
10 Гб это 10240 Мб. Так что осталось ждать не долго...

А я ведь повелся. Думал, в самом деле, удалось преодолеть ограничение.
18101986; Sley; buh472; +3 Ответить
69. MaxDavid 127 08.03.12 12:58 Сейчас в теме
(68) Надо же, почти накаркал :))
Действительно, вчера база встала колом по достижении 10240Мб. Теперь остался только вопрос, почему она ругалась на размер и продолжала работать после создания новых файлов, но это более академический интерес, к практике имеющий самое отдаленное отношение.
55. Maxxi 29.02.12 15:14 Сейчас в теме
Попробовать удалить ненужные данные - подчистить базу, попробовать ужать базу
56. MaxDavid 127 29.02.12 16:48 Сейчас в теме
(55)Maxxi, свернуть базу можно без проблем, это ясно. Меня больше интересует причина такого поведения, т.к. непонятно, чего ждать от базы в дальнейшем.
63. slydernet 01.03.12 15:55 Сейчас в теме
лично видел базу размером 17гб на sql express 2005, админ не мучается не сворачиваети незнает проблем при работе под терминалами все нормально работает, недавно попытался свернуть вызвали спеца из питера, в итоге база просто каюкналась ни вкакую не очищала индексы
65. kotuke 05.03.12 06:00 Сейчас в теме
Тоже встречал базы размером около 20 Гб, и вы не поверите, при переносе всё проходило успешно. Благо это было не у моего клиента, а разовая работка.
66. Behemoth1 05.03.12 13:50 Сейчас в теме
помнится как то проходил фокус с подменой файла во время останова сервера..
67. itit 05.03.12 14:36 Сейчас в теме
не сталкивался, у меня пока норм
70. Erhov_egor 02.03.12 07:28 Сейчас в теме
не читал что написано выше,я думаю у тебя вырос лог,попробуй сделать копию,потом удали базу на sql, пото восстанови из копии,сделай выгрузку и загрузку данных,и база уменьшится
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот