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

Откуда:
Сообщений: 41
Добрый день, сразу скажу что только начинаю работать на Microsoft SQL Server 2000 поэтому изьясняйтесь по-проще =)
У меня вот такая проблема, база выросла до размеров 250 Гиг, shrink показал что сократит максимум на 100Mb, место на диске заканчивается(350гиг), поэтому надо что-то решать(
Можно ли как-нибудь разделить этот mdf, например: 1месяц база поработала, сделать копию(в случае потребности старых данных), и отчистить, что б потом заполнялась снова...или например как то вырезать из неё куски по дате заполнения, например часть с такого то по такое то число взять и вырезать от туда, что б освободить место =)
Посоветуйте пожалуйста что можно сделать, как можно сокращать этот mdf...
10 сен 09, 12:56    [7641490]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
в течении какого времени файл mdf вырос до рзмера 250Г ?
10 сен 09, 12:59    [7641519]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Где то за 3-4 месяца
10 сен 09, 13:00    [7641530]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Шринк не всегда освобождает все свободное место. Посмотрите сколько свободного места в файле данных.
10 сен 09, 13:01    [7641537]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Извините, а как это посмотреть ?
10 сен 09, 13:02    [7641548]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Le Peace
Member

Откуда: Москва
Сообщений: 8969
scorpio86, sp_spaceused
10 сен 09, 13:03    [7641556]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

Откуда:
Сообщений: 439
есть возможность подцепить еще один диск?
10 сен 09, 13:04    [7641558]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
sp_spaceused
10 сен 09, 13:04    [7641559]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
scorpio86

Можно ли как-нибудь разделить этот mdf, например: 1месяц база поработала, сделать копию(в случае потребности старых данных), и отчистить, что б потом заполнялась снова...или например как то вырезать из неё куски по дате заполнения, например часть с такого то по такое то число взять и вырезать от туда, что б освободить место =)

А в ваших таблицах есть поле с этой самой "датой заполнения" ?
10 сен 09, 13:04    [7641560]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Вариантов масса. К примеру:
1. Создать еще один файл над другом диске и перенести туда таблицы.
2. Убирать данные в архивную базу, но для этого четко понимать алгоритм и критерий отбора...
10 сен 09, 13:06    [7641571]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
а может выяснить почему она у вас так пухнет?
10 сен 09, 13:07    [7641591]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

database_size unallocated space
265180 Mb 110 Mb
10 сен 09, 13:08    [7641599]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
iljy
Member

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

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

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

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

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

неа диск сказали со своего кармана будешь цеплять )
10 сен 09, 13:09    [7641611]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
scorpio86
Glory,

нету, думал может как то сервер фиксирует сам...

Серверу такая дата не нужна.
10 сен 09, 13:09    [7641612]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

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

database_size unallocated space
265180 Mb 110 Mb

Да... дальше нужна аналитика. Что за данные. все ли нужны. Если нет лишних, от которых можно безболезненно избавится, то выбирайте варианты...
10 сен 09, 13:10    [7641617]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
Кстати нет ли неиспользуемых индексов. Место могут хорошо отжирать.
10 сен 09, 13:11    [7641625]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Вариантов масса. К примеру:
1. Создать еще один файл над другом диске и перенести туда таблицы.
2. Убирать данные в архивную базу, но для этого четко понимать алгоритм и критерий отбора...


Перенести на другой диск не выход, места ограничено, всё равно со временем не хватит места

2. Не совсем понял..
10 сен 09, 13:12    [7641645]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

database_size unallocated space
265180 Mb 110 Mb

Да... дальше нужна аналитика. Что за данные. все ли нужны. Если нет лишних, от которых можно безболезненно избавится, то выбирайте варианты...


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

Откуда:
Сообщений: 41
Ozerov
Кстати нет ли неиспользуемых индексов. Место могут хорошо отжирать.


а как можно посмотреть ?
10 сен 09, 13:14    [7641657]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

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

Вариантов масса. К примеру:
1. Создать еще один файл над другом диске и перенести туда таблицы.
2. Убирать данные в архивную базу, но для этого четко понимать алгоритм и критерий отбора...


Перенести на другой диск не выход, места ограничено, всё равно со временем не хватит места

2. Не совсем понял..

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

Откуда:
Сообщений: 439
Выполни на своей БД приставь в студию результат


DECLARE @sysFL varchar(100)



drop table #temp



