I just found this out at my new job: Clients can have more than one database with the same schema. For some reason, they wanted their data separate..for example..clients wanted to have data related to their A-Division in one database, data related to their B-Division in another DB and so on. So they could have up to 999 databases at most! Anyway, so what they did here was to create ONE "Stored Proc" database that they give to the clients. All stored procs are created in that ONE DB..then the stored procs are dynamic and point to any database. "Database" is a parameter that's passed to the SPs. I know Dynamic stored procs are not precompiled. So that's one reason not to use them. Is there other reasons like security as not to use them?