About Me - Who is DR DBA?

Hello. My name is Rudy Panigas and I am a Production Senior Microsoft SQL Server Database Administrator (DBA) with over 14 years of experience. Have published articles with SQL Central, am a leader for the my local PASS chapter in Toronto (TORPASS) and love to automate anything SQL including disaster recovery. I created this blog to share my views, knowledge and to discuss Microsoft SQL server in order to help out others in this field. Please test these scripts before using. I do not warranty and do not take any responsibility for it, its misuse or output it creates. You can reach me at this email address: sqlsurgeon@outlook.com

Thursday, August 27, 2015

How to Upgrade SQL Server

Hello everyone,

In this blog, I will provide an outline of recommended tasks for the upgrade to SQL Server 2014. You can use this document to also upgrade to other versions.

To ensure a successful upgrade of your SQL Server to a new version, we need to review the following areas

Pre Work – Before you start
Data Loads – Getting your data loaded
Post Work – Finalize the environment

Pre Work – Before you Start

1. Hardware and Software Requirements for Installing SQL Server 2014
Review the minimum hardware and software requirements like editions

2. The SQL Server 2014 Upgrade Advisor tool
Analyses the configuration and recommends changes that need to be made

3. Review Breaking Changes 
New changes to SQL Server may break applications, scripts and/or functions that are bases on earlier versions of SQL Server

4. Review Behavioral Changes 
Behavior changes affect how features work and/or interact in the new versions

5. Review Release Notes
These notes describes the known issues with current version and should be reviewed before installation

6. Document all your findings
Record what you have learned. Update this document as you go along with the upgrade

7. Database Instant File Initialization      
Turn on this feature in the OS to help speed up the creation of databases

8. Start the installation of SQL Server
Ensure that you install the latest service packs and review cumulative patches

Data Loads – Getting your Data Loaded

1. When creating a new database(s) place data files, partitions and logs on to different disk 

2. Create multiple TempDB files on to different disks (use SSD drives)

3. Create an automated backup job

  • Back up all databases (include system and empty databases)
  • Verify that backup locations are correct
  • Use built in compression

4. Load user database data by restoring from ** latest full ** backups

5. Compatibility level. Ensure that the restored databases are set to compatibility level of new installation. If not set may result in possible issues and you won't be able to take advantage of the new features

  • Compatibility level for 2014  is 120
  • Compatibility level for 2012  is 110
  • Compatibility level for 2008 and  2008R2  is 100  
  • Compatibility level for 2005 is 90

6.  Recovery Model. Document the current recovery models and ensure that the restored database are set to the same

7. Database Ownership. Change the ownership of databases once they are restored to “sa”

8. Collation of all User databases. Review the collation setting for all databases are set correctly

Post Work – Finalize the Environment

1. DBCC CHECKDB WITH DATA_PURITY 
Causes DBCC CHECKDB to check the database for column values that are not valid or out-of-range
Execute this check on “all” databases

     DBCC CHECKDB WITH DATA_PURITY;

2. DBCC UPDATEUSAGE
Reports and corrects pages and row count inaccuracies in the catalog views. These inaccuracies may cause incorrect space usage reports returned by the sp_spaceused system stored procedure.
Execute this check on “all” databases

    DBCC UPDATEUSAGE(db_name);

3. Update Statistics
    Ensure you update statistics on all your databases

            USE db_name;
            GO
            EXEC sp_MSforeachtable @command1='UPDATE STATISTICS ? WITH FULLSCAN';


4. Refresh all Views
    Use sp_refreshview command

5. Perform backups on “all” databases, yes again!

6. Check your compatibility levels

7. Update your finding document

8. Script out your logins from source and apply to new SQL Server.  Also check for orphan logins

9. Script out and recreate link servers, SQL jobs, SSIS packages, SSAS and SSRS and any other objects that have been missed

10. Automate Backup Databases
Perform full database backups often and create automated backup jobs

11. Review Error Logs
Ensure your error logs are clean before using SQL Server.
https://msdn.microsoft.com/en-us/library/ms187109.aspx