failing to process SSAS Tabular using Snowflake backend through ODBC - ssas

I am trying to process a SSAS Tabular model that connects through ODBC to a Snowflake database and get the following errors
OLE DB or ODBC error: [DataSource.Error] ODBC: ERROR [HY000] [Snowflake][Snowflake] (4)
REST request for URL https://ohXXXXX.us-east-1.snowflakecomputing.com:443/session/v1/login-request?requestId=46bd15ee-b045-4ab5-8e56-0c987e28ea24&request_guid=fad00bf2-43bd-4bb8-9280-e4b269cda05d failed: CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK' osCode=9 osMsg='Bad file descriptor'.
ERROR [HY000] [Snowflake][Snowflake] (4)
REST request for URL https://ohXXXXX.us-east-1.snowflakecomputing.com:443/session/v1/login-request?requestId=46bd15ee-b045-4ab5-8e56-0c987e28ea24&request_guid=fad00bf2-43bd-4bb8-9280-e4b269cda05d failed: CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK' osCode=9 osMsg='Bad file descriptor'.
It takes a little while for the connection to fail.
Using the same ODBC connection, I am able to load the data into my cube within Analysis Services in Visual Studio.
Any idea what I might be doing wrong?
Thanks
Eric

Looks like a device might be intercepting the certificate. Does your company have any proxies, firewalls, security policies? Anything like Netskope or ZScaler?
There's a function you can run mentioned in the docs that will retrieve the list of hosts that need to be whitelisted in order for Snowflake operations to run smoothly from clients. You can send that list to your network engineering team to whitelist/bypass as needed.
https://docs.snowflake.com/en/user-guide/hostname-whitelist.html

Related

Processing SSAS Tabular model Fails Remote Server

I'm trying to create a SSAS Project and deploy to a remote server.
The Data Source is a Database in the same server, but the project must be made in my laptop.
The remote server is not in a domain environment, so to login in SSAS, I used runas /netonly mothod using Server's Administrator Account, which works fine to connect to SSAS Server through SSMS.
I created SSAS Project using Workspace Server and connection is successful.
I am also able to connect to same Server using SQL Server Database Data Source, using Impersonate Service Account, but after I select the tables I need, the processing fails and gives me this Error:
Failed to save modifications to the server. Error returned: 'OLE DB or ODBC error: [DataSource.Error] Microsoft SQL: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - The wait operation timed out.).
And as result I get all tables without data, just column names.
If I create a project using Integrated Workspace, I am able to get Data from Source, but the same Error occurs when I try to Deploy the Project. The metadata deploys successfully, but all processing fails with the same Error.
I tried to Increase Timeout, but the same thing happens even after waiting 30 minutes.
This process does not fail if I create and execute the project inside the Server.
Enable the TCP/IP in both Server NetWork and Client protocols;
Set TCP port:1433;
And then try it again.
Please reference this: troubleshoot-connecting-to-the-sql-server-database-engine

Confused by SQL error documentation, how to find cause?

I tried to login to a remote server and I saw the error given at the link -
http://www.microsoft.com/products/ee/transform.aspx?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2
Message says -
Message: An error has occurred while establishing a connection to the server. When connecting to SQL Server, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (.Net SqlClient Data Provider)
Which is followed by -
Explanation
SQL Server did not respond to the client request because the server is probably not started.
Arent the message and explanation contradicting each other ? Which one is the correct reason for the problem ? How do i find out the REAL source of the problem ?
They don't contradict each other. They just give different possible reasons:
SQL Server doesn't allow remote connections
SQL Server is not started
To fix it, make sure that SQL Server allows remote connections and is started.
Allowing remote connections can be done in the "SQL Server Configuration Manager":
Start that program on the server on which SQL server is installed.
Navigate to "SQL Server Network Configuration" -> "Protocols for "
Double click on the connection type - e.g. Named Pipes - and set "Enabled" to "Yes".
If you are enabling TCP/IP, make sure to also enable each individual IP address on the second tab.
See this blog post for more info.
Thee program you are using is unable to find SQL server on the port/address it expects to.
This is likely either because it is misconfigured, or because SQL server is stopped.
I suggest you open a desktop login to the machine in question, and see if SQL server is running.
There are other potential causes for this problem, as well: network problems, for example.