CREATE TABLE [#temp] (

	[Name] [nvarchar](100) ,

	[Rows] [char] (11) ,

	[Reserved] [varchar] (18) ,

	[Data] [varchar] (18) ,

	[index_size] [varchar] (18) ,

	[Unused] [varchar] (18) 

) ON [PRIMARY]



	DECLARE cursorsys CURSOR FOR 

	select sysobjects.name

	from sysobjects

	where sysobjects.xtype='U'



	OPEN cursorsys

	FETCH NEXT FROM cursorsys into @sysFL

	WHILE @@FETCH_STATUS = 0

	BEGIN

		INSERT into [#temp] EXECute sp_SpaceUsed @sysFL

		

		FETCH NEXT FROM cursorsys into @sysFL

			

	END

	CLOSE cursorsys

	DEALLOCATE cursorsys



select * from #temp order by convert(int,left(Data,LEN(Data)-3)) desc



select 'ALL DATABASE', sum(convert(int,left(Reserved,LEN(Reserved)-3))) AS 'Reserved',

	sum(convert(int,left(Data,LEN(Data)-3))) AS 'Data',

	sum(convert(int,left(index_size,LEN(index_size)-3))) AS 'index_size',

	sum(convert(int,left(Unused,LEN(Unused)-3))) AS 'Unused' from #temp 
10 сен 09, 13:16    [7641679]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
[quot ТАРАКАН]Выполни на своей БД приставь в студию результат

Server: Msg 3701, Level 11, State 5, Line 5
Cannot drop the table '#temp', because it does not exist in the system catalog.

может что то не правильно сделал ?
10 сен 09, 13:24    [7641744]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

Откуда: Москва
Сообщений: 3650
scorpio86
[quot ТАРАКАН]Выполни на своей БД приставь в студию результат

Server: Msg 3701, Level 11, State 5, Line 5
Cannot drop the table '#temp', because it does not exist in the system catalog.

может что то не правильно сделал ?

Базу выберите нужную.
10 сен 09, 13:25    [7641752]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
DECLARE @sysFL varchar(100)



--drop table #temp



CREATE TABLE [#temp] (

[Name] [nvarchar](100) ,

[Rows] [char] (11) ,

[Reserved] [varchar] (18) ,

[Data] [varchar] (18) ,

[index_size] [varchar] (18) ,

[Unused] [varchar] (18)

) ON [PRIMARY]



DECLARE cursorsys CURSOR FOR

select sysobjects.name

from sysobjects

where sysobjects.xtype='U'



OPEN cursorsys

FETCH NEXT FROM cursorsys into @sysFL

WHILE @@FETCH_STATUS = 0

BEGIN

INSERT into [#temp] EXECute sp_SpaceUsed @sysFL



FETCH NEXT FROM cursorsys into @sysFL



END

CLOSE cursorsys

DEALLOCATE cursorsys



select * from #temp order by convert(int,left(Data,LEN(Data)-3)) desc



select 'ALL DATABASE', sum(convert(int,left(Reserved,LEN(Reserved)-3))) AS 'Reserved',

sum(convert(int,left(Data,LEN(Data)-3))) AS 'Data',

sum(convert(int,left(index_size,LEN(index_size)-3))) AS 'index_size',

sum(convert(int,left(Unused,LEN(Unused)-3))) AS 'Unused' from #temp
10 сен 09, 13:33    [7641818]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Ozerov
scorpio86
[quot ТАРАКАН]Выполни на своей БД приставь в студию результат

Server: Msg 3701, Level 11, State 5, Line 5
Cannot drop the table '#temp', because it does not exist in the system catalog.

может что то не правильно сделал ?

Базу выберите нужную.

там не БД там проверять чтоб небыло временной таблицы темп и если есть дропается, а её нет вот ошибка и выскакивает ;)
10 сен 09, 13:34    [7641826]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

Откуда:
Сообщений: 41
вот результат

Name Rows Reserved Data index_size Unused
WLog 333584990 185574192 KB 184433424 KB 1140608 KB 160 KB
FLog 341438925 86074440 KB 85515984 KB 558416 KB 40 KB
dtproperties 0 0 KB 0 KB 0 KB 0 KB
10 сен 09, 13:34    [7641827]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

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

Name Rows Reserved Data index_size Unused
WLog 333584990 185574192 KB 184433424 KB 1140608 KB 160 KB
FLog 341438925 86074440 KB 85515984 KB 558416 KB 40 KB
dtproperties 0 0 KB 0 KB 0 KB 0 KB


Name 		Rows 		Reserved 	Data		 index_size 	Unused
WLog 333584990 185574192 KB 184433424 KB 1140608 KB 160 KB
FLog 341438925 86074440 KB 85515984 KB 558416 KB 40 KB
dtproperties 0 0 KB 0 KB 0 KB 0 KB
10 сен 09, 13:39    [7641876]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Нашел=) в таблицах есть поля с датами...но в ручную чистить всё это очень геморно(
10 сен 09, 13:45    [7641906]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
Glory,

Нашел=) в таблицах есть поля с датами...но в ручную чистить всё это очень геморно(

это БД для сборов неких логов?
10 сен 09, 13:47    [7641929]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
scorpio86
Glory,

Нашел=) в таблицах есть поля с датами...но в ручную чистить всё это очень геморно(

Что мешает написать команду DELETE ?
10 сен 09, 13:47    [7641930]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Скажу честно отсутствие опыта.

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

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

Да для сбора логов
10 сен 09, 13:50    [7641968]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

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

Скажу честно отсутствие опыта.

Но ко всему прочему просто отчищать нельзя, нужно делать резервные копии...
может возможно вытягивать(вырезать) данные из таблицы по этому полю с датой и резервировать как то, что б в случае необходимости их можно было просмотреть, вставить обратно ?

Может Вы немного расскажете, что это за данные ? Если Вам не будут покупать жесткие диски, то куда ж Вы собираетесь их резервировать ? На оптические носители что ли ?
10 сен 09, 13:52    [7641981]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Glory
Member

Откуда:
Сообщений: 104760
scorpio86
Glory,

Скажу честно отсутствие опыта.

Но ко всему прочему просто отчищать нельзя, нужно делать резервные копии...
может возможно вытягивать(вырезать) данные из таблицы по этому полю с датой и резервировать как то, что б в случае необходимости их можно было просмотреть, вставить обратно ?

А где вы собрались хранить эти копии, если у вас не хватает места на диске ?
10 сен 09, 13:52    [7641984]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

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

Да для сбора логов



Эти команды на полное удаление данных из таблиц, если надо сохранить данные делай бэкап и после выполняй команды.

Use имя_бд _напиши
TRUNCATE table WLog 
go
TRUNCATE table FLog
go

также сделай шринк и обрезание БД.
10 сен 09, 13:55    [7642008]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Ozerov
Member

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

Да для сбора логов



Эти команды на полное удаление данных из таблиц, если надо сохранить данные делай бэкап и после выполняй команды.

Use имя_бд _напиши
TRUNCATE table WLog 
go
TRUNCATE table FLog
go

также сделай шринк и обрезание БД.


Издеваетесь ? Куда ж, он, бедный, бэкап то сделает?....
10 сен 09, 13:57    [7642034]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Ситуация такая, резерв нужен хотя бы за 1 месяц за месяц база набирает 70-100 гиг, если эту часть резервировать то места хватит(с учетом что мдф будет отчищаться), + когда база была ещё 70 гиг, запихнул её бэкап в 7зип и он заархивировал его до 4гиг...
10 сен 09, 13:57    [7642040]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Glory
Member

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

Ситуация такая, резерв нужен хотя бы за 1 месяц за месяц база набирает 70-100 гиг, если эту часть резервировать то места хватит(с учетом что мдф будет отчищаться), + когда база была ещё 70 гиг, запихнул её бэкап в 7зип и он заархивировал его до 4гиг...

Ну так удалите данные, которые старше 1 месяца
10 сен 09, 13:58    [7642048]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Я не знаю как их удалять, если не в ручную(

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

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

Ситуация такая, резерв нужен хотя бы за 1 месяц за месяц база набирает 70-100 гиг, если эту часть резервировать то места хватит(с учетом что мдф будет отчищаться), + когда база была ещё 70 гиг, запихнул её бэкап в 7зип и он заархивировал его до 4гиг...

Ну так удалите данные, которые старше 1 месяца

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

Откуда:
Сообщений: 104760
scorpio86
Glory,Ozerov,TAPAKAH

Я не знаю как их удалять, если не в ручную(

Т.е. вы вообще не знакомы с командами SELECT/INSERT/UPDATE/DELETE ?
10 сен 09, 14:02    [7642078]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
scorpio86
Glory,Ozerov,TAPAKAH

Я не знаю как их удалять, если не в ручную(

Тоесть выход таков, раз в месяц делать бэкап и отчищать базу , что б заполнялась снова ?


ты прав
1)очистить
2)один раз в месяц делать фулл бэкап
3)опять очистить
10 сен 09, 14:03    [7642084]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

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

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

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

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


напиши имя столбца даты создания записи у обоих таблиц.
щас сделаем следующие
1) удалим все записи старше 1 -го месяца
2) шринк
3) фулл бэкап
10 сен 09, 14:04    [7642103]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Spartakich
Member

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



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

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



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

он же вроде точно написал, что ему нужны данные только за последний месяц.
10 сен 09, 14:12    [7642176]     Ответить | Цитировать Сообщить модератору
 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]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

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

процедуру просто в аналайзере ввести ?

Да
10 сен 09, 15:22    [7642863]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

USE TEST
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where 'log time' <@DeadDate




Server: Msg 111, Level 15, State 1, Line 2
'CREATE PROCEDURE' must be the first statement in a query batch.
10 сен 09, 15:26    [7642883]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

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

USE TEST
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where 'log time' <@DeadDate




Server: Msg 111, Level 15, State 1, Line 2
'CREATE PROCEDURE' must be the first statement in a query batch.

USE убери
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where 'log time'<@DeadDate
10 сен 09, 15:32    [7642931]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Лучше так:
USE TEST
GO
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where 'log time'<@DeadDate
10 сен 09, 15:34    [7642943]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

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

Спасибо огромное, пошло =)
Я так понял теперь её всегда можо будет вызвать ехес -ом ?

да
10 сен 09, 15:51    [7643066]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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


USE TEST
exec _TruncateOldData
go


Server: Msg 241, Level 16, State 1, Procedure _TruncateOldData, Line 4
Syntax error converting datetime from character string.
10 сен 09, 15:53    [7643076]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

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


