cross-server access to SQL Server FileTable share - sql-server

Can you point me to any information about cross-server access to the SQL Server FileTable share? We wanted to use this to manage variable-content for our Web Applications (which are running in a load-balanced configuration). The share works great when local on the SQL Server VM, but when trying to connect to it from a Web Server VM it doesn’t work, no matter what domain account I’m running under (even a domain account with SQL Server SysAdmin).
Note that we have connectivity to SQL Server, just not the FileTable file share. That connectivity is across the private subnet. Our private AD has DNS records only for the private network of the machines within the our private domain.
When running a command prompt on the VM hosting SQL Server and using a domain account that does NOT have any database permissions, we get the expected result (access denied) when trying to access the FileTable share: <image>
When running a command prompt on the VM hosting SQL Server and using a domain account that DOES HAVE database permissions, we also get the expected result (access) when trying to access the FileTable share: <image>
When running a command prompt on one of the Web Server VMs and using a domain account that DOES HAVE database permissions, we get an UNEXPECTED result (device is not ready) when trying to access the FileTable share: <image>
From the web server we can connect to the default share on any of the disks attached to the SQL Server VM: <image>
I’ve searched extensively and looked at many articles which describe setup and using SQL Server FileTables. None of these articles describe the problem I’m seeing.
Left to my own devices, my next step would be to configure FileTables in a non-Azure environment to see if results are similar. But that’s a lot of work that I don’t have time to do. As a work-around, I might use SSIS to mirror the SQL Server FileTable share across another share on the SQL Server VM so that the applications running on the Web servers can get access to the FileTable share indirectly.
Do you have any idea what it is that I might not be thinking of? How can we connect to the SQL Server FileTable share from another machine? Can you point me to any resource that might be able to help resolve this issue?

Related

SSAS Cube deployment error

I was going to process the cube deployment and found the error.
I changed the target server name from 'localhost' to this,and tried different way but in vain.
Here is the snap from my SSMS
You may have multiple issues going on but the first and foremost is you do NOT deploy SSAS Multidimensional [MDX] models to a SQL Database Engine Instance!
Unless you have a very odd configuration ATI-PC\MSSQLSERVER should point to the default MS SQL Server Database Engine Instance NOT an SSAS MDX instance!
The SSMS screen shot you show is for the local host connection you show is for a Database Engine with SQL Server Authentication (SA), which I would assume the instance is called MSSQLSERVER which is the default instance name.
1) What is your SSAS instance name?
2) Does your windows account have permissions? SSAS doesn't allow for SQL server authentication so it must be windows authentication.
3) Is SQL Browser running?
4) Have you configured SQL Browser to allow for the protocols and to allow connections from both Localhost and ATI-PC(InstanceName)?
to connect to Analysis Services Change the Server Type. When first launching SSMS you can do that via changing server type and then modifying the server name to the appropriate name.
If your SSMS is already open you can select "Connect" drop down and choose Analysis Services.
Check on your SQL Browser Configuration by Launching "SQL Server (Version) Configuration Manager" then step through the different areas as far as how to configure it is somewhat self explanatory and because you are deploying an AdeventureWorks cube I would surmise that the configuration would be earlier in you tutorial you are working on.
I am sure that you have 'SQL Browser' service running in services.msc. Still I doubt your account which you logged in has access to SSAS and also to connect to that underlying SQL Server. Try checking both for the access, if you selected deploy as service account check that account has access in SSAS. If still you have issues trying checking the eventvwr if you are getting any more errors. If it is development box try recycling SSAS services and try deploying?

Loading data into a SQL Server database of Microsoft Azure VM through SSIS

I have come to learn that we can push the source data file from our local machine to Azure VM to load the database of VM's SQL Server. I have activated my Azure trial account and have setup SQL Server in a VM. Now, I am really clueless how to load data from my local machine.
How it can be achieved by using SSIS flow? Trying to search over the internet, please share any references.
Thanks
You need to be able to connect from your local machine to the Azure VM. One way of doing this is give your VM a public IP and configure the right firewall rules. An VPN or other tunneling can also work. Your solution also depends on where your SSIS server lives.
I did it by following the steps mentioned in Connect to a SQL Server Virtual Machine on Azure (Resource Manager)

Azure Virtual Machine and Azure SQL Database: optimal deployment for performance

The solution consists of an SQL Database and desktop application working hard with that DB. DB Deployed as Azure SQL Database, application running on Azure Virtual Machine with Windows Server onboard. What is the deployment guidelines for this two services in Azure? I want to achieve max performance. Should they both be located in same resource group?
You will need to get your app and the database located as close as possible so yes the same resource group.
Make sure you do not have Mars enabled (MultipleActiveResultSets in connection string).
Make sure you do use connection pooling.
Read this to understand what you are dealing with:
https://www.simple-talk.com/sql/learn-sql-server/improving-the-quality-of-sql-server-database-connections-in-the-cloud/
Ed

Is it possible to run a desktop application against a cloud-based SQL Server?

Currently our windows desktop applications run against a SQL Server instance that resides on our network. I'd like to remove the local instance and seamlessly assess the data from a remote SQL Server instance such as Azure. I could write a middle tier, such as WCF, but I'd rather not. It would be easiest just gain direct access to the SQL server. Can this be done?
Thanks.
Yes. - http://msdn.microsoft.com/en-us/library/windowsazure/ee336282.aspx
You'll need to ensure that the Azure SQL Database firewall rules are set up to allow traffic from your IP.
If you are running full SQL Server on a Windows Azure Virtual Machine you can open the port to the SQL Server. Be aware that you'd likely want to ACL the endpoints on a VM to restrict access to your IPs.
Remote SQL Server and Azure could be very different things.
First difference that you will found is the Connection String form. Azure SQL connection strings looks like:
Server=tcp:xxxxxxxx.database.windows.net;Database=xxxxxxxx;User ID=xxxxxxx#xxxxxxxxx;Password=xxxxxxxxxx;Trusted_Connection=False;Encrypt=True;

connect visual studio and sql express on amazon EC2

I'm newbie for Amazon EC2.
I'm given an assignment where I've to connect VS 2008 to Sql Express 2005.
VS and Sql Express are running on separate Amazon machine.
(I mean, I've to do 2 separate Remote Desktop Connection to access both).
I've no clue how to connect to the Sql Express.
I've been trying different options found in search on google, stackoverflow etc...
But no luck.
Any help is appreciated.
Assuming that you have a connection string (to server ec-xxxxxxx.xxx.amazon.com), your problem could be that the .Net instance (let's call it NET) and the SQL Server instance (SQL) don't have the rights to see each other.
Create two instances with the different security groups
On both groups, you'll like want to open RDP (you probably have that already as I can read)
On the SQL instance security group create an inbound rule for port 1433 and open it only for the security group of WEB. Otherwise, the whole world can access your SQL Server Express database. Like this, only the WEB instance can access it. You need to paste the security group id of WEB into the inbound rule for SQL to do that.
Good luck.

Resources