Unable to connect to SQL Azure remotely from SSMS 2012

I am unable to connect to my SQL Azure database instance remotely using SQL Management Studio 2012. Firewall exception is in there for my local IP. I can connect successfully and admin the database using the browser based management link in my Azure account.
I just can't seem to connect to the database via SSMS or anything else like VS2012.
Here is the format I'm for my connection in SSMS:
Server Name: myservername.database.windows.net
Authentication: SQL Server Authentication
Login: myusername#myservername
Password: my-password
Connect to: (i've tried) "master", mydatabasename, <default>
Encryption: TRUE
Once again, I DO have the firewall rule active for my local IP address on the server instance of my Azure account.
When I attempt to connect, I receive this error:
A connection was successfully established with the server, but then an
error occurred during the pre-login handshake. (provider: SSL
Provider, error: 0 - the wait operation timed out.) (Microsoft SQL
Server, Error: 258)
When searching for that 258 error, I do not get many results related to SQL Azure. I appreciate any help.
Error 258 is generated due to some of the configuration within your machine if a secure network could be established between two endpoints and if one machine initiate secure channel. This problem could be very much machine specific and not SQL specific that why you did not find any resources on this regard.
Can you try using SQLCMD as described in the following troubleshooting guide and see if that works to isolate SSMS specific issues on the same machine:
http://social.technet.microsoft.com/wiki/contents/articles/1719.windows-azure-sql-database-connectivity-troubleshooting-guide.aspx
IF you capture and analyze network packets traffic you might be able to determine the root cause of connectivity error.

SQL Server Timeout

I have a service that talks to local instance of SQL Server. I am getting an error
System.Data.SqlClient.SqlException:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
This error happens intermittently. Since this is part of my continuous integration process its painful as I have to carry out whole build process again.
I would like to make this clear that I am not getting the issue every time its random in nature.
Please help me with this.
Have you tried toggling the various connection interfaces via the SQL Server Confoguration tool? I suspect you may be connecting via TCP/IP, which could be the subject of network issues elsewhere. Because you're local to the server, you could disable that interface and force the use of Shared Memory, which should help you troubleshoot the problem.
For more information on the connection types, see http://msdn.microsoft.com/en-us/library/ms187892.aspx

Setting up mirroring in untrusted domain environment using Sql server 2008 R2

I have setup mirroring only with principle and mirror in untrusted domain environment using certificates. I have successfully tested the mirroring session by doing a manual failover. But I see a lot of login failures in the mirror server saying
Login failed for user 'NT AUTHORITY\LOCAL SERVICE'. Reason:
Failed to open the explicitly
specified database. [CLIENT: ]
SSPI handshake failed with error code 0x8009030c, state 14 while
establishing a connection with
integrated security; the connection
has been closed. Reason:
AcceptSecurityContext failed. The
Windows error code indicates the cause
of failure.
Login failed. The login is from an untrusted domain and cannot be used
with Windows authentication.
I am not using windows authentication for mirroring. Can someone please suggest the way to avoid these errors from appearing in the error log. Also why is the principle server still trying to use windows authentication?
Those failures are not from the mirroring connection. Those errors are from your client trying to connect to the mirror instance.
The first error is from a local service that is attempting to open an explicit database that is offline (perhaps is trying to connect to the mirrored database). The second error is from a client that had failed the SSPI handshake. And the third one is from a client that has succeeded the hansdhake but is not trusted.
You have to verify your client apps connection strings and, your agent jobs etc etc and see who is attempting these connections.
ok as follows: in the mirror monitoring tool you can set the connection / authentication it should use. Your probably best of removing the connections in the monitoring tool and reregistering them according to the accounts you have set in the endpoints.