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


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

Как отрезать или уменьшить лог файл скл 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) Не уменьшит, но позволит уменьшить.
Алгоритм: бэкап в нулл, шринк. Повторить два раза подряд.
 
 Рекламное место пустует

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