USE TEST
exec _TruncateOldData
go


Server: Msg 241, Level 16, State 1, Procedure _TruncateOldData, Line 4
Syntax error converting datetime from character string.

'log time' что у тебя тут и что за тип
10 сен 09, 15:54    [7643088]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

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

поле с датой с типом datetime

приведи пример данных в этом поле
10 сен 09, 15:58    [7643110]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
iljy
Member

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

delete from Table5 where 'log time' <@DeadDate

вообще-то получается строка. А чтоб было имя поля - надо писать так: [log time].
10 сен 09, 15:58    [7643114]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
iljy
scorpio86,

delete from Table5 where 'log time' <@DeadDate

вообще-то получается строка. А чтоб было имя поля - надо писать так: [log time].

точно нафига '' ПОСТАВИЛ? :)
10 сен 09, 15:59    [7643121]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

Откуда:
Сообщений: 439
Выполни вот это:
drop PROCEDURE _TruncateOldData
USE TEST
GO
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where [log time]<@DeadDate
10 сен 09, 16:01    [7643133]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Так хорошо, а как перезаписать старую процедуру ?)
10 сен 09, 16:02    [7643143]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

спасибо))
10 сен 09, 16:02    [7643145]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
iljy
Member

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

в БОЛ посмотреть. либо DROP PROC/CREATE PROC, либо ALTER PROC
10 сен 09, 16:03    [7643153]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
ТАРАКАН
Member

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

Так хорошо, а как перезаписать старую процедуру ?)

drop PROCEDURE _TruncateOldData --удаляет старую

--заного создаем
USE TEST
GO
CREATE PROCEDURE [dbo].[_TruncateOldData] AS
declare @DeadDate datetime
select @DeadDate=DATEADD(month,-1,GetDate())
delete from Table5 where [log time]<@DeadDate
10 сен 09, 16:03    [7643154]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

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

Откуда:
Сообщений: 439
первый раз выполнение процедуры будет идти долго, но если создашь джоб на каждый день то очень даже быстро :)
10 сен 09, 16:05    [7643175]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

Тоесть оно не будет ему давать перевыполняться, будет каждую ночь очищать старые, и паралельно бэкапить, как раз то что надо было, спасибо огромное =)
10 сен 09, 16:06    [7643188]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

сейчас немного ещё по тестю, на тестовом и будет видно =)
10 сен 09, 16:07    [7643193]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Spartakich
Member

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

Тоесть оно не будет ему давать перевыполняться, будет каждую ночь очищать старые, и паралельно бэкапить, как раз то что надо было, спасибо огромное =)



тока бекапь перед тем как очищать
10 сен 09, 16:22    [7643321]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
scorpio86
Member

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

ок =)
10 сен 09, 16:24    [7643335]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с большим обьемом .mdf файла  [new]
Залётный
Guest
scorpio86
Spartakich,

ок =)

Будь другом, отпишись через месяцок, каг дела, каг начальство? ;) Не стало ли волноваццо, что данных за июль не нашло? :)
10 сен 09, 21:06    [7645014]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4      [все]
Все форумы / Microsoft SQL Server Ответить