sql_-_zapros_i_reglament_dlja_obrezki_fajla_tranzakcij_trn

SQL - запрос и регламент для обрезки файла транзакций (trn)

Текст запроса SQL.

  • Нужно только поменять имена баз и файлов транзакций
  • в качестве имени файла для обрезки (шринка) нужно указываеть не то как файл физически называеться, а его лоическое имя в SQL
-------------------------------------------
-- НАСТРАИВАЕМЫЕ ПАРАМЕТРЫ
-- Имя базы данных 
DECLARE @DBName varchar(100) = 'ViatecUT2'

 


-------------------------------------------
-- СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ
DECLARE @SQLString NVARCHAR(4000)
DECLARE @subject as NVARCHAR(1000) = ''
DECLARE @finalmassage as NVARCHAR(4000) = ''

 

-------------------------------------------
-- ТЕЛО СКРИПТА

 

-- Переводим базы в простую модель восстановления
SET @SQLString = 'ALTER DATABASE ' + @DBName + ' SET RECOVERY SIMPLE WITH NO_WAIT;'    
PRINT @SQLString
BEGIN TRY 
    EXEC sp_executesql @SQLString
END TRY
BEGIN CATCH  
    -- Ошбика выполнения операции
    SET @subject = 'ОШИБКА перевода базы данных ' + @DBName + ' в простую модель восстановоления '
    SET @finalmassage = 'ОШИБКА перевода базы данных ' + @DBName + ' в простую модель восстановоления ' + CHAR(13) + CHAR(13)
        + 'Код ошибки: ' + CAST(ERROR_NUMBER() as nvarchar(10)) + CHAR(13) + CHAR(13)
        + 'Текст ошибки: ' + ERROR_MESSAGE()  + CHAR(13) + CHAR(13)
        + 'Текст T-SQL:' + CHAR(13) + @SQLString  
END CATCH;

 

-- Запускаем сжатие базы данных
USE [ViatecUT2]
GO
DBCC SHRINKFILE (N'CFin831_log',0,TRUNCATEONLY)
GO

 

-- Переводим базы в полную модель восстановления
-------------------------------------------
-- НАСТРАИВАЕМЫЕ ПАРАМЕТРЫ
-- Имя базы данных 
DECLARE @DBName varchar(100) = 'ViatecUT2'

 


-------------------------------------------
-- СЛУЖЕБНЫЕ ПЕРЕМЕННЫЕ
DECLARE @SQLString NVARCHAR(4000)
DECLARE @subject as NVARCHAR(1000) = ''
DECLARE @finalmassage as NVARCHAR(4000) = ''

 

-------------------------------------------
-- ТЕЛО СКРИПТА
SET @SQLString = 'ALTER DATABASE ' + @DBName + ' SET RECOVERY FULL;'    
PRINT @SQLString
BEGIN TRY 
    EXEC sp_executesql @SQLString
END TRY
BEGIN CATCH  
    -- Ошбика выполнения операции
    SET @subject = 'ОШИБКА перевода базы данных ' + @DBName + ' в полную модель восстановоления '
    SET @finalmassage = 'ОШИБКА перевода базы данных ' + @DBName + ' в полную модель восстановоления ' + CHAR(13) + CHAR(13)
        + 'Код ошибки: ' + CAST(ERROR_NUMBER() as nvarchar(10)) + CHAR(13) + CHAR(13)
        + 'Текст ошибки: ' + ERROR_MESSAGE()  + CHAR(13) + CHAR(13)
        + 'Текст T-SQL:' + CHAR(13) + @SQLString  
END CATCH;
  • /sites/data/pages/sql_-_zapros_i_reglament_dlja_obrezki_fajla_tranzakcij_trn.txt
  • Последнее изменение: 2022/12/12 09:29
  • tro