Connect to SQL Server via Unix box sqlcmd using Nolio agent - sql-server

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?

Related

Error when trying to schedule auto backup in SQL Server Express

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

Microsoft SQL Server on linux container

I installed the following SQL Server on a Linux Container as this site:
https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver15&pivots=cs1-bash
But when I am trying to connect from outside I get the following errors:
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: The wait operation timed out.
.
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..
From inside the container I am able to connect either as localhost either from the container;s ip.
Any suggestion?

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.

Execute SQL Server stored procedure from a batch file

I'm trying to execute a SQL Server stored procedure from a batch file. At the moment, it works fine on my pc (using localhost) but I need to use it in another PC, my stored procedure uses queries with linked server and when I trying to execute my batch file I get these messages:
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Named Pipes Provider: Could not open a connection to SQL Server [53]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : 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..
Maybe I need to send also my user and password in my batch file? Currently this is what I have in my .bat:
sqlcmd -Q "exec SP #Param= 1" -SServerIP -dDATABASE -o PATHTOMYTXTINFOFILE

SQL Server 2012 - Can't connect to local instance

I am having trouble connection to a local instance of Microsoft SQL Server 2012, this is what i have tried so far:
SQL Server Configuration Manager
Enable TCP/IP
Enable Named Pipes
Enable Shared Memory
The SQL Server, SQL Server Browser and SQL Server Agent services are all running.
I have verified that there is a SQL Server instance with: sqlcmd.exe -L this command gives me the following:
Servers:
(local)
MON-W530
SQLCMD
sqlcmd.exe -S MON-W530\MSSQLSERVER -E Gives the following output:
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : SQL Server Network Interfaces: Connection string is not valid [87]. .
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login timeout expired.
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : 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..
OSQL
OSQL.EXE -S MON-W530\MSSQLSERVER -E Gives the following output (Identical to sqlcmd.exe above)
[SQL Server Native Client 11.0]SQL Server Network Interfaces: Connection string is not valid [87].
[SQL Server Native Client 11.0]Login timeout expired
[SQL Server Native Client 11.0]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.
Its a fresh installation of Microsoft SQL Server 2012 Developer Edition, any help is appriciated.
Edit
Using SQL Server Management Studio 2012, i don't have the option to specify username and password for Windows Authentication, so i guess its not enabled, any clues on enabling Windows Auth is also appriciated.

Resources