Erhan's Blog

its all just a bunch of pixels

About the author

Author Name is someone.
E-mail me Send mail

Recent comments

Authors

Tags

None

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2008

    SMO : Backup All Databases

    using System;
    using Microsoft.SqlServer.Management.Common;
    using Microsoft.SqlServer.Management.Smo;
    
    namespace SmartDbBackup
    {
        internal class Program
        {
            private static void Main(string[] args)
            {
                ServerConnection serverConnection = new ServerConnection("{SERVERNAME}");
                Server server = new Server(serverConnection);
    
                server.ConnectionContext.StatementTimeout = 0;
    
                foreach (Database database in server.Databases)
                {
                    if (!database.IsSystemObject)
                    {
                        Backup backup = new Backup();
                        backup.Database = database.Name;
                        backup.Devices.AddDevice(@"\\{FILESERVER}\{FILESHARE}\"
                                                 + database.Name
                                                 + DateTime.Now.ToString("yyyyMMdd_hhmmss")
                                                 + ".bak",
                                                 DeviceType.File);
                        backup.PercentCompleteNotification = 5;
                        /* wire up events */
                        backup.PercentComplete += backup_PercentComplete;
                        backup.Complete += backup_Complete;
                        backup.Initialize = true;
                        backup.Incremental = false;
                        backup.SqlBackup(server);
                        //Console.Write(backup.Script(server));
                    }
                }
    
                Console.ReadLine();
            }
    
            private static void backup_Complete(object sender, ServerMessageEventArgs e)
            {
                Console.WriteLine("Backup complete.");
            }
    
            private static void backup_PercentComplete(object sender, PercentCompleteEventArgs e)
            {
                Console.WriteLine("Percent complete: {0}", e.Percent);
            }
        }
    }

    Posted by ehosca on Friday, September 28, 2007 7:05 AM
    Permalink | Comments (0) | Post RSSRSS comment feed

    SQL : List of all Indexes

    WITH    IndexList
              AS ( select   schema_name(sys.objects.schema_id) as SchemaName,
                            sys.objects.[name] as TableName,
                            sys.columns.[name] as ColumnName,
                            Indexes.IndexName as IndexName,
                            Composite = case Indexes.IsComposite
                                          when 0 then 'NO'
                                          when 1 then 'YES'
                                          else 'unknown'
                                        end
                   from     sys.objects
                            inner join sys.columns on ( sys.columns.[object_id] = sys.objects.[object_id] )
                            inner join ( select sys.indexes.[name] as IndexName,
                                                IsComposite = case ( select count(*)
                                                                     from   sys.indexes CtrlNdx
                                                                            inner join sys.index_columns CtrlNdxCol on ( CtrlNdxCol.[object_id] = CtrlNdx.[object_id] )
                                                                                                                       and ( CtrlNdxCol.index_id = CtrlNdx.index_id )
                                                                     where  ( CtrlNdx.index_id = sys.indexes.index_id )
                                                                            and ( CtrlNdx.[object_id] = sys.objects.[object_id] )
                                                                   )
                                                                when 1 then 0
                                                                else 1
                                                              end,
                                                sys.indexes.[object_id] as [object_id],
                                                sys.index_columns.column_id as column_id
                                         from   sys.indexes
                                                inner join sys.index_columns on ( sys.index_columns.[object_id] = sys.indexes.[object_id] )
                                                                                and ( sys.index_columns.index_id = sys.indexes.index_id )
                                                inner join sys.objects on ( sys.objects.[object_id] = sys.indexes.[object_id] )
                                                inner join sys.columns on ( sys.columns.[object_id] = sys.objects.[object_id] )
                                                                          and ( sys.columns.column_id = sys.index_columns.column_id )
                                       ) Indexes on ( Indexes.[object_id] = sys.objects.[object_id] )
                                                    and ( Indexes.column_id = sys.columns.column_id )
                   where    ( sys.objects.[type] = 'U' )
                            and ( sys.objects.[name] not in ( 'sysdiagrams' ) )
                 )
        SELECT DISTINCT
                tablename,
                indexname
        FROM    IndexList 

    Posted by ehosca on Thursday, September 13, 2007 3:30 PM
    Permalink | Comments (0) | Post RSSRSS comment feed

    LINK: 12 Things to Do with Coca Cola

     

    12 Things to Do with Coca Cola


    Posted by ehosca on Sunday, September 02, 2007 11:24 AM
    Permalink | Comments (0) | Post RSSRSS comment feed