To make it possible to support multiple database types, the sql server specific code has to be refactored into a separate assembly. Make sure it builds on top of a series of base classes as a lot of the code likely will be re-used by providers for other DBs