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

Откуда:
Сообщений: 41
ТАРАКАН
scorpio86
ТАРАКАН,

именно, что б в крайнем случае те логи можно было просмотреть...хотя бы за 1 месяц


напиши имя столбца даты создания записи у обоих таблиц.
щас сделаем следующие
1) удалим все записи старше 1 -го месяца
2) шринк
3) фулл бэкап




И в Flog и в Wlog в таблице есть поле log time оно выглядит так:

log time
6/8/2009 12:02:54
6/8/2009 12:02:55
6/8/2009 12:02:55

и тд... это сойдет ?
10 сен 09, 14:12    [7642185]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
автор
....Можно ли как-нибудь разделить этот mdf, например: 1месяц база поработала, сделать копию(в случае потребности старых данных), ....


думаю что могут понадобиться
10 сен 09, 14:15    [7642206]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
ТАРАКАН
Spartakich
автор
напиши имя столбца даты создания записи у обоих таблиц.
щас сделаем следующие
1) удалим все записи старше 1 -го месяца
2) шринк
3) фулл бэкап



может перед тем как удалить что-либо, бекапчик сделать ? :)

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

Хотелось бы верить. Но так как человек только-только начал заниматься этим... Он еще плохо прогнозирует возможные ситуации и масштабы последствий
10 сен 09, 14:19    [7642257]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
Ozerov,

бэкап настроил диф. каждый день и полный раз в неделю, если что надеюсь восстоновим + надо на тестовом поробывать создам тестовую таблицу, надеюсь всё выйдет
10 сен 09, 14:22    [7642281]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
scorpio86
Ozerov,

бэкап настроил диф. каждый день и полный раз в неделю, если что надеюсь восстоновим + надо на тестовом поробывать создам тестовую таблицу, надеюсь всё выйдет

Я к тому, что если Вы что то не то сделаете сейчас, при удалении всего, что больше месяца. Или начальство вдруг решит, что ему и за 3 месяца нужны данные, а они забудут свои слова про 1 месяц. расписку возьмите
10 сен 09, 14:25    [7642308]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
scorpio86
Ozerov,

бэкап настроил диф. каждый день и полный раз в неделю, если что надеюсь восстоновим + надо на тестовом поробывать создам тестовую таблицу, надеюсь всё выйдет


непосредственно перед выполнением команд на живом сервере настоятельно рекомендую сделать полный бекап.
10 сен 09, 14:26    [7642323]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
Spartakich,

ок
10 сен 09, 14:27    [7642336]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
ТАРАКАН
scorpio86
ТАРАКАН,

именно, что б в крайнем случае те логи можно было просмотреть...хотя бы за 1 месяц


напиши имя столбца даты создания записи у обоих таблиц.
щас сделаем следующие
1) удалим все записи старше 1 -го месяца
2) шринк
3) фулл бэкап




И в Flog и в Wlog в таблице есть поле log time оно выглядит так:

log time
6/8/2009 12:02:54
6/8/2009 12:02:55
6/8/2009 12:02:55

и тд... это сойдет ?

Предупреждаю что копии данных у тебя нет уточни у кого сможешь, что это за данные и можно ли удалять.
--перевести БДв другую модель востановление, чтоб лог файл не вырос
ALTER DATABASE [DATABASE] SET RECOVERY Simple
go
--Удаление записей:
DELETE
FROM         Имя_таблицы
WHERE     (Имя_столбца_даты_создания записи <= CONVERT(DATETIME, '2009-08-10 00:00:00', 102))
--перевести модель востановление БД обратно
ALTER DATABASE [DATABASE] SET RECOVERY FULL
данный скрипт выполняешь для двух таблиц
далее шринк БД и фулл бэкап
через месяц повторяешь свои действия, меняешь только месяц 08 на 09.

Сообщение было отредактировано: 10 сен 09, 14:56
10 сен 09, 14:30    [7642366]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Это правильней:

--перевести БДв другую модель востановление, чтоб лог файл не вырос
ALTER DATABASE [Имя_твоей_БД] SET RECOVERY Simple
go
--Удаление записей:
USE имя_твоей_БД
DELETE
FROM         Имя_таблицы
WHERE     (Имя_столбца_даты_создания записи <= CONVERT(DATETIME, '2009-08-10 00:00:00', 102))
GO
--перевести модель востановление БД обратно
ALTER DATABASE [Имя_твоей_БД] SET RECOVERY FULL
10 сен 09, 14:33    [7642396]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
ТАРАКАН,

Спасибо огромное, очень выручил =) щас попробую на тестовом сервере =)
10 сен 09, 14:35    [7642414]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ох...ий программизд
Guest
ТАРАКАН

--перевести модель востановление БД обратно
ALTER DATABASE [Имя_твоей_БД] SET RECOVERY FULL


