-3
데이터베이스 생성 날짜가 3 개월 이상인 경우 SQL Server 데이터베이스를 백업 및 삭제하는 방법데이터베이스 생성 날짜가 3 개월 이상인 경우 SQL Server 데이터베이스를 백업하고 삭제하는 방법
데이터베이스 생성 날짜가 3 개월 이상인 경우 SQL Server 데이터베이스를 백업 및 삭제하는 방법데이터베이스 생성 날짜가 3 개월 이상인 경우 SQL Server 데이터베이스를 백업하고 삭제하는 방법
이렇게 사용하는 경우, 이 스크립트는 문제를 일으킬 수 있습니다. @tsql 매개 변수 만 선택하고 EXEC를 주석 처리 했으므로 먼저 실행될 내용을 볼 수 있습니다.
/* Create a cursor to iterate through the databases you want to backup and delete */
DECLARE @tsql nvarchar(max)
DECLARE @dbname varchar(500)
DECLARE MyCursor CURSOR STATIC FORWARD_ONLY
FOR
SELECT [name]
FROM sys.databases
WHERE create_date < DATEADD (M, -3, GETDATE())
AND [name] NOT IN ('master', 'model', 'msdb', 'tempdb')
OPEN MyCursor
WHILE (1=1)
BEGIN
DECLARE
@Date varchar(20) = GETDATE()
FETCH NEXT FROM MyCursor INTO @dbname
IF @@FETCH_STATUS <> 0 BREAK
SET @tsql = 'BACKUP DATABASE [' + @dbname + '] TO DISK = N''S:\Backups\' + @dbname + ' ' + @Date + '.bak'' WITH NOFORMAT, NOINIT, SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10'
SELECT @tsql;
-- EXEC sp_executesql @tsql
SET @tsql = 'ALTER DATABASE [' + @dbname + '] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE [' + @dbname + ']'
SELECT @tsql
-- EXEC sp_executesql @tsql
END
CLOSE MyCursor;
DEALLOCATE MyCursor;
GO
대단히 감사합니다. –
http://stackoverflow.com/questions/18876078/list-all-the-databases-on-one-sql-server-in-the-order-they-were-created는 식별 가까이 가져 데이터베이스. http://stackoverflow.com/questions/122690/what-is-a-simple-command-line-program-or-script-to-backup-sql-server-databases 백업하는 방법을 보여줍니다 .... https : //dba.stackexchange.com/questions/34264/how-to-force-drop-database-in-sql-server-2008/34265에서 드롭하는 방법을 보여줍니다 .... 몇 분을 보내고 문제를 해결하십시오. 구성 요소를 찾아서 함께 배치하십시오! – xQbert