title: Backing up all databases + index creation scripts?
body: <p>I was trying to backup all my SQL Server databases and came across the following script from <a href="http://www.mssqltips.com/tip.asp?tip=1070" rel="nofollow">here</a>:</p>
  
  <pre><code>DECLARE @name VARCHAR(50) -- database name  
  DECLARE @path VARCHAR(256) -- path for backup files  
  DECLARE @fileName VARCHAR(256) -- filename for backup  
  DECLARE @fileDate VARCHAR(20) -- used for file name 
  
  SET @path = 'C:\Backup\'  
  
  SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 
  
  DECLARE db_cursor CURSOR FOR  
  SELECT name 
  FROM master.dbo.sysdatabases 
  WHERE name NOT IN ('master','model','msdb','tempdb')  
  
  OPEN db_cursor   
  FETCH NEXT FROM db_cursor INTO @name   
  
  WHILE @@FETCH_STATUS = 0   
  BEGIN   
         SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
         BACKUP DATABASE @name TO DISK = @fileName  
  
         FETCH NEXT FROM db_cursor INTO @name   
  END   
  
  CLOSE db_cursor   
  DEALLOCATE db_cursor
  </code></pre>
  
  <p>This works perfectly fine except that I'm thinking that I'll have to reconstruct all the indexes of the database after I restore it. I wanted to know if it is possible to dump the <code>CREATE</code> statements for all the indexes so that I can re-run them in one-go after restoring all these database?</p>