А вы точно уверены, что у топикстартера изначально Recovery model была именно Full?
10 сен 09, 14:39    [7642456]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
Ох...ий программизд,

recovery стоит Simple

к сожалению пока разницу фула от симпла не прочитал, чем и займусь =)
10 сен 09, 14:51    [7642559]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
Тоесть как я понял, сделать наооборот, перевести в фул а потом обратно в симпл?
10 сен 09, 14:52    [7642568]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ох...ий программизд
Guest
scorpio86
Тоесть как я понял, сделать наооборот, перевести в фул а потом обратно в симпл?

Нет. Если стоит Simple, то ничего никуда переводить не надо.
10 сен 09, 14:53    [7642581]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
Тоесть как я понял, сделать наооборот, перевести в фул а потом обратно в симпл?

если у тебя БД в симпл режиме то вот так:
--Удаление записей:
USE имя_твоей_БД
DELETE
FROM         Имя_таблицы
WHERE     (Имя_столбца_даты_создания записи <= CONVERT(DATETIME, '2009-08-10 00:00:00', 102))
GO
ничего переводить ненадо
10 сен 09, 14:54    [7642590]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
ТАРАКАН
scorpio86
Тоесть как я понял, сделать наооборот, перевести в фул а потом обратно в симпл?

если у тебя БД в симпл режиме то вот так:
--Удаление записей:
USE имя_твоей_БД
DELETE
FROM         Имя_таблицы
WHERE     (Имя_столбца_даты_создания записи <= CONVERT(DATETIME, '2009-08-10 00:00:00', 102))
GO
ничего переводить ненадо

далле после того как ты решишся это сделать можно создать джоб который будет выполнять следующие:
1) создать процедуру
USE име_БД
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from имя_таблицы1 where EventTime<@DeadDate
delete from имя_таблицы2 where EventTime<@DeadDate
2) Создать джоб на выполнение каждую ночь, удалять записси старше одного месяца:
--Вставь в джоб команду
exec _TruncateOldData
3) Создать джоб на выполнение Фулл бэкап БД после выполнения джоба удаления записей
10 сен 09, 15:03    [7642679]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
ТАРАКАН
scorpio86
Тоесть как я понял, сделать наооборот, перевести в фул а потом обратно в симпл?

если у тебя БД в симпл режиме то вот так:
--Удаление записей:
USE имя_твоей_БД
DELETE
FROM         Имя_таблицы
WHERE     (Имя_столбца_даты_создания записи <= CONVERT(DATETIME, '2009-08-10 00:00:00', 102))
GO
ничего переводить ненадо



ТАРАКАН,

ок, спасибо =)
10 сен 09, 15:03    [7642683]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Так правильней:

1) создать процедуру
USE име_БД
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from имя_таблицы1 where Имя_поля_с_датой<@DeadDate
delete from имя_таблицы2 where Имя_поля_с_датой<@DeadDate
2) Создать джоб на выполнение каждую ночь, удалять записси старше одного месяца:
--Вставь в джоб команду
exec _TruncateOldData
3) Создать джоб на выполнение Фулл бэкап БД после выполнения джоба удаления записей
10 сен 09, 15:10    [7642749]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
ТАРАКАН,

эмм...извини за моё нубство а процедуру где создавать ?
10 сен 09, 15:11    [7642771]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
ТАРАКАН,

эмм...извини за моё нубство а процедуру где создавать ?

а где ты скрипты все запускал?
или ты про место положение? то в любой БД можно в тойже
10 сен 09, 15:13    [7642788]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
ТАРАКАН,

И вот по поводу процедуры, как он распознаёт записи познее одного месяца?
Ты выше приводил код для отчистки по имени полбю и дате, а в процедуре просто...
10 сен 09, 15:13    [7642790]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
тогда второй пункт так:
--Вставь в джоб команду
USE имя_БД_где_создал_процедуру
exec _TruncateOldData
10 сен 09, 15:15    [7642800]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
скрипты запускал в аналайзере
я по написаному понял создать где то процедуру
и сощдать джоб с 1ой строкой ехес ...
10 сен 09, 15:15    [7642807]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
ТАРАКАН,

И вот по поводу процедуры, как он распознаёт записи познее одного месяца?
Ты выше приводил код для отчистки по имени полбю и дате, а в процедуре просто...

declare @DeadDate datetime --нанешнее число
select @DeadDate=DATEADD(month,-1,GetDate()) --минус один месяц
10 сен 09, 15:15    [7642811]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
скрипты запускал в аналайзере
я по написаному понял создать где то процедуру
и сощдать джоб с 1ой строкой ехес ...

да ты правильно понял:
--Вставь в джоб команду
USE имя_БД_где_создал_процедуру
exec _TruncateOldData
Go

Можно сдесь же добавить фулл бэкап БД
10 сен 09, 15:17    [7642828]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить