Did you know that SQL Server Management Studio can help you arrange your SQL scripts into logical groupings? SSMS includes the ability to associate multiple code files together into projects for better clarity and ease of maintenance.
SSMS Script Projects
For those familiar with Visual Studio, you’ll recognize the solution/project layout in SQL Server Management Studio. Much like its Visual Studio cousin, SSMS has a Solution Explorer for arranging code assets. SSMS allows for the creation of solutions, each of which may contain one or more projects. Each project can contain multiple SQL files.
As shown in the above screenshot, I have a solution named SSIS Catalog Utilities, in which there are three projects. The project named Common is expanded, showing the contained queries and connection in that project.
When using SSMS projects to manage SQL files, the structure or functionality of those files does not change. In fact, the SQL files themselves are not changed when they are part of a project; each project file (with an extension of .ssmssqlproj) defines the code files that are part of that project. Each of the query files may optionally define its default connection within that project, and the association between SQL queries and connections is also stored in the project file.
If you look closely, you’ll also see a Miscellaneous virtual folder, in which I have stored a readme.txt file. This is a very handy way to store supplemental information, particularly documentation, as part of your SSMS project.
Using SSMS Projects
To create a new SSMS project, simply use the File –> New –> Project menu to bring up the New Project dialog box. Here, you’ll give your project a name, and optionally set a different name for the solution (by default the solution name is identical to the project name).
To add a new project to an existing solution, right click the solution and choose Add –> New Project. If you want to include an existing SSMS project in this solution, use the Add –> Existing Project option, and the solution will reference the existing project files (it does not copy them to this directory).
If you want to add a new code file to a project, the project’s right-click menu includes the option to Add –> New item. To add an existing file to the project, choose Add –> Existing Item. Unlike adding a project to a solution, adding an existing file to a project does make a copy of that file and places it in the directory in which the other project files are stored.
SSMS Projects Summarized
The use of SSMS projects to manage T-SQL code is certainly not required, but this functionality makes code storage, management, and source control much easier. If you regularly work with SQL Server and haven’t yet tried out SSMS projects, I recommend giving it a try.