Keep stored procedures / UDF in separate database Is it good practice to keep all stored procedures in separate database which has no data and all tables with real data in separate database(s)? Main reason: to be able to upgrade stored procedures with simple restore which does not affect the production data. Second (optional) reason: 2+ databases can be processed by the same set of stored procedures.
I have never seen that approach used.  If you are keeping your database schema in a source control system, then you can generate deployment scripts.  Such tools can compare previous versions of your schema and deploy the changes.  SQL Server Data Tools is available in Visual Studio.