Skip to main content

SQL Azure Reporting

What is it?

SQL Azure Reporting enables developers to embed operational reports on information stored in a SQL Azure database, using ReportViewer in remote mode in your applications, with the cloud at your service, and no need to manage or maintain your own reporting infrastructure.

SQL Azure Reporting provides many of the features you know from SQL Server Reporting Services 2008 R2 to create your reports with tablices, charts, maps, gauges, sparklines, and more using the familiar Business Intelligence Studio, and deploy them on-premise or in the cloud. Literally take your report anywhere, and scale when and how you need it. Check out the webpage for more info, and sign up for the CTP.

How to get started?

  • Once you have signed up for the CTP, an invitation code will be send to you. Go to the Azure Management Portal(http://windows.azure.com) and click on the Reporting option on the left.

image

  • Click on the Provision button on the right. Accept the license agreement and click Next.

image

  • Select the subscription for which you want to activate SQL Azure Reporting.

image

  • Enter the received invitation code and a password of your choice. Click Finish to finish the wizard.

image

  • Now the SQL Azure Reporting functionality is activated. Drill down in the subscriptions on the left and select the Reporting Services instance. On the right you’ll see the Web Service URL and a generated username.

image

  • To connect to the report server, enter the following url in your browser(Don’t forget to use https):

image

  • Enter the generated Username and the password you used when activating the SQL Azure Reporting.  A directory listing with the created report folders and reports will be shown

image

  • If you want to create your own reports, install the Visual Studio Business Intelligence Tools for SQL Server 2008 R2, create your report and use the same url(https://<Web Service Url>/ReportServer when deploying your report.

Popular posts from this blog

Podman– Command execution failed with exit code 125

After updating WSL on one of the developer machines, Podman failed to work. When we took a look through Podman Desktop, we noticed that Podman had stopped running and returned the following error message: Error: Command execution failed with exit code 125 Here are the steps we tried to fix the issue: We started by running podman info to get some extra details on what could be wrong: >podman info OS: windows/amd64 provider: wsl version: 5.3.1 Cannot connect to Podman. Please verify your connection to the Linux system using `podman system connection list`, or try `podman machine init` and `podman machine start` to manage a new Linux VM Error: unable to connect to Podman socket: failed to connect: dial tcp 127.0.0.1:2655: connectex: No connection could be made because the target machine actively refused it. That makes sense as the podman VM was not running. Let’s check the VM: >podman machine list NAME         ...

Azure DevOps/ GitHub emoji

I’m really bad at remembering emoji’s. So here is cheat sheet with all emoji’s that can be used in tools that support the github emoji markdown markup: All credits go to rcaviers who created this list.

Cache stampede: when our cache turned against us

While investigating some performance issues, we ran into an ASP.NET Core API that cached a fairly expensive aggregation query for 60 seconds. Under normal load, that was fine: one request rebuilds the cache, everyone else reads from it. Under peak load, dozens of requests would arrive in that same expiry window, all see a cache miss, and all fire the same expensive query in parallel. The database didn't like that. That was the moment when our caching layer stopped helping and started hurting. A burst of requests comes in at the same time, all miss the cache, and all go hammer the database or the downstream API at once. That's a cache stampede . The cache was supposed to protect our backend, and for a few hundred milliseconds it did the opposite. Why this happens IMemoryCache.GetOrCreate (and its async sibling) looks like it protects you, but it doesn't add any locking on its own. Look at the naive version: public async Task<Report> GetReportAsync(string key) ...