[ТЕМА ЗАКРЫТА]
Опции темы
06.03.2013 17:44  
jurah
Disk_Retail_05.02.80.004\Installer\Install\SET\Data\Ses_Archive.bkp
 
11.03.2013 07:52  
Роллан
Уважаемые гуру!
база SES Archive с дистриба восстановлена (сделал restore базы). Прошу написать скрипт, для переноса чеков с оперативных данных в архивную базу, например старше 30 дней, тот скрипт что писал ранее не работает.
и можно будет пояснить как правильно должно быть настроено в management studio и в Set Retail, чтобы чеки нормально хранились и переносились в архив, можно ли будет удалить с базы чеки с прошлого года например (и это не повредит ли), и моя база растер гигабайтами каждый день, это правильно?
в настройках Set-а есть где прописываешь путь к архивной базе, но нет кол-во дней после их истечения чтобы чеки переносились. есть пункт "путь для архивов БД" там нужно указывать путь к бэкапу базы SES Archive?
Спасибо за понимание!
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.JPG
Просмотров: 332
Размер:	34.3 Кб
ID:	1820  
 
11.03.2013 08:27  
Shift
Цитата:
в настройках Set-а есть где прописываешь путь к архивной базе, но нет кол-во дней после их истечения чтобы чеки переносились.
Количество операционных дней, оставляемых в операционной БД - указывает сколько дней оставить в операционной базе, а остальные автоматически переносятся в архивную базу при выполнении задания.
Цитата:
есть пункт "путь для архивов БД" там нужно указывать путь к бэкапу базы SES Archive?
Да.
Цитата:
можно ли будет удалить с базы чеки с прошлого года например (и это не повредит ли)
Да, можно. Нет, не повредит.
Код:
delete from chequehead where operday<'20130101'
delete from opergang where operday<'20130101'
Цитата:
и моя база растер гигабайтами каждый день, это правильно?
Не уверен что правильно. Что конкретно растет база или лог-файл? Если лог-файл, то что-то криво выполняется (или совсем не выполняется), ну и соответственно растет лог.
 
11.03.2013 12:25  
vitamin
Посмотреть в свойствах базы сес модель восстановления. Должна стоять простая.
 
12.03.2013 07:31  
Роллан
еще 1 вопрос:
как при создании бэкапа сжимать или архивировать через winrar, чтобы памяти меньше занимало? а то 1 бэкап базы SES = 16 Гб, SES Archive = 10 Гб.

Добавлено через 4 минуты 4 секунды
и есть скрипт для ручного переноса чеков в архив? с определенным периодом?
 
12.03.2013 08:18  
Shift
Цитата:
и есть скрипт для ручного переноса чеков в архив? с определенным периодом?
Копируем хранимую процедуру MoveChequeToArchive, ищем там строки:
Код:
-- выбираем OperDay и ShopIndex
SET @DaysDelta = Cast(dbo.GetParm('OperDaysInOperDB') AS int)
SET @ShopIndex = Cast(dbo.GetParm('ShopIndex') AS int)
SET @SaveCheques = ISNULL(Cast(dbo.GetParm('MoveChequesToArchive') AS int),1)
SELECT @StartDay = MAX(OperDay) 
FROM OperDaysLastArchived
WHERE ShopIndex = @ShopIndex
@DaysDelta - количество дней хранимых в оперативной БД
@StartDay - последний заархивированный операционный день.

Соответственно если сегодня 12.03.2013, а заархивировать мы хотим с 01.03.2013 по 10.03.2013, тогда
@DaysDelta=2
@StartDa='20130301'
Как-то так.
 
12.03.2013 15:07  
Роллан
а как в winrar сжимать?
 
12.03.2013 17:14  
jurah
Сжимать то можно скриптом или пакетником. Только мне кажется, что 16 Гб для бэкапа базы сес - это ахтунг. я бы даже разбираться не стал. По новой сет проинсталил и загрузил из бэка..
 
14.03.2013 09:18  
Роллан
Цитата:
Сообщение от Shift
Копируем хранимую процедуру MoveChequeToArchive, ищем там строки:
Код:
-- выбираем OperDay и ShopIndex
SET @DaysDelta = Cast(dbo.GetParm('OperDaysInOperDB') AS int)
SET @ShopIndex = Cast(dbo.GetParm('ShopIndex') AS int)
SET @SaveCheques = ISNULL(Cast(dbo.GetParm('MoveChequesToArchive') AS int),1)
SELECT @StartDay = MAX(OperDay) 
FROM OperDaysLastArchived
WHERE ShopIndex = @ShopIndex
@DaysDelta - количество дней хранимых в оперативной БД
@StartDay - последний заархивированный операционный день.

Соответственно если сегодня 12.03.2013, а заархивировать мы хотим с 01.03.2013 по 10.03.2013, тогда
@DaysDelta=2
@StartDa='20130301'
Как-то так.
я не до конца понял, можно будет по подробнее, пожалуйста!
Копируем хранимую процедуру MoveChequeToArchive, ищем там строки: - где ищем?
Код:
-- выбираем OperDay и ShopIndex
SET @DaysDelta = Cast(dbo.GetParm('OperDaysInOperDB') AS int)
SET @ShopIndex = Cast(dbo.GetParm('ShopIndex') AS int)
SET @SaveCheques = ISNULL(Cast(dbo.GetParm('MoveChequesToArchive') AS int),1)
SELECT @StartDay = MAX(OperDay) 
FROM OperDaysLastArchived
WHERE ShopIndex = @ShopIndex
- куда вставлять?
 
14.03.2013 15:24  
Shift
Цитата:
ищем там строки: - где ищем?
В теле процедуры.
Цитата:
Код:
-- выбираем OperDay и ShopIndex
SET @DaysDelta = Cast(dbo.GetParm('OperDaysInOperDB') AS int)
SET @ShopIndex = Cast(dbo.GetParm('ShopIndex') AS int)
SET @SaveCheques = ISNULL(Cast(dbo.GetParm('MoveChequesToArchive') AS int),1)
SELECT @StartDay = MAX(OperDay) 
FROM OperDaysLastArchived
WHERE ShopIndex = @ShopIndex
- куда вставлять?
Вставлять не куда не надо. Как раз этот кусок ищем и ставим то-что надо, например:
Код:
-- выбираем OperDay и ShopIndex
SET @DaysDelta = 2
SET @ShopIndex = Cast(dbo.GetParm('ShopIndex') AS int)
SET @SaveCheques = ISNULL(Cast(dbo.GetParm('MoveChequesToArchive') AS int),1)
SET @StartDay = '20130301'
 
 


Опции темы



Часовой пояс GMT +3, время: 11:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.