No entering Credentials for an SQL Azure report - reporting

Situation:
I have set up an Windows Azure webrole in visual studio 2010 to get a SQL report from the reportserver and everything works.
Problem:
Everytime I want to check the report and run the program I have to enter the credentials for the report, I don't know how to turn this off. Even on the server I have to enter them but I can't seem to find a way to make the report public..
I find the management quite confusing..
Does anybody know how to do this?
This is what it looks like when running the program

Based on what you provided:
You have an ASP.NET Web Role which connects to SQL Azure Report Server
Whenever you launch your ASP.NET Web Role you need to enter credentials to access the report as shown in the image
You are looking for a way to add username/password within the WebRole so reports can be viewed by anyone accessing the webpage.
Here is the answer:
In your SQL Azure Reporting via Report Viewer control based Web Role, you can add Username and Password into Global.config along with RSServer (Report Server) Name
This way when your ASP.NET based Report Viewer application will run, it will have required credentials already available to connect to report server.
The following link shows exact details about how you can achieve your objective:
http://oakleafblog.blogspot.com/2011/10/pass-summit-sql-azure-reporting_8267.html
You can get SQL Azure specific report viewer samples from the link below:
http://social.technet.microsoft.com/wiki/contents/articles/sql-azure-reporting-samples.aspx

Related

How to automate publishing of Power BI (PBIX) from desktop to Power BI Web with config for environment

I currently have a desktop PBIX file that I manually publish to Power BI Web.
I have to keep different version of the same PBIX file just to keep track of different sources based on environment such as Dev/QA/UAT/Prod etc
I have more than one data source for each environment i.e. in same PBIX file I have data coming from say Application Insights and REST API.
I scanned through power bi community to see how to do this but can't find relevant information. All pointers are for refreshing either the local PBIX or using Schedule Refresh option in Power BI Web.
Someone even wrote code to hit Publish code via OLE automation but that's not acceptable solution.
https://community.powerbi.com
I would like to automate this process such that
A. I can provide the data source connection string/ credentials externally based on the environment I want to publish it to.
B. Publish the report to Power BI web using a service account instead of my own.
Our current build and deployment tool set does allow use of PowerShell/ Azure CLI etc. Hence it would be helpful if the solution uses those.
Fetching data from sql Azure won't need refresh but it's expensive.
In one of the organizations I worked for they used views on sql Azure to accomplish this task

Failing to access external SQL database from CRM Plugin while debugging

