SSAS anonymous access Cross Domain Access - sql

I'm trying to configure anonymous access to SSAS accross domains. Well at least that is what I think I need to do to solve my business problem. I've attempted all the steps on here
http://support.microsoft.com/kb/324040
http://www.ssas-info.com/analysis-services-faq/29-mgmt/2670-q-how-to-setup-ssas-anonymous-authentication-to-access-data-from-internet-or-another-domain
to no avail.
Let me explain my situation I've got a SQL Server running SSAS and then a development server with access to database server. I would like a user that doesn't have access to SQL server box to be able to open Excel spreadsheets that connect to the SSAS server. So they can browse the data. I've found that the user on the development server also has to be the exact same user name and password on the SQL server. This might not be the worst solution I was just wondering if anyone knew about a better way.
On another note being a bit of an SSAS newb what is the best way to expose a data cube on the web? Any good resources for this would be very helpful.
If the user doesn't have credentials on the SSAS server I get this error
"An error was encountered in the Transport Layer" Followed by this ever so informative error
"Errors in the OLE DB provider. An error occorred while loading the connection dialog box component for prompting."
Thank you

Related

Connection Error with SQL Azure and Entity Framework on Azure Website

Not sure where to start, but whenever I publish my ASP.NET website to Azure, any pages which have database access give me a message saying "Error. An Error occurred while processing your request." I open up the remote debugger (which is fickle because it refuses to attach half of the time) and I see the error occurs when establishing when trying to access Entity Framework. The error varies between a "network-related or instance-specific" error, or a "Login Failed" error (which could be the result of the previous error, I really don't know).
The ADO.NET connection string SQL Azure gives is
Server=tcp:[servername].database.windows.net,1433;Database=EnsembleMusicWebDatabase;User ID=user#[servername];Password=(password);Trusted_Connection=False;Connection Timeout=30;
But every implementation (inserting that into EF metadata string, changing the server to data source...etc) still gives me the same login error
I'm pretty sure it's a problem with the connection string, but the infuriating part is that I've tried every possible combination I can think of (entity framework metadata, using the SQL Azure database ADO.NET connection strings in any possible way, changing the Azure website connection strings under the Config tab, using just a plain connection string...etc).
I've deleted and rebuilt the Entity Framework models at least 5 times, and every time I can successfully establish a connection to the server and it successfully reads my database and creates the correct models. I deploy the application to localhost and it works. The problem is when I publish, it cannot access the database and keeps giving me these login failed errors (the login details are the exact same as when I set up the EF model).
I think it might be something to do with the firewall, since I can access the DB locally with an approved firewall IP on the server config, but the website itself can't access the database (I have the enable azure services box ticked as well). I'm really at a loss for what to do now, because I just want the site (not any user, just the application) to fetch some data from the database and display it on the page, but I don't understand how this could be so complicated.
Can anyone point me in the right direction? I tried every tutorial and example on msdn and I can't find any solutions on SO that work.
Thanks,
Shaun
I realised that I somehow got into a complete mess with connection strings all over the place and the best way to fix it was just to start again. I deleted my Azure website and database instances, built the database first (created a correct login as well) and then when creating a new website Azure gave me the option to include the database I had just created. I now have a correct connection string that Azure generated, but to be safe (because the metadata made connection strings confusing and I didn't want to risk having this same issue again) I'm not using Entity Framework and just using normal SqlClient queries, since the website only requests two objects from a database.
I think now I've got a correct and working string I can look at it and really understand where I went wrong and how to avoid this if I do end up using Entity Framework.

Track all logins on to a single SQL Server database

Thanks in advance for any help.
We have a particular database on a SQL Server 2012 box along with about 20 other databases.
What I require is a method/script/audit (open minded about the solution) that will simply track anyone who logs in (successfully / unsuccessful) to this one particular database on the server (the single database is the key as the end user does not want information on any of the other databases that sit on the server), it also has to log time the attempt was made and it must track the logins via SQL Server or the application itself that is attached to the database.
Once we have this information we need to simply store that somehow. I say somehow as the storing part depends on the solutions recommended to me, so I’m open minded about this too.
Any help would be great as I'm scratching my head on this one.
There's actually a tool built into SQL Management Studio for this.
Please see the attached link for Configure Login Auditing
Once it has been setup, all events will be recorded in the error log.

How can I give access to a specific cube in PowerPivot?

This is my first time trying to grant access to one of my users to view a specific analysis cube via PowerPivot in Excel.
We are working with Excel 2010, I've created a local user on the server itself and add it to analysis from the SQL management studio.
I've created a role for this user and set a read permission only for a specific cube.
I've open Excel on my local computer > selected Data > From Other Source > From Analysis Services
Entered the server address and login details. Then I had 3 problems:
It shows me ALL the cubes and all databases that are available on the analysis server, WHY DOES IT HAVE A PERMISSION TO SELECT THEM?
After choosing the cube that I want I got this error: "An Error was encountered in the Transport layer", but when I clicked OK I got a "Multidimentional Connection 11.0" window that asked me for my login details again, and after I entered them it gave me access. HOW CAN I AVOIDE THIS ERROR?
After connecting to the cube and starting the work process, WHAT IS MY INDICATOR FOR KNOWING ON WHICH CUBE I'M WORKING ON?
Thank you so much!
Try to enable the "Save Password" Option in the Connection Properties Definition Tab. If the user is a local user you have to do this.
To see on which cube you are working on, have a look on DATA/Properties.

Limit Database Items To Which I Don't Have Access

I created a few databases within a large hosting provider network. When I use Microsoft SQL Server Management Studio 2008 R2 to connect to the SQL instance I see a list of every SQL database on the server. Is there a way I can tell Management Studio to only display the tables I have access to?
I found a few articles online that said to deny my user the permission to view the other databases. That wouldn't be an issue, except I don't think I can do that from my end. I'd like to solve my problem without having to call my hosting provider. Regards.
Unfortunately what you are asking is NOT possible at this time. I know this is NOT what you are looking for :-)

Permissions Problems Prevent Database Access

Recently I inherited a database from another programmer (created / stored with SQL Management Studio 2008), and I am having massive difficulties accessing, modifying, or even viewing the previously created databases.
Specifically, when I try to load one of the databases in SQL Management Studio I get the following error message:
"The database [database name] is not
accessible. (Object Explorer)"
I am connecting to the SQL server with windows authentication.
Anyway, is this a permissions issue left over from the last dev? (he's unavailable, unfortunately) And is there an easy work-around short of completely reinstalling SQL Management Studio?
Edit: Update:
Upon trying to access User Mapping, as suggested below, I got the following error message:
"One or more databases are inaccessible and will not be displayed in list."
Unfortunately, none of the databases I am trying to access appeared in the list, so I assume they are still inaccessible.
It could very well be a permissions problem. If you open Object Explorer in SQL Server Management Studio and expand the Security node (the one under the server instance, not the Security tab under the individual databases) and then expand the Logins node you'll see the list of logins that have been created on the server. Have a look at the properties of each of those and check out the User Mapping information. You'll be able to see which logins are mapped to which databases. It's possible the previous programmer only granted access to the database to certain logins. If you find a login that's mapped to the database you want, try changing the password of the login and then connecting to the database with that login and password. NOTE: be careful when changing the password as it may affect production applications that are using that login and password!
This message:
"One or more databases are inaccessible and will not be displayed in list."
Means that the user you are using right now cannot access to that db. If you can enter with a user that does have access and from that user change your actual user's rights through User Mapping, then you will see it.
You need a dba (or someone with dba equivalent access) to give you rights to the database.