|
Как отрезать или уменьшить лог файл скл 2016? | ☑ | ||
---|---|---|---|---|
0
Обфускация
05.03.18
✎
14:47
|
Как отрезать или уменьшить лог файл скл 2016?
|
|||
1
Fragster
гуру
05.03.18
✎
14:49
|
||||
2
Badjo
05.03.18
✎
17:43
|
1. Бэкап базы.
2.1. Убедится что бэкап создан. 2.2. Убедится что настроен ежедневный бэкап базы. 2.3. Посмотреть а создавались ли ежедневные бэкапы. 3. Переводишь базу в recovery model: simple 4. shrink log file 5. обратно в recovery model: full |
|||
3
Вафель
05.03.18
✎
17:46
|
(2) не нужно в симпл переводить. можно бэкап лог файла сделать
|
|||
4
ИТ директор
05.03.18
✎
18:06
|
Бэкап лога не уменьшит его размер
|
|||
5
Вафель
05.03.18
✎
18:07
|
Это вместо п.3
|
|||
6
Туц
13.03.18
✎
09:44
|
Попробуй
DECLARE @SQLStr VARCHAR(8000) -- database name DECLARE @name VARCHAR(50) -- database name DECLARE @logname VARCHAR(50) -- database log name DECLARE db_cursor CURSOR FOR SELECT sysdb.name name,files.name logname FROM master.dbo.sysdatabases sysdb (nolock) --join sys.databases db (nolock) ON sysdb.name = db.name and db.recovery_model_desc = 'FULL' join sys.databases db (nolock) ON sysdb.name = db.name join master.sys.sysaltfiles files (nolock) ON files.dbid = sysdb.dbid and files.groupid = 0 WHERE db.name <> 'tempdb' OPEN db_cursor FETCH NEXT FROM db_cursor INTO @name,@logname WHILE @@FETCH_STATUS = 0 BEGIN Set @SQLStr = ' USE ['+@name +'] ALTER DATABASE ['+@name+'] SET RECOVERY SIMPLE DBCC SHRINKFILE ('''+@logname+''', 50); ALTER DATABASE ['+@name+'] SET RECOVERY FULL' EXECUTE(@SQLStr) --select @SQLStr FETCH NEXT FROM db_cursor INTO @name,@logname END CLOSE db_cursor DEALLOCATE db_cursor |
|||
7
bvb
13.03.18
✎
10:53
|
Я шринкаю лог вот так :
USE [MY_BASE] ALTER DATABASE [MY_BASE] SET RECOVERY SIMPLE go DBCC SHRINKFILE ([MY_BASE_log], 1); ALTER DATABASE [MY_BASE] SET RECOVERY FULL go |
|||
8
leonidkorolev
13.03.18
✎
10:56
|
Вот тут всё описал
https://www.forum.mista.ru/topic.php?id=780099 Можно конечно в симпл переводить, но зачем тогда вообще в фулл переводить. Перевод в симпл похеривает всю модель бекапирования основанную на фулл. |
|||
9
Туц
13.03.18
✎
14:02
|
(8)
Ну тогда добавить после BEGIN две строчки SET @fileName = @path + 'FULL_'+ @name + '.BAK' BACKUP DATABASE @name TO DISK = @fileName WITH INIT потеряны могут ну не знаю сколько точно, ну пусть для 100 Гиговой базы и дисков на 200Мбайт/сек порядка 9 минут. |
|||
10
Мыш
13.03.18
✎
14:45
|
(4) Не уменьшит, но позволит уменьшить.
Алгоритм: бэкап в нулл, шринк. Повторить два раза подряд. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |