Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
Только начинал работать с MS SQL, и т.к. это не основная моя задача прошу совета/помощи. MS SQL 2008 R2,Windows XP.
На заводе есть ПК1 для управления некой производственной линией и вспомогательный ПК2, в одной сети. Специализированное ПО управления линией ПК1 формирует базу данных MS SQL – таблицу со статистикой по работе линии. На ПК N2 я разместил самописный VBA макрос, который по команде оператора тягает данные из базы ПК1 и формирует отчеты в формате Excel. Вроде всё работает. Но на ПК1 очень малый объем HDD, свободно буквально 10 Гб. У меня есть несколько вариантов как избежать переполнения, подскажите какое сработает и проще:
1. Я указал максимальный размер файлов в настройках базы, отключил AutoGrowth, и надеялся что MS SQL будет заполнять базу циклически, т.е. дойдя до конца, станет затирать самые старые данные в начале базы. Но видимо я жестоко ошибаюсь?
2. Можно ли писать базу сразу на удаленный ПК2 по Ethernet?. В настройках База-Свойства-Файлы могу выбрать папку только на хОсте(
3. Можно ли сделать автоматический резервный бэкап на ПК2 и при этом удалять старые данные на ПК1?

Спасибо...
27 июл 17, 21:52    [20681040]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36928
1. Именно, что ошибаетесь.
2. Нет.
3. Можно.
27 июл 17, 21:57    [20681049]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
РоманРоман
1. Я указал максимальный размер файлов в настройках базы, отключил AutoGrowth, и надеялся что MS SQL будет заполнять базу циклически, т.е. дойдя до конца, станет затирать самые старые данные в начале базы. Но видимо я жестоко ошибаюсь?
Нет, не стирает :-)
Весело было бы, если бы например винды сами стирали самые старые файлы :-)
РоманРоман
2. Можно ли писать базу сразу на удаленный ПК2 по Ethernet?. В настройках База-Свойства-Файлы могу выбрать папку только на хОсте(
По файлшаре нет. Можно по iSCSI. Но это плохое решение.
РоманРоман
3. Можно ли сделать автоматический резервный бэкап на ПК2 и при этом удалять старые данные на ПК1?
Да.
Но это надо делать самому, стирать старые ненужные по бизнес-логике данные.
27 июл 17, 22:00    [20681054]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
Alexander Titkin
Member

Откуда: Москва
Сообщений: 91
Гавриленко Сергей Алексеевич,

Сергей, ну как же вы так, можно по сети
28 июл 17, 01:23    [20681263]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7326
РоманРоман,

и

4. Перенесите MS SQL на ПК2. А на ПК1 оставьте только "Специализированное ПО управления линией". Настройте строку соединия ПО на ПК1 с серверром sl на ПК2.
28 июл 17, 01:39    [20681268]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
982183
Member

Откуда: VL
Сообщений: 3351
Может всё же стоит HD увеличить?
Не так уж дорого они сейчас стоят.
28 июл 17, 02:12    [20681279]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
Большое спасибо за ответы.
28 июл 17, 10:09    [20681657]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
Alibek B.
Member

Откуда:
Сообщений: 3589
alexeyvg
Можно по iSCSI. Но это плохое решение.

Смотря какого уровня оборудование.
В общем случае iSCSI ничем не хуже SAS или FC.
28 июл 17, 10:12    [20681665]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
alexeyvg
РоманРоман
3. Можно ли сделать автоматический резервный бэкап на ПК2 и при этом удалять старые данные на ПК1?
Да.
Но это надо делать самому, стирать старые ненужные по бизнес-логике данные.


т.е. будет производиться автоматический бэкап по календарю, но чистить рабочую базу от старых данных придётся ручками? Не лучший вариант, но вариант. А как чистить? Чтобы не все данные, а только первые пару недель например.
28 июл 17, 10:13    [20681673]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
o-o
Guest
сейчас наверное не найти даже ноута с диском менее терабайта,
а тут 10Гб осталось и все еще кому-то непонятно, что просто нужен другой диск.
вот интересно, это отсутствие места наверное еще и отсутствием бэкапов сопровождается, не правда ли?
28 июл 17, 10:18    [20681690]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
o-o
Guest
прежде чем чистить базу ручками, озаботьтесь местом под бэкапы.
они очень нужны любителям полезть в базу, особенно когда
автор
Только начинал работать с MS SQL, и т.к. это не основная моя задача
28 июл 17, 10:21    [20681699]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2394
РоманРоман,

ручками пишите процедуру "удалить данные из таблиц по условию.." и ставите ее автоматическое выполнение (джобы) по вашему расписанию
28 июл 17, 10:21    [20681702]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
Relic Hunter
РоманРоман,

4. Перенесите MS SQL на ПК2. А на ПК1 оставьте только "Специализированное ПО управления линией". Настройте строку соединия ПО на ПК1 с серверром sl на ПК2.


на ПК2 также установлен MS SQL сервер (2012 или 2014). Но не уверен что удастся настроить запись сразу на ПК2.
28 июл 17, 10:25    [20681718]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
982183
Может всё же стоит HD увеличить?
Не так уж дорого они сейчас стоят.

Там промышленный ПК, компактный корпус подвешен на рельсе - можно таскать его за собой по всей линии, весь объем диска 30ГБ, раньше хватало. Увеличение объема диска озвучу, но...
28 июл 17, 10:30    [20681743]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
StarikNavy
РоманРоман,

ручками пишите процедуру "удалить данные из таблиц по условию.." и ставите ее автоматическое выполнение (джобы) по вашему расписанию


Так...т.е. можно написать задание на T-SQL: по достижению определенного размера базы - чистить первую неделю например? А бэкапы это отдельный вопрос, их тоже можно и нужно делать, но на размер базы это не влияет.
28 июл 17, 10:35    [20681765]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
o-o,

Место будет на удалённом ПК2.
28 июл 17, 10:36    [20681773]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
o-o
Guest
РоманРоман
компактный корпус подвешен на рельсе - можно таскать его за собой по всей линии

"сервер в пепелаце"?
тогда тем более еще раз озвучу вопрос:
вы бэкапы делаете?
что будет, если от тасканий компьютер помрет?
28 июл 17, 10:37    [20681776]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
o-o
Guest
РоманРоман
бэкапы это отдельный вопрос, их тоже можно и нужно делать, но на размер базы это не влияет.

влияет.
ибо вам сейчас насоветуют, как базу очистить,
и очистите ее случайно всю.
что делать будете?
-----
сначала настраиваете бэкапы, потом на тестовом сервере разворачиваете
и там уже тренируетесь "чистить базу"
28 июл 17, 10:40    [20681789]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
o-o,
Как мне казалось база не уменьшится, если я сниму резервную копию. "shrinkfile" это отдельная задача.
Полный бэкап я снял на переносной жесткий диск. Т.е. образец для экспериментов есть. Самое главное это работоспособность ПК1 - он управляет линией, и если навернется на статистику будет всем.....
28 июл 17, 10:50    [20681841]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
Alibek B.
alexeyvg
Можно по iSCSI. Но это плохое решение.

Смотря какого уровня оборудование.
В общем случае iSCSI ничем не хуже SAS или FC.
К соседнему писюку через офисный интернет на ДЛинке :-)
28 июл 17, 10:53    [20681855]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
РоманРоман
А как чистить? Чтобы не все данные, а только первые пару недель например.
DELETE from ваша таблица where Date > dateadd(dd, -количество дней, которые нужно оставить, getdate())
28 июл 17, 10:55    [20681862]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31339
РоманРоман
Как мне казалось база не уменьшится, если я сниму резервную копию
Да.
РоманРоман
"shrinkfile" это отдельная задача.
от него база тоже не уменьшится
28 июл 17, 10:56    [20681874]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
alexeyvg
РоманРоман
А как чистить? Чтобы не все данные, а только первые пару недель например.
DELETE from ваша таблица where Date > dateadd(dd, -количество дней, которые нужно оставить, getdate())


Понятно, и условие проверки размера базы туда тоже можно добавить? Линия может стоять неделями, не хотелось бы чтобы база за это время самоуничтожилась))
28 июл 17, 11:16    [20681966]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
Alibek B.
Member

Откуда:
Сообщений: 3589
Правильное решение уже сказали - перенести СУБД на ПК2.
Все остальное будет костылями разной степени уродства.
28 июл 17, 11:21    [20682004]     Ответить | Цитировать Сообщить модератору
 Re: Интересный вопрос, как автоматически контролировать размер базы MS SQL.  [new]
РоманРоман
Member

Откуда:
Сообщений: 17
Alibek B.
Правильное решение уже сказали - перенести СУБД на ПК2.
Все остальное будет костылями разной степени уродства.

Да, спасибо.

В принципе для меня главное чтобы статистика сохранялась на 2-4 недели работы, и не забивалось все пространство ПК1. Рассмотрю вариант с принудительным очищением базы если размер превышен.
28 июл 17, 11:56    [20682157]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить