Script objects in SQL Server Management Studio
This tutorial teaches you to generate Transact-SQL (T-SQL) scripts for various objects found within SQL Server Management Studio (SSMS). In this tutorial, you find examples of how to script the following objects:
- Queries, when you perform actions within the GUI
- Databases in two different ways (Script As and Generate Script)
- Tables
- Stored procedures
- Extended events
To script any object in Object Explorer, right-click it and select the Script Object As option. This tutorial shows you the process.
Prerequisites
To complete this tutorial, you need SQL Server Management Studio, access to a server that's running SQL Server, and an AdventureWorks database.
- Install SQL Server Management Studio.
- Install SQL Server 2017 Developer Edition.
- Download AdventureWorks sample databases.
Instructions for restoring databases in SSMS are here: Restore a database.
Script queries from the GUI
You can generate the associated T-SQL code for a task whenever you use the GUI in SSMS to complete it. The following examples show how to do so when you back up a database and when you shrink the transaction log. These same steps can be applied to any action that's completed via the GUI.
Script T-SQL when you back up a database
Connect to a server that's running SQL Server.
Expand the Databases node.
Right-click the database AdventureWorks2022 > Tasks > Back Up:
Configure the backup the way you want. For this tutorial, everything is left at default. However, any changes made in the window also reflect in the script.
Select Script > Script Action to New Query Window:
Review the T-SQL populated in the query window.
Select Execute to execute the query to back up the database via T-SQL.
Script T-SQL when you shrink the transaction log
Right-click the database AdventureWorks2022 > Tasks > Shrink > Files:
Select Log from the File type drop-down list box:
Select Script and Script Action to Clipboard:
Open a New Query window and paste. (Right-click in the window. Then select Paste.)
Select Execute to execute the query and shrink the transaction log.
Script databases
The following section teaches you to script out the database by using the Script As and Generate Scripts options. The Script As option re-creates the database and its configuration options. You can script both the schema and the data by using the Generate Scripts option. In this section, you create two new databases. You use the Script As option to create AdventureWorks2022a. You use the Generate Scripts option to create AdventureWorks2022b.
Script a database by using the Script option
Connect to a server that's running SQL Server.
Expand the Databases node.
Right-click the database AdventureWorks2022 > Script Database As > Create To > New Query Editor Window:
Review the database creation query in the window:
This option scripts out only the database configuration options.
On your keyboard, select Ctrl+F to open the Find dialog box. Select the down arrow to open the Replace option. On the top Find line, type AdventureWorks2022, and on the bottom Replace line, type AdventureWorks2022a.
Select Replace All to replace all instances of AdventureWorks2022 with AdventureWorks2022a.
Select Execute to execute the query and create your new AdventureWorks2022a database.
Script a database by using the Generate Scripts option
Connect to a server that's running SQL Server.
Expand the Databases node.
Right-click AdventureWorks2022 > Tasks > Generate Scripts:
The Introduction page opens. Select Next to open the Chose Objects page. You can select the entire database or specific objects in the database. Select Script entire database and all database objects.
Select Next to open the Set Scripting Options page. Here you can configure where to save the script and some additional advanced options.
a. Select Save to new query window.
b. Select Advanced and make sure these options are set:
- Script Statistics set to Script Statistics.
- Types of data to script set to Schema only.
- Script Indexes set to True.
Note
You can script the data for the database when you select Schema and data for the Types of data to script option. However, this isn't ideal with large databases. It can take more memory than SSMS can allocate. This limitation is okay for small databases. If you want to move data for a larger database, use the Import and Export Wizard.
Select OK, and then select Next.
Select Next on the Summary. Then select Next again to generate the script in a New Query window.
On your keyboard, open the Find dialog box (Ctrl+F). Select the down arrow to open the Replace option. On the top Find line, enter AdventureWorks2022. On the bottom Replace line, enter AdventureWorks2022b.
Select Replace All to replace all instances of AdventureWorks2022 with AdventureWorks2022b.
Select Execute to execute the query and create your new AdventureWorks2022b database.
Script tables
This section covers how to script out tables from your database. Use this option to either create the table or drop and create the table. You can also use this option to script the T-SQL associated with modifying the table. An example is to insert into it or update to it. In this section, you drop a table and then re-create it.
Connect to a server that's running SQL Server.
Expand your Databases node.
Expand your AdventureWorks2022 database node.
Expand your Tables node.
Right-click dbo.ErrorLog > Script Table as > DROP And CREATE To > New Query Editor Window:
Select Execute to execute the query. This action drops the Errorlog table and re-creates it.
Note
The Errorlog table is empty by default in the
AdventureWorks2022
database. So you're not losing any data by dropping the table. However, following these steps on a table with data causes data loss.
Script stored procedures
In this section, you learn how to drop and create a stored procedure.
Connect to a server that's running SQL Server.
Expand your Databases node.
Expand your Programmability node.
Expand your Stored Procedure node.
Right-click the stored procedure dbo.uspGetBillOfMaterials > Script Stored Procedure As > DROP and CREATE To > New Query Editor Window:
Script extended events
This section covers how to script out extended events.
Connect to a server that's running SQL Server.
Expand your Management node.
Expand your Extended Events node.
Expand your Sessions node.
Right-click the extended session you're interested in > Script Session As > CREATE To > New Query Editor Window:
In the New Query Editor Window, modify the new name of the session from system_health to system_health2. Select Execute to execute the query.
Right-click Sessions in Object Explorer. Select Refresh to see your new extended event session. The green icon next to the session indicates the session is running. The red icon indicates the session is stopped.
Note
You can start the session by right-clicking it and selecting Start. However, this is a copy of the already running system_health session, so you can skip this step. You can delete the copy of the extended event session: right-click it and select Delete.
Next steps
The best way to get acquainted with SSMS is through hands-on practice. These tutorial and how-to articles help you with various features available within SSMS. These articles teach you how to manage the components of SSMS and how to find the features that you use regularly.