g. YES. Improve this answer. sqlcmd -S <servername> -U <user> -P <passwd> -d <database> -h-1 -W -Q "select * from LAW. Install the tools for your platform: Red Hat Enterprise Linux; SUSE Linux Enterprise Server; Ubuntu; macOS; Docker; This article describes how to install the command-line tools. Note: Instead of -E, you can use -U and -P to specify user credentials. In order to connect to the default instance of the SQL Server on the current machine simply use sqlcmd: C:> sqlcmd. Well, this should be easy enough to test by placing some line-continuation into a Stored Procedure. zip to c:windowssystem32. Side-Note: Some "Fixes" on the Internet involve doing something differently, then restarting. 0 : Login timeout expired. I found isql fails on running the below SQL script: Code Snippet CREATE TABLE #temp (a datetime) INSERT #temp VALUES (NULL) SELECT * FROM #temp DROP TABLE #temp When I run it by isql. To restore a full database backup of master, use the following RESTORE DATABASE Transact-SQL statement: SQL. Additional explanation:-S”,” – sets the delimiter to the comma – w number – sets the length of the csv line before it wraps-W – removes trailing whitespace – h-1 – removes header in CSV (Column Header)-E (use trusted connection) – instead of this use -U username and -P passwordName it "run. Anyone knows the rational or the history ? Is odbc slower than ole db ? I have an application which uses osql to connect. I installed the following. I will first create a test table in the. Is there a way I can specify output file format in SQLCMD mode so that I can read it back using BULK INSERT?I want to do something like this::CONNECT SERVER1 :OUT 'E: est' SELECT TOP 100 ID, NAME FROM DB1. net -U {username}@{database-server-name} -P {password} -d {database-name} -i {SQL file} For example, when the SQL script is coming from an artifact source, {SQL file} will be of the. Install sqlncli 2008 r2. Sign in to vote. In Services and connections select SQLEXPRESSDatabase EngineRemote connections. To make a query in non-interactive mode, use the -Q (or --query) argument, followed by a T-SQL statement surrounded in double or single quotes. sql file with the osql. # Review results SQLCMD -Q "SELECT COUNT(1) FROM MyDb. Next the -Q is the query specified. Invoke-Sqlcmd is a SQL Server cmdlet that runs scripts that contain statements from the languages (Transact-SQL and XQuery) and commands that are supported by the sqlcmd utility. SQL Server utilities interpret GO as a signal that they should send the current batch of Transact-SQL statements to an instance of SQL Server. 3 Answers Sorted by: 10 The main recommendations appear to be: If you have the install discs / files, then you should be able to install just the Client Tools. Nous avons un utilitaire qui exécute les scripts et transmet les valeurs pour $(params), ce qui nous permet essentiellement de configurer et d'automatiser les builds pour un large éventail de templates de données. Unzip OSQL. -E is the trusted connection, which means it is using your windows credentials. diskspace (. logファイルに出力する。. 4: This tool is still in it’s infancy stage and does not have all the command arguments available in SQLCMD. I created a new user called test2 using the management console. PostgreSQL: psql Oracle: sqlplus (SQL Command Line for SQL*Plus) MySQL: mysql Microsoft SQL Server: sqlcmd SQLite: sqlite3 In the majority of cases, these tools support two types of commands: standard. Differences when using osql vs sqlcmd. サンプル db_nameに接続し、script. Please see Running SQL Server PowerShell. sqlcmd -d YOUR_DB -E -i YOUR_SCRIPT. If you are looking for examples of how to use sqlcmd or bcp, see the Related content at the end of. Step 1. You can verify this output by opening. Hi all, I executed this 2 commands: D:>osql -S clustersql -V1 -b -d Archive -U DiegoLocal -P DiegoLocal -Q " exec test_log; " and D:>sqlcmd-S clustersql -V1 -b -d Archive -U DiegoLocal -P DiegoLocal -Q " exec test_log; " In the first case (osql) I got the output line by line as soon as. exe and OSQL. You will be asked to select a SQL Server edition. exe SSDT-Setup-ENU-vs2017-15. It is really a command used by the SQLCMD, OSQL and ISQL. As you can see, the copy cmd command is copying the files to the shared folder:Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Named Pipes Provider: Could not open a connection to SQL Server [2]. 1. first all stored procedure names will be stored in file sp_list. sqlcmd -S 127. To dump all tables into corresponding CSV files, here is the Bash script:But " SQLCMD -L " and " OSQL -L " fail [2]. Ini berarti bahwa sqlcmd dan osql dapat digunakan di samping satu sama lain tanpa gangguan. (If your server is not already registered, right-click Local Server Groups, point to Tasks, and then click Register Local Servers. So I am planning to replace osql commands with sqlcmd. Erland Sommarskog, SQL Server MVP, [email protected]. C:Temp>sqlcmd 1>. Chaque script a 0 ou plus $(SomeParam) défini. Allows you to enter Transact-SQL statements, system procedures, and script files at the command prompt. Example: Pete's Laptop/SQLSERV /d = the database name. Should they be using sqlcmd instead ? I'd read that osql is using odbc connection since SQL Server 2000. See download links below. Both osql and sqlcmd have 1> and it seems like this is not recognized as prompt by the underlying comint-mode. If you've got SQL Server 2012, it's very easy: import-module sqlps. SSMS has no problems when running locally on the computer. Someone asked a question about how to call a stored procedure with a. exe, OSQL. osql and sqlcmd. May 27, 2016 at. ; System-wide method: symlink the executable to a directory already in the path. Mặt khác, OSQL không có khả năng chạy các tập lệnh. Jul 24, 2015 at 14:03. BackupDatabase @Databases='testdb'" 2) The Dbatools PowerShell Module. Yes it is. Anyone knows the rational or the history ? Is odbc slower than ole db ? I have an application which uses osql to connect. Your sqlcmd command is running in a new window, but your pipe is looking for output from the START command itself in the original window - and there isn't any. Share. C:> SQLCMD -S Serverinstance -E or then you need to define a user/password set to achieve a SQL Server login: C:> SQLCMD -S Serverinstance -U (login in) -P (password) All the many SQLCMD parameters are well-documented on MSDN SQL Server Books Online!Try using the following : sqlcmd -S <servername> -U <user> -P <passwd> -d <database> -W -Q "select * from LAW. status is 2. I am working on the tool that will silently deploy SQL server instance and I need to run a few scripts after installation, but I struggle to find where SQLCMD utility is. SQLCMD -S <instance> -E -d master. sql. 基本、sqlcmdコマンドを使う。SQL Serverをインストールすれば、Pathは通ってるはず。 通ってなければ通す。 ログイン. To switch between contexts, run. Type in OSQL -S server -E where "server" is replaced by your server's name, then press ↵ Enter . I have an installer which installs the application files and creates a sql server database by running a . dbo. exe utility. This is what everybody else should be using. The PowerShell allows importing . In this article, I will explain some of the features this new command line utility brings to administering SQL Server. Sqlcmd was added in SQL Server 2005 and offers additionally functionality which SQL Server 2005 provides. Rob Sheldon gives you the basic facts about this. osql -S "SQLTEST1" -E -Q"exec msdb. myWidenative;" REM Import data bcp TestDatabase. Any results generated by…sqlcmd Utility. OSQL and SQLCMD does not work from commandline and produces this constant burnt in message. exe and any required parameters ; Create a Windows Scheduled Task and add the command with all the required parameters; E. bcp: Bulk import-export utility. This approach works fine if the installer in running in a machine which has sql server/express 2008 installed. exe's -i argument executes SQL from a file which is what the OP wanted. SqlCmdLnUtils. Add a comment. osql vs Invoke-Sqlcmd-- redirecting output of the latter. SQLCMD -U dbuser -d dbname -w 255 -h-1 -P mypassword -S dbserver -Q "ALTER TABLE xyz ADD abcd NUMERIC(1)" This parameter has been there since before 2005, with OSQL, then recently (less than a year ago) we replaced OSQL with SQLCMD. This command also assumes you are using integrated security. In this installment, I will talk about differences among SQLCMD, osql, and isql. OLD Statement. OLEDB. Updated Visual Studio 2017 isolated shell – We picked up the latest shell from Visual Studio (VS) that unlocks all the accessibility fixes that end in both SSMS and VS as well as the latest security fixes that went into VS. Your friend is sqlcmd (Microsoft Technet) Create a SQL file with the script required to run your cleanup job ; Run the script with sqlcmd. OSQL vs SQLCMD. your table details), it will return an ID. 1. I created a new user called test2 using the management console. The -S tells OSQL what server to connect to. The bcp utility can be used to import large numbers of new rows into SQL Server tables. sqlcmd uses ole db connection from SQL Server 2005 to 2008R2. EXEC sp_start_job @job_name = 'sqlagentjobname', @server_name = ' sqlservername'. Why should I care about this old command line tool? The answer is that it can be useful if you have to deal with old SQL Server versions. It is a command that is recognized by the **sqlcmd** and **osql** utilities and SQL Server Management Studio Code Editor. The commands supported are Transact-SQL statements and the subset of the XQuery syntax that is supported by the database engine. For example: bcp. if I use either the osql or sqlcmd tools from the computer with SQL 2005, I get [ODBC Driver Manager] Data. Sqlcmd: Error: Microsoft SQL Server Native Client 10. so if you are using -U. exe? If not, which tool will install it? Alternatives to sqlcmd/best practice. SQLCMD VS OSQL. The next step is to make a batch file which can be run over and over. Long story short, the best results I got were from using the MS SQL Server Management Studio. In SQL Server 2005, Microsoft introduced a new command line tool, SQLCMD, as a replacement for osql and isql. this means that your software is not probably placed into the folder defined by the %PATH% environment variable. Studio has been added to the list of those permitted by FirewallIf the transaction committed was a Transact-SQL distributed transaction, COMMIT TRANSACTION triggers MS DTC to use a two-phase commit protocol to commit all of the servers involved in the transaction. SSMS can be installed in a custom folder – This has been a long standing request. Should they be using sqlcmd instead ? sqlcmd & bcp. g. SQLCMD has superseded SQL in recent versions of SQL Server, while OSQL has been deprecated in favor of. OSQLは最終的にも段階的に廃止されますが、SQL Server 2005のバイナリインストールにはまだ含まれています。 歴史的なSQL Serverのリリースサイクルを念頭に置いて、おそらくOSQLは2010年に私たちを魅了します。 SQLCMDには以下のような多くの利点があります。 I found there are two tools provided by the SQL Server package, osql and sqlcmd. The SQLCMD utility allows users to connect to, send Transact-SQL batches from, and output rowset information from SQL Server instances. Assuming you've done that, there are two methods of resolving this. Connect to the Database Engine by specifying the TCP\IP port number: The workaround is to use osql. txt -h-1. 00. ; In Query Editor in SQLCMD mode. Migration from OSQL to SQLCMD will be very simple because most of the command line switches are. That's why SSMS has "SQLCMD mode" for the expanded syntax. Anyone knows the rational or the history ? Is odbc slower than ole db ? I have an application which uses osql to connect. GO. Allows you to enter Transact-SQL statements, system procedures, and script files at the command prompt. DatabaseBackup @Databases = 'USER_DATABASES',. The use invoke-sqlcmd cmdlet libraries to access SQL data is explained below. Hi, I'd read that osql is using odbc connection since SQL Server 2000. Person; 3> GO Changed database context to. First, you perform the trusted authentication for the default instance followed by the named instance: sqlcmd -S <server name>. To connect to the server, open the connection manager by selecting. Then enter "quit" to exit. If the -P option is used at the end of the command prompt without a. Copy. However the documentation for sqlcmd here suggests you can use a blank password: "If the -U option is used and the -P option is not used, and the SQLCMDPASSWORD environment variable has not been set, sqlcmd prompts the user for a password. < drive :>Program FilesMicrosoft SQL ServerClient SDKODBC110ToolsBinn. 1. No output is returned in the Command Prompt window. It is matured and has more. EXE. . You can add SET NOCOUNT ON to your script to remove the rows affected message and add -h-1 to the command line to remove the column names and the lines underneath them. The results will be the following: 4. I will also give you some pointers on SQLCMD customization. Run the following command to start configuring SQL Server. 2. exe was not in my PATH variable. So in your restore case: sqlcmd -E -S servername -d master -Q ^. If you need to just perform queries against SQL Server databases and save the results to a file, then we can just run SQLCMD or BCP from PowerShell. 0. @Ctznkane525 that is the correct answer, if you write that as answer I will accept it. Afterwards, The directory containing sqlcmd. This module includes a simple Backup-DbaDatabase command that will perform the backup and include the date/time stamp in the file name. Use this if you work for a large corporation like GM. Install the tools for your platform: Red Hat Enterprise Linux; SUSE Linux Enterprise Server; Ubuntu; macOS; Docker; This article describes how to install the command-line tools. By default, commands are terminated and sent to SQL Server by typing the word "GO" on a line by itself. Invoke-SqlCmd - the new cool kid, used inside PowerShell. Just as a side note: if you install the latest command line utils over bcp and sqlcmd version 16, the newest version is retained. I have created a sql query that updates certain tables taking a CSV file as the input. Passwords are case sensitive. I want to write a stored procedure that lists the name of all the servers and their corresponding databases. Just open the 'sqlps' utility and run. Copy files output. ISQL é um utilitário de linha de comando usado para tarefas básicas de administração de banco de dados. rll and make sure the user has the read&execute permission on them. If you connect to a default instance, you just use ComputerName replace. Always use sqlcmd for SQL Server 2005 or higher. SQL Server SQLCMD Basics. sqlcmd -U "sa" -P "password" -S "localhost" -d db_name -i script. If yes, then step 2: (a) try to connect using PowerShell using the command Invoke-Sqlcmd. For more information see SQL Server Books Online. Each time. dbo. sqlcmd: Command-line query utility. I assume, you can connect to the same SQL Servers from other machines (please confirm). sqlcmd: La interfaz de línea de comandos más nueva y elegante para SQL Server. Batch file calls OSQL which executes the SQL script; The OSQL outputs a text file saving the results; There are about 30 databases to be backed up;. 1. The Basics of Excel Data Import to SQL Server. Now let us run a simple test. To connect to your local machine, specify the SQL Instance name and the credentials: sqlcmd -S DESKTOP-5K4TURF\SQLEXPRESS -E. If you want to use SQL Server authentication then you need to specify the user name and password as follows: sqlcmd –S tcp:SQL-A –U sa. Restart your database service. From BOL . RESTORE DATABASE master FROM <backup_device> WITH REPLACE. Follow. Na druhou stranu OSQL nepodporuje Unicode. To enable SQLCMD mode, click the SQLCMD Mode option under the Query menu: Another way to enable the SQLCMD Mode is by using a combination of keys ALT+Q+M from the keyboard. TXT. First make sure you've installed mssql-tools. You simply point it at the server instance, the database you'd like to learn the script on and provide it the query you'd like to run. If you need to execute a script file with sqlcmd on a server using Windows Authentication (a Trusted Connection), you can do so with the following command: sqlcmd -S 127. if you want to remove the column names, use " -h-1". If yes, then step 2: (a) try to connect using PowerShell using the command Invoke-Sqlcmd. The -E can be replaced with a -U and -P to specify a username and password. . log" -u If you were managing your SQLCMD calls with something like a scheduler, you could take action based on returns codes from SQLCMD. 21. Create cmd files to execute the stored procedures; for example: sqlcmd -E -S . SqlBulkCopy is worth checking out - the kind of process you'd use is query database 1 and retrieve an SqlDataReader. txt. Skrip lama akan terus berfungsi. Is a user-specified password. To move on, let’s run a SQL query to check that. SQL -o OUTPUTFILE. 9. It has nothing to do with the go. If data_file is a remote file, specify. SQLdiag Utility. · Hello David, Yes, osql Utility is. In this article, I will explain some of the features this new command line utility brings to administering SQL Server. Also notice that I did not give it a user of password, given that default sqlcmd authentication is the windows auth, so I can log in as the current user. With SQLCMD, you can use the return code from your SQL as the exit code of the application, like so: sqlcmd -b -S ServerName -E -d DbName -q "EXIT(EXEC dbo. ). Specifies the full path of the data file that contains data to import into the specified table or view. When sqlcmd is run from the command-line, sqlcmd uses the ODBC driver. txt. dbo. For more information see SQL Server Books Online. bak'" Named SQL Server instance: SqlCmd -E -S MyServerMyInstance –Q "BACKUP DATABASE [MyDB] TO DISK='D:BackupsMyDB. If you want a much better answer, here it is: @echo off SETLOCAL ENABLEDELAYEDEXPANSION :: batch file for sql query SET FIELDVAL=Empty SET DBNAME=MYDB SET SQLSTRING=SELECT column_name (s)^ FROM table_name1^. Can osql. The sqlcmd utility lets you enter Transact-SQL statements, system procedures, and script files through various modes: ; At the command prompt. Here is an article on that. Hi all, I executed this 2 commands: D:>osql -S clustersql -V1 -b -d Archive -U DiegoLocal -P DiegoLocal -Q " exec test_log; " and D:>sqlcmd-S clustersql -V1 -b -d Archive -U DiegoLocal -P DiegoLocal -Q " exec test_log; " In the first case (osql) I got the output line by line as soon as. sysjobs WHERE (name = N'RANDOM_JOB_NAME')" -M Share. The type specifications used in RAISERROR message strings map to Transact-SQL data types, while the specifications used in printf map to C language data types. However, one thing we do is to include a quick check in our script header, to determine whether SQLCMD mode is on (and terminate the script if not): :setvar DatabaseName "MyDatabase" GO IF ('$ (DatabaseName)' = '$' + ' (DatabaseName)') RAISERROR ('This script must be run in SQLCMD mode. Technically speaking, the GO command is not even a part of the Transact-SQL language. txt519. Notice the capital S. It shows how to use temporary stored procedures to advantage. 0 : Login timeout expired. Here's an extract of the code that builds the. If you have other versions of SQL Server (or Sybase which has its own, very powerful, version of SQLCMD) you may find it convenient to run sqlcmd by specify the folder where it is located. The bcp utility can be used to import large numbers of new rows into SQL Server tables. Under Binn there should be the Resources1033 directory, containing SQLCMD. A day before I wrote article SQL SERVER – sqlcmd vs osql – Basic Comparison. Unlike sqlcmd. msi. Well actually there is a way, in command prompt you can you the carat character (^) to indicate that there is more lines. I think you'll find it's difficult to reproduce the same behavior in invoke-sqlcmd as I have. I am trying to identify how osql and sqlcmd resolve server name and user to connect to that server when we do not specify server using -S option and use -E option. Thanks, David 3. @SolonmonRutzky Good point. exe, and SQLCMD. Use the value in the Server name: field for ComputerNameInstanceName. In Object Explorer, connect to the instance of the Database Engine, right-click the instance of the Database Engine you want to start, and then select Start, Stop, Pause, Resume, or Restart. sqlcmd can also work with SQL Server Management Studio. -P Jika opsi digunakan dengan -E opsi , pesan kesalahan akan dihasilkan. Thankfully sqlcmd supports colon commands like :help that are not send to the server but directly respond with output. Using SQLCMD Connect to a SQL Server Database Engine Using SQL Server Authentication. rll will also be installed together with the SQL client software. SQL Server 2012 and beyond, it uses odbc. osql was introduced in SQL Server 2000 version. · Hi dscaravaggi, >>In the first case (osql) I got the. The ~/. You could just look for the path directly from the SQL Server Registry location: HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL. SQL Server utilities interpret GO as a signal that they should send the current batch of Transact-SQL statements to an instance of SQL Server. Jul 24, 2015 at 14:03. when i execute the above line I get the below error:Provides a list of useful Structured Query Language (SQL) commands that can be used with the Sophos core database on the command line. SqlCmd -E -S Server_Name –Q "RESTORE DATABASE [Name_of_Database] FROM DISK=’X:PathToBackupFile [File_Name]. SqlCmd -S SERVER02 -Q "EXEC DBA. exe will send T-SQL PRINT and RAISERROR and errors to the output file. @SolonmonRutzky Good point. . For more information, see Connect to SQL Server when system administrators are locked out. The casing of the instance name does not matter. dbo. We have already covered how to back up a SQL Server database from the command line, so what if you want to backup all your databases at once?You could create a batch script which runs the backup command for each database, but this script would have to be updated each time a database is added or removed. exe, osql. sqlcmd uses ole db connection from SQL Server 2005 to 2008R2. I'm not sure if it matters, but I think there should be a space between -s and ",". dbo. -P Jika opsi diikuti oleh lebih dari satu argumen, pesan kesalahan dihasilkan dan program keluar. sql> 4. osql : The older, ODBC-based way of command-line communication with SQL Server. PowerShell features many one-line commands for working with SQL Server, one of which is Invoke-SqlCmd. In sqlcmd, there are two new options: -W and -k. 9. Just use -Q (uppercase). -d <database-name> - the name of the database on which the operation is to be performed. osql -S servername\sqlexpress -E -Q "EXEC someProcedureName". sql script. The bcp utility bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format. exe" -S computerAinstance2005 -E. Osql uses ODBC to connect to the server, sqlcmd uses OLEDB and it is faster. Second, use a Command line task to run the SQL script using the SQLCMD tool. Without SQL Management Studio, you must use OSQL/SQLCMD commands to run the script. ). sqlcmd uses ole db connection from SQL Server 2005 to 2008R2. MSSQLSERVER08 -V 17 -E -i %~dp0aqualogyDB. This will create the db. I have an installer which installs the application files and creates a sql server database by running a . 7. Save the output to a text file. SSMS uses the Microsoft . This utility uses OLE DB to execute Transact-SQL batches. zip to c:windowssystem32. GO is not a Transact-SQL statement; it is a command recognized by the sqlcmd and osql utilities and SQL Server Management Studio Code editor. The first step is to detach the WID database: sqlcmd -E -S np:. or. Just open the 'sqlps' utility and run. Chức năng chính của ISQL là giao dịch các câu lệnh SQL để nhập, trong khi tính năng chính của OSQL là cho phép người dùng gửi các công việc đã thực hiện trên OSQL. Hi, I'd read that osql is using odbc connection since SQL Server 2000. Anyone knows the rational or the history ? Is odbc slower than ole db ? I have an application which uses osql to connect. Consider calling osql. sqlcmd uses ole db connection from SQL Server 2005 to 2008R2. If the -U option is used and the -P option is not used, and the SQLCMDPASSWORD environment variable has not been set, sqlcmd prompts the user for a password. SSMS has no problems when running locally on the computer. osql : La forma más antigua, basada en ODBC, de. On the SQL Editor toolbar, in the Available Databases list, select AdventureWorks2022. sql> pause </samplequery. sqlcmd uses ole db connection from SQL Server 2005 to 2008R2. Batch file calls OSQL which executes the SQL script; The OSQL outputs a text file saving the results; There are about 30 databases to be backed up;. These type specifications are based on the ones originally defined for the printf function in the C standard library. YourProc)" -o "C:Logsoutput. Original OSQL: osql. g. 1 Answer Sorted by: 5 All three have their uses. , so for testing I added the below command in my script. For example create the file constants. (e. 1. Note one change between osql and sqlcmd is that osql has additional server “(local)” listed in the servers list which is in fact same as “SQL” in my case. – Although it's probably too late for the original poster, for future reference, SQLCMD is freely downloadable, so it's not necessary to purchase SQL Server explicitly for this purpose. · OSQL is deprecated and not. OSQL vs SQLCMD. SSMS is built for developers to write queries and DBAs to manage the database, whereas sqlcmd is built to automate test runs and maintenance tasks. For more information from Microsoft check this out >. See the documentation: Returns the database object identification number of a schema-scoped object. If you want to have a list of all instances on the server and doesn't feel like doing scripting or programming, do this: Start Windows Task Manager; Tick the checkbox "Show processes from all users" or equivalent; Sort the processes by "Image Name" Locate all sqlsrvr. Sysadmin or insert and bulkadmin to SQL Server. sql -o C: est. Download. A" -o c: est. Remove column space from sqlcmd output file. SSMS inherited that syntax from sqlcmd. In a series of articles, I will give you a brief introduction to this versatile and. if I use either the osql or sqlcmd tools from the computer with SQL 2005, I get [ODBC Driver Manager] Data. MyTbl;" ----- 72 (1 rows affected) Note the following: The first command drops the database if exists and creates a new one. sql Parameters (case matters): S: server d: database U: User name, only necessary if you don't want to use Windows authentication P: Password, only necessary if you don't want to use Windows authentication i: File to run Code to execute SQL files:The sqlcmd command prompt utility and SQL Server Management Studio, are examples of OLE DB applications. database. 3. However the documentation for sqlcmd here suggests you can use a blank password: "If the -U option is used and the -P option is not used, and the SQLCMDPASSWORD environment variable has not been set, sqlcmd prompts the user for a password. Don't forget, if you're using a SQL instance the syntax is: sqlcmd -S <server>instance.