title | description | author | ms.author | ms.reviewer | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | monikerRange | |
---|---|---|---|---|---|---|---|---|---|---|---|
Execute T-SQL from a script file with sqlcmd |
Learn how to use sqlcmd to run a Transact-SQL script file. It can contain Transact-SQL statements, sqlcmd commands, and scripting variables. |
dlevy-msft |
dlevy |
maghan, randolphwest, mathoma |
09/27/2024 |
sql |
ssms |
conceptual |
|
>=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current |
[!INCLUDE sql-asdb-asdbmi-asa-pdw]
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:\scripts
drive.
-
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.