I'm having trouble accessing an external database from a CRM plugin.
The error I receive is:
"Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxx' failed."
The code runs great locally within a "unit test". I made sure to set the plugin isolation mode to "none".
I tried looking to this article for help, and tried everything it suggested with no luck.
Here is the current code I'm using:
var conn = new SqlConnection(#"Server=MyServer\Instance;DataBase=MyDB;User Id=MyUser;Password=MyPassword;Integrated Security=false;");
conn.Open();
I also tried this connection string and giving the NT AUTHORITY\NETWORK SERVICE user access to the database.
var conn = new SqlConnection(#"Data Source=MyDS\Instance;Initial Catalog=MyDB;Integrated Security=SSPI;");
conn.Open();
I'm on Dynamics CRM 2015 On-Premise.
Update: I found out it was working when I didn't debug, but I got the error when I try to debug it through the plugin registration tool. Any idea on why that would happen?
A SQL connection will require "full trust" to establish which the CRM plugin sandbox does not run within.
We run CRM 2013 On-Premise and I frequently make calls to external databases within custom plugins and workflows, but to overcome the security issues - I created a web service which handles these requests.
For example, a call to update a record in DB2 when an account is updated would work like this:
Account record updated in CRM
Account plugin fired
Establish connection to MyCompanyWebService
Call UpdateDB2 (method within MyCompanyWebService)
Of course you have the overhead of having to develop a separate web service, but (on the bright side) it allows you to separate the logic and you can fully control the trust level within your web service.
The plugin registration tool has only limited debugging capabilities. It was designed for CRM Online, where you cannot use the debugging options of Visual Studio. In OnPremise deployments use either remote debugging or install Visual Studio on the CRM Server. The last one is the recommended approach.
That issue looks like your code is running in partial trust (Sandbox), it's failing even before trying to connect to the SQL Server instance as it doesn't have permissions to instantiate a SqlClient.
In Dynamics CRM 2015 On Premise you don't have to run plugins in Sandbox if you don't want to. Sandbox is a requirement for Dynamics CRM online only.
Did you try running outside the Sandbox? Did you do an iisreset after changing the plugin isolation maybe?
Here is an article with more details.

Web Deploy no longer works

My team uses Web Deploy in order to deploy updates to our website on to our production server. The last few days I've been doing some housekeeping and have changed my password (which I made sure to update in my Web Deploy configuration) and moved the solution for our website to a different location in TFS. I'm not sure which (if either) of these has caused the issue, but I am now no longer able to publish our website using Web Deploy.
I can preview the publish fine, but I can't actually publish it.
The Output in Visual Studio shows this:
Start Web Deploy Publish the Application/package to https://[REDACTED]:8172/msdeploy.axd?site=[REDACTED] ...
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets(4270,5): Error ERROR_COULD_NOT_CONNECT_TO_REMOTESVC: Web deployment task failed. (Could not connect to the remote computer ("[REDACTED]") using the specified process ("Web Management Service") because the server did not respond. Make sure that the process ("Web Management Service") is started on the remote computer. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC.)
Publish failed to deploy.
(Note that I've removed some identifying information from this log, which has been replaced with '[REDACTED]')
I found a page describing this issue here: http://www.iis.net/learn/publish/troubleshooting-web-deploy/troubleshooting-web-deploy-problems-with-visual-studio
It says to check in the WMSvc log to find the status and substatus codes for further troubleshooting.
Here I've colour coded lines relating to the preview in green and lines relating to the actual publish in red. As you can see, the requests returned with a 200 (OK) status, meaning the server is not aware of any error occuring. However Visual Studio reports a failure and my production website has not been updated.
The fact that log entries are generated tells me that Web Deploy is properly installed and the handler is setup correctly.
It seems the deploy always fails after ~30 seconds. This could be coincidence, but I'm wondering if there's a timeout at play.
Could anyone suggest further troubleshooting steps?
EDIT: This issue occurs when I try to publish to ANY server, so it's definitely a client issue and not a server issue.
EDIT2: I have two branches of my project, Main and Dev. I just discovered that I can still publish from Dev, just not from Main. They both have identical settings. Very weird.
This can be caused by few reasons. I've written this blogpost earlier about the issues.
When we install the Web Deploy tool, it creates local users "WDeployConfigWriter" and "WDeployAdmin". In your case, you've explicitly changed the password to reset these local users passwords I think, or, the passwords of those in charge. To reset these local users passwords, you can do following:
"Control Panel -> User Accounts -> Give other users access to this
computer -> Advanced -> Advanced -> Users"
Reset WDeployConfigWriter's password
Reset WDeployAdmin's password
"IIS -> Server Node -> Management Service Delegation"
Right click on each
rule with users "WDeployAdmin" and "WDeployConfigWriter"
Click Edit
Click on "Set..." button in "Run As" group
Enter the name of the account you are going to update the password of
Enter password on two areas
If the operation is still erroneous see Event Logs on Windows, they are the real deals here. Check this link.

How to create a user for a login in 2013 SQL Server Database Project

I'm trying to create a user with a login for a SSDT database project. The login already exists on the target server. With the following SQL:
CREATE USER [MyLogin]
FOR LOGIN [MyLogin]
WITH DEFAULT_SCHEMA = dbo
GO
I get the error:
Error 1 SQL71501: User: [MyLogin] has an unresolved reference to Login [MyLogin].
I've found two solutions, but neither work with 2013:
1) Create a server project to reference the login. This isn't an option in the current version of SSDT / VS2013
2) Disable schema checking. The option is missing in 2013 (I believe it was Options -> Database Tools -> Schema Compare)
You can actually create the Server Level Login within the SQL Server Database Project using the standard T-SQL Syntax:
CREATE LOGIN [Login_Name] WITH PASSWORD = '<Password>';
Note: You can also right-click the database project and choose 'Add New Item' and navigate to SQL Server > Security (within the templates dialog) and select 'Login (SQL Server)'.
This resolves the SQL71501 Error and (assuming you are using SQLPackage.exe for deployment) will allow SQLPackage.exe the ability to compare the security object with the target Database before deployment and publishing occurs.
Hope that helps :)
If you are guaranteed to have the login on the server, your best bet is to tweak your master dacpac file. There are some instructions on how to do this here:
http://sqlproj.com/index.php/2013/02/how-to-add-objects-to-master-dacpac
Alternatively, you could remove references to logins from the SSDT portion and handle it in post-deploy scripts. If you have any sort of environment where different permissions need to be applied in different server (Development, QA, Production), that might be the better option. I've blogged about this here: http://schottsql.blogspot.com/2013/05/ssdt-setting-different-permissions-per.html
Hopefully one of those will help. I've actually used the first option to work around an issue with needing to use EXECUTE AS, which requires that the user is in the project. It was a little tricky to get the exact XML, but I worked around it by creating an empty project with just that login, building it, and copying the XML from the dacpac into the master dacpac.

Reporting Error.The Report cannot be displayed(rsProcessingaborted) in CRM 2011

I created one SSRS Report and then I deployed it on CRM.Now when I Open it i Got an Error like Reporting Error.The Report cannot be displayed(rsProcessingaborted)...I have checked that Report working well but the issue comes after when i Deployed it on CRM...Please help me
I have run into several different problems deploying reports to CRM. The first one I hit was trying to use a "shared connection". CRM wants to replace your connection information when you upload the report, but it doesn't seem to be able to if the report is setup as a Shared Connection.
Take a look at my SSRS troublshooting steps and see if they help. You should be able to report back a more detailed error message.

Resources