La idea en sí no la veo equivocada; Tal vez algunos detalles...
Por ejemplo, yo no crearía una Base de Datos por mes, sino que mantendría dos Bases de Datos, una "activa" y otra de "histórico" con los datos que cada x tiempo mueves desde la otra.
Para "mover" los datos entra ambos Bases de Datos, puedes utilizar los
DTS de SQL server. Puedes programar uno para que te "mueva" los datos de cierta antiguedad de unas tablas a otras.
Utiliza los JOB's de SQL Server para lanzar la ejecución del DTS cada x tiempo; Por ejemplo, programa un job nocturno para que te ejecute el DTS de "movimiento de datos" (normalmente cuando menos actividad hay en las Bases de datos).