{{:wiki:icons:t-sql.png?nolink&90 |}} Backup Db User [[hobby:development:sql|{{ :wiki:icons:left_arrow.png?48|Vai alla mappa}}]]\\ //(Esegue il backup di DB utente di un'istanza SQL Server)// \\ \\ USE [master] DECLARE @FolderBck NVARCHAR(255) = '' -- '\\FS001\ICT400$\PDM_Production\' -- Storage folder for SQL Backup DECLARE @Date DATETIME = GETDATE() DECLARE @FileBck NVARCHAR(255); DECLARE @SqlCmd NVARCHAR(MAX); DECLARE @Database VARCHAR(255) DECLARE @SubFolder NVARCHAR(255); -- Declares and opens a cursor to list all non sytem database -- ====================================================================== DECLARE DatabaseCursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE name NOT IN ('master','msdb','tempdb','model','distribution') OPEN DatabaseCursor FETCH NEXT FROM DatabaseCursor INTO @Database WHILE @@FETCH_STATUS = 0 BEGIN -- Create sub forlder for each DB SET @SubFolder = @FolderBck + @Database +'\' EXECUTE master.dbo.xp_create_subdir @SubFolder SET @FileBck = @SubFolder + CONVERT(VARCHAR,@Date,112)+'_'+LEFT(REPLACE(CONVERT(VARCHAR,@Date,8),':',''),4)+'_' + @Database + '.bak' SET @SqlCmd = 'BACKUP DATABASE [' + @Database + '] TO DISK = ''' + @FileBck + ''' WITH NOFORMAT, NOINIT, NAME = ''' + @Database + '_BackUp_Completo'', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10' -- PRINT @SqlCmd -- Executes current data base backup EXEC (@SqlCmd) SET @FileBck = @SubFolder + CONVERT(VARCHAR,@Date,112)+'_'+LEFT(REPLACE(CONVERT(VARCHAR,@Date,8),':',''),4)+'_' + @Database + '.trn' SET @SqlCmd = 'BACKUP LOG [' + @Database + '] TO DISK = ''' + @FileBck + ''' WITH NOFORMAT, NOINIT, NAME = ''' + @Database + '_BackUp_Tansation_Log'', SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10' -- PRINT @SqlCmd -- Executes current data base backup EXEC (@SqlCmd) FETCH NEXT FROM DatabaseCursor INTO @Database END CLOSE DatabaseCursor DEALLOCATE DatabaseCursor