I have a SQL server 2000 box. I saw a post some time ago in MSDN Forums that the sqlcmd utility could be used on SQL Server 2000 as well. However, when I tried to install sqlcmd using file SQLServer2005_SQLCMD.msi downloaded from Microsoft, I got following error:
Setup is missing prerequisites:- SQL Native Client
Does this mean that I need to install SQL 2005 Client? How do I make sqlcmd work on a SQL Server 2005 box?
I have SQL Server 2000 client installed in my machine and I need to call stored procedures thru sqlcmd utility. When I tried using this utility, I got an error message from command prompt sqlcmd command does not exist.
I have osql utility in my client version, but i need to have sqlcmd utility.
Please advice how do I install sqlcmd.exe in my SQL Server client?
You have to forgive me but I am relatively new to this. I created a batch file which would call a SQL Server Agent Job. The said job calls SSIS packages. The last step for the job was to update a table which contains the next run date for the job. The batch file, after calling the job, would then query the table where the next run date is stored and place it in a log file. However, it seems that the log file gets updated first. The user who clicked on my batch file assumes that the job is finished and would proceed to run another program which scans all the records affected by the job. Since the job is not yet finished, the few records that were affected are the ones that are only scanned leaving the other records that are yet to be transferred.
Does calling SQLCMD from a batch file spawn a new thread for the job?
Why does the date get updated even though the job is not finished yet?
I have attached the bat file I created. Below that also is the control flow
SQLCMD -Q "SELECT next_rundate FROM db.NEXT_RUNDATE_PARAM WHERE NAME = 'PRD_Insert_HMTRANSACTIONDATADETAILS_From_ICBS_CASA'" -o "PRD_Insert_HMTRANSACTIONDATADETAILS_From_ICBS_CASA.txt"
SQLCMD -Q "SELECT next_rundate FROM db.NEXT_RUNDATE_PARAM WHERE NAME = 'PRD_Insert_HMTRANSACTIONDATADETAILS_From_ICBS_LOANS'" -o "PRD_Insert_HMTRANSACTIONDATADETAILS_From_ICBS_LOANS.txt"
----------------------------- ---------------------------------------- | | | | | Transfer Data | ===> | Update NEXT RUN DATE | | | | | | ----------------------------- ----------------------------------------
I get following error trying to use SQLCMD OR OSQL
Named Pipes Provider: Could not open a connection to SQL Server [2]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establi shing a connection to the server. When connecting to SQL Server 2005, this failu re may be caused by the fact that under the default settings SQL Server does not allow remote connections.. Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.
I searched this forum for answers and I found one solution where it was said that Remote connections for TCP and Named Pipes needs to be enabled. I have them enabled, but I still get this error. I had working SQL server before, but I had to uninstall it. Now after installing ti again I started to get this error.
Anything else besides disabled remote connections cause this problem? I'm trying a local connection. I heard elsewhere that this could be firewall related, but shouldn't it use local connection always when I try to connect it with sqlcmd and no other parameters given?
I get this error trying to upgrade my SQLCMD package:
"The installer encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2755"
I've seen other threads addressing this but not for the SQLCMD installer. They suggested either not having write permission or not running from the local C: drive. I'm an Administrator on the system and the package is on the C: drive. So, what else? Thanks. -- Ian
Hi all, I have the "Northwind" database in my Sql Server Management Studio Express.
In my C:ProSSEAppsSamplesForChapter02Chapter02 folder, I have the following 2 files: (1) ListColumnValues (MS-DOS Batch File) sqlcmd -S .sqlexpress -v DBName = "Northwind" CName = "CompanyName" TName = "Shippers" -i c:prosseappschapter02ListListColumnVales.sql -o c:prosseappschapter02ColumnValuesOut.rpt (2) ListColumnValues (Microsoft SQL Server Query File) USE $(Northwind) GO SELECT $(CompanyName) FROM $(Shippers) GO When I ran the following SQLcmd: C:ProSSEAppsSamplesForChapter02Chapter02>ListColumnValues.bat I got the following "ColumnValuesOut.rpt" with error messages:
'Northwind' scripting variable not defined. Msg 102, Level 15, State 1, Server L1P2P3SQLEXPRESS, Line 1 Incorrect syntax near '$'. 'CompanyName' scripting variable not defined. 'Shippers' scripting variable not defined. Msg 102, Level 15, State 1, Server L1P2P3SQLEXPRESS, Line 1 Incorrect syntax near 'CompanyName'.
I copied these T-SQL statements from a book and I do not know how to correct them. Please help and tell me how to correct these errors.
I cannot get SQLCMD to run. When I run it, it appears for a few seconds then dissappears. I tried running it in cmd and it says it cannot run because the default setting for SQL server does not allow remote connections. Please help.
I am trying to backup/restore a sql db using sqlcmd. My question is, the box that I am trying to run sqlcmd on does not have SQL server 2005 installed, can I just copy SQLCMD.exe to the box instead of Installing it? if so, are there any other files that I need to copy as well?
I have another instance where I was trying to backup/restore a 2000 sql db and all I did was copy the osql.exe and resource files to the box and was able to run this command with out installing SQL server 2000. So, did something change with SQL serve 2005?
such as changing the font or the window size so that a command such as sp_tables will list on one row rather than several. Also I would only like to see 10 records or so at the same time. Currently in default setting, if i run sp_tables I can really only view the last few records.
I found it a bit annoying to type Go after some very simple query and I wonder is there a short cut to execute the query i type right after I press enter?
1> select * from Table 2> go <enter>
instead, how to you execute line 1 without entering go?
BACKUP DATABASE [DNNDEV] TO DISK = 'C: emp estdnndev.bak' WITH NOFORMAT, NOINIT, NAME = 'dnndev-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
If I put a USE statement in front of my backup statement - the error message changes to
Could not find stored procedure 'U'.
So it would appear to list the first character encountered.
As a sanity check I created a similar process which does a select * from a table and I do not get an error saying :Could not find stored procedure 'S'. - instead all is well and I get my output and no error
If I try the backup command in SQLCMD interactively it works.
Dear profetionlas: I cannot run sqlcmd in my computer but i can connect to my SQL Server2005 through SSIS This is the error I see . Please give me some recommandation
C:Documents and Settings est>sqlcmd HResult 0x2, Level 16, State 1 Named Pipes Provider: Could not open a connection to SQL Server [2]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establi shing a connection to the server. When connecting to SQL Server 2005, this failu re may be caused by the fact that under the default settings SQL Server does not allow remote connections.. Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.
I would like also metion that 1)windows firewall is off 2)All SQL server Services are running 3)This is my default instance also I have another named instance in the server
Just installed SQL Server 2005 Express along with the Management Studio. The Management Studio, at least what I've seen so far, seems to work fine. But when I type "sqlcmd" at the command prompt, I get "sqlcmd is not a recognized internal or external command, operable program or batch file." What gives???
GreetingsI'm trying to follow the tutorial at http://www.asp.net/Guided%2DTour/s2.aspx Part way through the demo it asks me to run the following command as part of building a Demo web page access SQL dataC:Program FilesMicrosoft SQL Server90ToolsinnSQLCMD" -S "machine-nameSqlExpress" I am then supposed to paste some script into that window, but cant get that far. The black Command window opens, but the SQL > prompt doesn't appear, and the window closes. I had previously installed a demo version of Web Developer Express from my Action Pack, on a SBS Server Premium 2003 R2, clean installation. When I got to the above step in the demo there was no ...90Toolsinn folder so, I uninstalled the Action Pack version and the versions of SQL server that looked like they did not belong to the original SBS Server installation. I then downloaded the version from Microsofts website, and selected .Net SP1 and SQL Server Express ( or lite or whatever it's called ) that were part of the install dialog box. When checking for updates, the .NET SP1 and Visual Studio SP1 initial failed. Rebooting installed .Net SP1, but I had to do a hard reboot as the installation still wasn't complete after 2 hours. I assumed it was hung. After restarting, I was able to go to MSUpdates and the installation was successful.Currently the add remove programs shows a ton of SQL stuff, ..I'm guessing we have version conflicts or something but I don't know.. Microsoft SQL Server 2005Microsoft SQL Server Desktop engine " Native Client " Setup Support files " VSS Writer Visual Studio seems to run okay, but I would like to be able to do SQL database part of the tutorial, since I don't know much about it as you can tell, and I would like to see it work with web sites. TimeTraveller
Hi ! I try to connect to a database on my localhost using sqlcmd. For the records: Remote connections are allowed ! I don't have any issues to establish a connection using SSMS.
HResult 0xFFFFFFFF, Level 16, State 1 SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. Sqlcmd: Error: Microsoft SQL Native Client : An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.. Sqlcmd: Error: Microsoft SQL Native Client : Login timeout expired.
The command below runs fine from within Management Studioexec sp_MSforeachtable @command1="exec sp_spaceused '?' "However, I'd like to run it via sqlcmd. I've tried variouscombinations of escaping the doulbe and single quotes but withoutsuccess.sqlcmd -E -Q "sp_MSforeachtable @command1="exec sp_spaceused '?'""Sqlcmd: 'exec sp_spaceused '?'""': Unexpected argument. Enter '-?'for help.Any ideas?Thanks,M
I'm having a problem with configure Mirroring. When I use graphical inteface to config the Mirror, it is ok. But when using sql, there are an error that I can not understand.
IF @SQLDataRoot IS NULL BEGIN RAISERROR ('Did not find the correct SQL Data Root Directory. Cannot proceed. Databases backed up but not yet restored.', 16, -1) END
DECLARE FileListCursor CURSOR FAST_FORWARD FOR SELECT LogicalName, PhysicalName FROM #BackupFileList
OPEN FileListCursor
FETCH NEXT FROM FileListCursor INTO @LogicalName, @PhysicalName
SELECT @ExecStr = N'RESTORE DATABASE $(Database2Mirror)' + N' FROM DISK = ''c:TechReady$(Database2Mirror).bak''' + N' WITH MOVE ''' + @LogicalName + N''' TO ''' + @PhysicalName + N''''
FETCH NEXT FROM FileListCursor INTO @LogicalName, @PhysicalName
WHILE @@FETCH_STATUS <> -1 BEGIN SELECT @ExecStr = @ExecStr + N', MOVE ''' + @LogicalName + ''' TO ''' + @PhysicalName + '''' FETCH NEXT FROM FileListCursor INTO @LogicalName, @PhysicalName END
-- NORECOVERY is required for Database Mirroring, replace is not. -- Replace is used here solely to allow repetitive use of this script. SELECT @ExecStr = @ExecStr + N' , NORECOVERY, REPLACE'
-- Useful for testing -- Only return the string and then comment out the EXEC line below. -- SELECT @ExecStr
EXEC (@ExecStr)
DEALLOCATE FileListCursor GO
:CONNECT $(PrincipalServer) SELECT DATABASEPROPERTYEX(N'$(Database2Mirror)', N'Status') -- Returns ONLINE SELECT db_name(sd.[database_id]) AS [Database Name], sd.mirroring_guid, sd.mirroring_state, sd.mirroring_state_desc, sd.mirroring_partner_name, sd.mirroring_witness_name, sd.mirroring_witness_state, sd.mirroring_witness_state_desc, sd.mirroring_role, sd.mirroring_role_desc, sd.mirroring_role_sequence, sd.mirroring_safety_level, sd.mirroring_safety_level_desc, sd.mirroring_safety_sequence, sd.mirroring_failover_lsn FROM sys.database_mirroring AS sd WHERE sd.[database_id] = db_id(N'$(Database2Mirror)') go
:CONNECT $(MirrorServer) SELECT DATABASEPROPERTYEX(N'$(Database2Mirror)', N'Status') -- Returns RESTORING SELECT db_name(sd.[database_id]) AS [Database Name], sd.mirroring_guid, sd.mirroring_state, sd.mirroring_state_desc, sd.mirroring_partner_name, sd.mirroring_witness_name, sd.mirroring_witness_state, sd.mirroring_witness_state_desc, sd.mirroring_role, sd.mirroring_role_desc, sd.mirroring_role_sequence, sd.mirroring_safety_level, sd.mirroring_safety_level_desc, sd.mirroring_safety_sequence, sd.mirroring_failover_lsn FROM sys.database_mirroring AS sd WHERE sd.[database_id] = db_id(N'$(Database2Mirror)') go
:CONNECT $(MirrorServer)
ALTER DATABASE $(Database2Mirror) SET PARTNER = 'TCP://DEMO:5023' -- SET PARTNER = 'TCP://Server.fully.qualified.dns.name:5091' -- SET PARTNER = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5091' GO
:CONNECT $(PrincipalServer)
ALTER DATABASE $(Database2Mirror) SET PARTNER = 'TCP://DEMO:5022' -- SET PARTNER = 'TCP://Server.fully.qualified.dns.name:5092' -- SET PARTNER = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5092' GO
ALTER DATABASE $(Database2Mirror) SET WITNESS = 'TCP://DEMO:5024' -- SET WITNESS = 'TCP://Server.fully.qualified.dns.name:5090' -- SET WITNESS = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5090' GO
SELECT db_name(sd.[database_id]) AS [Database Name], sd.mirroring_guid, sd.mirroring_state, sd.mirroring_state_desc, sd.mirroring_partner_name, sd.mirroring_witness_name, sd.mirroring_witness_state, sd.mirroring_witness_state_desc, sd.mirroring_role, sd.mirroring_role_desc, sd.mirroring_role_sequence, sd.mirroring_safety_level, sd.mirroring_safety_level_desc, sd.mirroring_safety_sequence, sd.mirroring_failover_lsn FROM sys.database_mirroring AS sd WHERE sd.[database_id] = db_id(N'$(Database2Mirror)')
and the log is:
Msg 1452, Level 16, State 6, Line 3 The partner server instance name must be distinct from the server instance that manages the database. The ALTER DATABASE SET PARTNER command failed. ** An error was encountered during execution of batch. Exiting.
I Think the error is begin at:
ALTER DATABASE $(Database2Mirror) SET PARTNER = 'TCP://DEMO:5023' -- SET PARTNER = 'TCP://Server.fully.qualified.dns.name:5091' -- SET PARTNER = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5091' GO
:CONNECT $(PrincipalServer)
ALTER DATABASE $(Database2Mirror) SET PARTNER = 'TCP://DEMO:5022' -- SET PARTNER = 'TCP://Server.fully.qualified.dns.name:5092' -- SET PARTNER = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5092' GO
ALTER DATABASE $(Database2Mirror) SET WITNESS = 'TCP://DEMO:5024' -- SET WITNESS = 'TCP://Server.fully.qualified.dns.name:5090' -- SET WITNESS = 'TCP://SQLIDW15HA.redmond.corp.microsoft.com:5090' GO
but I can not find out the solution. Turn back to grafical interface, everything is done
I can Add a connection to the database in VisualStudio 2005 in the Solution Explorer and access the database. Connection string copied from VS "Data Source=.SQLEXPRESS;AttachDbFilename=C:TempMyDB.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True".
If i start the command prompt and type:
sqlcmd -SlocalhostSQLEXPRESS -E -d c: empMyDB.mdf
I get the error "Login failed for user 'MyDomainPer'"
As I see it integrated authentication with the same user is used in both cases so they should give the same result. What am I doing wrong?
i am not sure if this forum is right place to ask this question.. i am trying right a dos batch file to do setup of sql commands run by sqlcmd , run some dos commands etc
net start mssql$server sqlcmd -E .....
net stop mssql$server...
sqlcmd -E ....
in unix you can run isql with the sql commands place inside..
isql -Uuser -S server <<EOF select 1 select 2 go EOF
you can put above in a shell and it will run.
i am trying to do similar stuff in windows for sqlcmd.. how can i do it
only option i have is to create lot of .sql files and run with -i option on sqlcmd..
can some body let me know how to do a inline commands in dos? thx AK
At the end of my rope here ... I was using SQL Express 2005 without trouble, until one day I couldn't access my database. I spent a day hunting down the issue without success. I uninstalled and reinstalled SQL Server many times, each time hoping it would somehow help ...
I can access SQL Server just fine through SQL Server Management Studio Express. I can get in by typing "sqlcmd -S {my machine name}SQLEXPRESS". However, I am working on a FoxPro application, and I cannot connect using FoxPro. It doesn't even seem to recognize the existence of SQL Server on the machine. Also, when I log in using sqlcmd, and type ":serverlist", I would expect my SQLEXPRESS instance to show up. It doesn't - the list of servers is empty. I suspect this is the problem, but have no idea what may be causing it.
Cumulatively, I've probably spent 3 work days trying to figure this out. Does anyone have any pointers or ideas that might help me figure out why ":serverlist" doesn't list my machineSQLEXPRESS, even though I can log in fine using Management Studio? Any help would be very much appreciated. Thank you,
As a complete beginner regarding SQL Server, I installed SQLExpress and lots of other things Microsoft told me to (without understanding why) accepting all the defaults offered.
I can make a connection to the server with "SQL Server Management Studio Express", create a database and add one two tables and views.
But all other things I've tried seem to go wrong without me having the slightest idea why, e.g.:
% SQLCMD.EXE -S swansqlexpress HResult 0xFFFFFFFF, Level 16, State 1 SQL Network Interfaces: Error getting enabled protocols list from registry [xFFFFFFFF].
The above for instance when the protocol "Shared memory is enabled". If any combination of the other protocols are enabled, then I get a different error message.
I also cannot use the ODBC Management Tools to define a DSN connecting to SQLExpress ("Server does not exist or connection refused).
What I really want to do is to import data, using ODBC, from a different RDBMS into SQLExpress. Before writing my own scripts to do this, I had hoped that there would have been some GUI interface to SQLExpress with a nice little button saying "import external data". Is their such a beast?
I am using SQL Server 2005 Express. I need to run a transact-sql script file to update the database. I am getting a "Login Failed" error when I use the SQLCMD utility. I use Windows Authentication.
Here is the command I use: sqlcmd -S .SQLEXPRESS -d C:Progra~1MyProgramDataMyData.MDF -i MyUpg.SQL
Here is the message I am getting:
Msg 4060, Level 11, State 1, Server VAIOSQLEXPRESS, Line 1 Cannot open database "C:Progra~1 MyProgram Data MyData.MDF" requested by the login. The login failed. Msg 18456, Level 14, State 1, Server VAIOSQLEXPRESS, Line 1 Login failed for user 'VAIOUser Name€™.
Actually, it seems to work on my development PC, but have problem when using on a customer's machine where the product has been installed.
Hi, can we use sqlcmd.exe (successsor to osql) to run sql scripts against a compact edition database? Would like to use the output from Visual Studio Team Edition for Software Professionals to build the database structure on compact edition database.
Are the extended command always executed even if it is contained within an IF statement???
I created test.sql script as follows:
if '$(CreateA)' = 'Y' begin :out $(myDir)testY.log print 'CreateA is yes' end else begin :out $(myDir)testN.log print 'CreateA is no' end
At the command line prompt enter: sqlcmd -i test.sql -v CreateA="Y" MyDir="C:Temp"
I expected the file C:Temp estY.log to be created with the line "CreateA is yes", which occurred successfully. However, C:Temp estN.log was created as well, but it was empty.
I deleted the log files and executed the following sqlcmd statement: sqlcmd -i test.sql -v CreateA="N" MyDir="C:Temp"
The C:Temp estN.log was created with the line "CreateA is no", but C:Temp estY.log was also created.
Is there any way to conditionally execute a sqlcmd extended commands?