microsoft-sql-server:t-sql-script-samples:how-to-get-and-bulk-change-recovery-model-for-all-databases-sql-server
Различия
Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
| microsoft-sql-server:t-sql-script-samples:how-to-get-recovery-mode-for-all-databases [20.08.2017 09:50] – создано Алексей Максимов | microsoft-sql-server:t-sql-script-samples:how-to-get-and-bulk-change-recovery-model-for-all-databases-sql-server [20.08.2017 11:42] (текущий) – Алексей Максимов | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ===== Как получить режим восстановления баз данных SQL Server ===== | + | ===== Как получить и изменить режим восстановления |
| + | |||
| + | {{: | ||
| Получить режим восстановления для всех баз данных: | Получить режим восстановления для всех баз данных: | ||
| <code tsql> | <code tsql> | ||
| - | SELECT name, | + | SELECT name, |
| FROM sys.databases | FROM sys.databases | ||
| ORDER BY recovery_model_desc, | ORDER BY recovery_model_desc, | ||
| - | Другой вариант получить режим восстановления для всех баз данных за исключением системных: | + | Другой вариант получить режим восстановления для всех баз данных, за исключением системных: |
| - | <code tsql> | + | <code tsql> |
| FROM sysdatabases | FROM sysdatabases | ||
| WHERE name not in (' | WHERE name not in (' | ||
| - | ORDER BY Recovery_mode, name</ | + | ORDER BY Recovery_model, name</ |
| + | |||
| + | |||
| + | Как изменить режим восстановления на **SIMPLE** для всех баз дынных, | ||
| + | <code tsql>USE MASTER | ||
| + | declare | ||
| + | @isql varchar(2000), | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | FROM sys.master_files mf | ||
| + | inner join sys.databases d | ||
| + | on mf.database_id = d.database_id | ||
| + | where recovery_model_desc <> ' | ||
| + | and d.name not in (' | ||
| + | and mf.type_desc = ' | ||
| + | open c1 | ||
| + | fetch next from c1 into @dbname, @logfile | ||
| + | While @@fetch_status <> -1 | ||
| + | begin | ||
| + | |||
| + | select @isql = 'ALTER DATABASE ' + @dbname + ' SET RECOVERY SIMPLE' | ||
| + | print @isql | ||
| + | exec(@isql) | ||
| + | select @isql=' | ||
| + | print @isql | ||
| + | exec(@isql) | ||
| + | select @isql=' | ||
| + | print @isql | ||
| + | exec(@isql) | ||
| + | | ||
| + | fetch next from c1 into @dbname, @logfile | ||
| + | end | ||
| + | close c1 | ||
| + | | ||
| + | </ | ||
| ---- | ---- | ||
| Строка 26: | Строка 65: | ||
| {{: | {{: | ||
| - | {{tag> | + | {{tag> |
| ~~DISCUSSION~~ | ~~DISCUSSION~~ | ||
microsoft-sql-server/t-sql-script-samples/how-to-get-and-bulk-change-recovery-model-for-all-databases-sql-server.1503222630.txt.gz · Последнее изменение: — Алексей Максимов