Error when trying to schedule auto backup in SQL Server Express - sql-server

I am trying to create scheduled task for auto backup in SQL Server 2019 based on this article :
https://learn.microsoft.com/en-us/troubleshoot/sql/admin/schedule-automate-backup-database
As recommended in order to test if the auto backup is working, I have to run the batch file containing this command:
sqlcmd -S .\EXPRESS -E -Q "EXEC sp_BackupDatabases #backupLocation='c:\AutoBackup\', #backupType='F'"
I ran it in the command line to test if its working fine but I get the following error:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : MAX_PROVS: Error Locating Server/Instance Specified [xFFFFFFFF]. .
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
I installed Sql server ODBC driver for another issue that I faced before and also checked that remote connection is allowed as SSMS is working fine.
Any advice is appreciated.

Have you double checked that your SQL Express instance is actually named "EXPRESS"?
When you connected using SSMS, did you also used Windows Authentication?
Your command breaks down as follows:
This part defines the server/instance. IN this case on the local machine with a Named Instance of "EXPRESS"
sqlcmd -S .\EXPRESS
This part states that you want to use Windows Auth with the currently logged in user
-E

Related

Connect to SQL Server via Unix box sqlcmd using Nolio agent

Currently we are manually running the scripts in SQL Server. We are trying to automate this execution by using Nexus repository. We are able to successfully create workflows using Nolio agent but while executing the workflows sqlcmd is throwing error as below :
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout
expired. Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP
Provider: Error code 0x2AF9. Sqlcmd: Error: Microsoft ODBC Driver 17
for SQL Server : A network-related or instance-specific error has
occurred while establishing a connection to SQL Server. Server is not
found or not accessible. Check if instance name is correct and if SQL
Server is configured to allow remote connections. For more information
see SQL Server Books Online..
We are able to successfully run this process via putty but getting error only when we run using nexus repository by triggering Nolio agent. Any idea what am I doing wrong here?

Windows MSSQL user login connections error

I created a user call root and the password is test in MSSQL
but the error occur after I run the command
sqlcmd -S laptop-3l55biaa\test\MSSQLSERVER01 -U root -P test
not working either in SSMS
error info
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. .
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
I'm not sure if the server/instance name is valid. From the docs, the argument for the -S option has the format [protocol:]server[\instance_name][,port], so I'm not sure what the test part is in your URL. From experience (if I remember correctly), the URL should be something like machineName\MSSQLSERVER01, or if on local host just .\MSSQLSERVER01.
Update
Regarding .\instancename - it looks like that is some additional functionality that SSMS has (and probably ADS) for connecting to instances on the same machine as the client. Sqlcmd doesn't seem to support it (my bad), and instead of the . you have to type localhost.
To sum up, in order to connect to a local instance listening on the default 1433 port you can just use -S localhost or (in case the port is not default or you want to use the name) -S localhost\instanceName.

Getting Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server When trying to run a batch script

I am using XAMPP for creating a local SQL Server instance to run a SQL script. the issue here is, when I run the script I get the following error. What is going wrong here?
Code:
sqlcmd -S localhost -d mysqldb -U uname -P pass -i C:\query2.sql
PAUSE
Error:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Named Pipes Provider: Could not open a connection to SQL Server [2].
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
sqlcmd is for SQL Server, you i couldn't connect to MySQL with it as #james Z mentioned. They are completely different database products. I tried using mysql commmand
C:\Software\XAMPP\mysql\bin\mysql --host=hostname --port=portnumber -D dbname -u username --password=**** < path to sql file

How do I use a Tidal Scheduler variable in sqlcmd?

We're using Tidal 6.5.3.164. I'm running a SQL Server stored procedure using sqlcmd. It works when I specify the server but I want to use a Tidal variable for the server and it's not working. In the Command line I have sqlcmd. In the Command Parameters I have:
-E -S <Group.Report_Server> -Q "exec dbo.test_sproc"
I get the following error messages:
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Named Pipes Provider: Could not open a connection to SQL Server [53]. .
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 11 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
My guess is sqlcmd is trying to connect to a server named <Group.Report_Server> because it works fine when I specify the actual server name. Any idea's how to use the variable with sqlcmd?
The problem was the Tidal variable was defined several levels higher and not in scope when I ran this. Normally this would run fine but the way I was trying to run it didn't work. Everything works as expected, I just had to learn more about Tidal.

Use SQLCMD to connect to Windows 2003 server

I have a series of SQL Server instances that I need to connect to from inside a docker container using SQLCMD. These target SQL Server instances frustratingly have different versions with some on Windows Server 2012 and some on Windows Server 2003. When I try to connect to the Windows Server 2012 instances and execute sql commands using a command such as sqlcmd -S IP_Address,Port_No -U username -P password -i input_file.sql, it works perfectly. When I try the same for the Windows Server 2003 instances, I get the following error:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2AF9.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..
Is this just a situation where the connection syntax changes for Windows Server 2003? I have tried many different tweaks to the connection string but each returns the same message? Is SQLCMD even supported for Windows Server 2003? I would really appreciate any suggestions. Thank you.

Resources