| title | Execute T-SQL from a Script File with sqlcmd | |
|---|---|---|
| description | Learn how to use sqlcmd to run a Transact-SQL script file. It can contain Transact-SQL statements, sqlcmd commands, and scripting variables. | |
| author | dlevy-msft | |
| ms.author | dlevy | |
| ms.reviewer | maghan, randolphwest, mathoma | |
| ms.date | 09/27/2024 | |
| ms.service | sql | |
| ms.subservice | tools-other | |
| ms.topic | how-to | |
| ms.collection |
|
|
| ms.custom |
|
|
| helpviewer_keywords |
|
|
| monikerRange | >=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric-sqldb |
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics PDW FabricSQLDB]
Use sqlcmd to run a Transact-SQL script file. A Transact-SQL script file is a text file that can contain a combination of Transact-SQL statements, sqlcmd commands, and scripting variables.
Assuming you've installed the AdventureWorks2022 sample database, follow the example in this section to create a script file that you can run from the command prompt with sqlcmd.
To create a Transact-SQL script file by using Notepad, follow these steps:
-
Select Start, point to All Programs, point to Accessories, and then select Notepad.
-
Copy and paste the following Transact-SQL code into Notepad::
USE AdventureWorks2022; GO SELECT p.FirstName + ' ' + p.LastName AS 'Employee Name', a.AddressLine1, a.AddressLine2 , a.City, a.PostalCode FROM Person.Person AS p INNER JOIN HumanResources.Employee AS e ON p.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.BusinessEntityAddress bea ON bea.BusinessEntityID = e.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = bea.AddressID; GO
-
Save the file as myScript.sql in a folder, such as
C:\scriptsdrive.
-
Open a command prompt window.
-
In the Command Prompt window, type:
sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql -
Press ENTER.
A list of [!INCLUDE ssSampleDBCoShort] employee names and addresses is written to the command prompt window.
-
Open a command prompt window.
-
In the Command Prompt window, type:
sqlcmd -S myServer\instanceName -i C:\scripts\myScript.sql -o C:\EmpAdds.txt -
Press ENTER.
No output is returned in the Command Prompt window. Instead, the output is sent to the EmpAdds.txt file. You can verify this output by opening the EmpAdds.txt file.