Migrating a database from server to server is typically done for one of the following reasons: * Capacity - the data has outgrown the existing hardware's ability to cope * Relocation - the database is being transferred from one datacenter to another * Handover - the database was the property of one company, and is now being transferred to another Things to think about when doing this: * Protecting the data while it's in transit - encrypted backups, with passwords sent separately, for example * Any scheduled tasks that that database depends on * Any special server configuration (collation, MAXDOP, etc) * Any user IDs that are required in order to access the database * Any links to that data - applications, other database servers etc * compliance - is the data allowed to be transferred? SQL Server 2012 introduced the concept of [contained databases], that helps with a small amount of this - not enough, though. :
You need to define what you mean by migrate. Do you mean move from one server to another because the current server is too small? Do you mean move from a development or test situation into a production situations? Do you mean moving from one version of SQL Server to a different version of SQL Server? Do you mean migrating from on-premises SQL Server to a Windows Azure SQL Database? Do you mean moving from SQL Server to some other RDBMS? Database migration is not a defined term that has a specific meaning. Although, usually it refers to changing platforms, such as going from Oracle to SQL Server.