Вход | Регистрация

Информационные технологии ::

Метки: 

Как отрезать или уменьшить лог файл скл 2016?

Я
   Обфускация
 
05.03.18 - 14:47
Как отрезать или уменьшить лог файл скл 2016?
 
 
   Fragster
 
1 - 05.03.18 - 14:49
   Badjo
 
2 - 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
   bvb
 
7 - 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
   leonidkorolev
 
8 - 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) Не уменьшит, но позволит уменьшить.
Алгоритм: бэкап в нулл, шринк. Повторить два раза подряд.
 
 


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует