I'm a web developer, and my DBA is asking for help setting up SQL Server Reporting Services. He installed SSRS on the database server itself.
I've always been of the opinion that the web server portion of an application should be on separate server from the database. SSRS seems to want to set up the web access portion of SSRS on the same server (database server).
Is this acceptable practice to serve the SSRS reports directly over the web from the database server? I've searched for documentation on setting up the web site up on a separate web server and have not found any information.
It is acceptable to have SSRS and SSDS on the same server, as long as the server has enough resources to handle the load. Ideally, they should be separated.
SSRS can grab a lot of RAM all of a sudden when someone deploys, and runs a poorly written report. If you think that could happen, separate them, sooner rather than later.
Related
I have been looking around for the best practices when setting up Microsoft SQL Server Reporting Services (SSRS) in AWS(Amazon Web Services) environment. We have two options
SSRS on EC2: We can launch an EC2 instance with SQL Server installed on it and then we can setup SSRS using Report Server Configuration Manager.
SSRS on RDS: We can add an option group for SSRS in RDS and that will enable the SSRS on RDS instance. We can set the limit of max memory % usage for SSRS while setting up SSRS option in RDS
I am looking for comparison between SSRS on EC2 vs SSRS on RDS in terms of security, performance or any other limitations/benefits of using any of these two options.
The entire reason AWS strived to provide SSRS support is due to the cries from Dev's.
I shouldn't take all the credit as MSFT China Support helped me get it going, manually automagically setting up SSRS on an EC2 prior to RDS offering the service.
Here is the script I wrote and if you take a look it's worth paying for the RDS service. If there is only one reason you go SSRS RDS, it's ease of use.
Before you read this answer, keep in mind I have SQL Reporting Server baked into an Amazon Machine Image (AMI). I can't have an Auto Scale Group (ASG) with a server that requires a 45minute install in its UserData (Bootstrap script).
Hence I have a pre-installed SSRS image and then restore the Reporting Config database over the top during the deployment. Here are the issues with that:
RSConfig generates a Dsn Connection String doesn't work
Resort to what I did if there's a blocker, take it as a Plan B. I've walked the path before...
I got a task to define various SharePoint farm topologies.
But I haven't any experience about SharePoint and anything else like that.
I found some information about the system requirement and the supported topologies, but I´m not sure if they are really supported.
It's hard to find helpful information. So my question.
I define a three tier topologie.
SharePoint 2016 Server
MSSQL 2016 Server
Workflow Manager Server
Is it supported to share the Database Server with the SharePoint and the Workflow Manager Server?
You can use the same SQL server for the workflow and SharePoint databases without a problem.
In fact I have a site that runs workflow manger from the SQL Server, database and IIS. This was due to the fact the all servers in the farm were Server 2016 and workflow manger is not supported on Server 2016. The only server available to install workflow manager was the SQL server which was Server 2012 R2.
Unless you have an insane amount of workflows, I wouldn't both with a dedicated workflow server, I would split the SharePoint server out into a Web and App Server.
NO, Based on Microsoft best practices SQL server should has its own box, SP and WFM should not be located on the same server to reduce any possible dependency in the future.
ex. sometimes, you will need to renew the certs which are expired. to do so, you need to change the time back.
if SQL and SP sharing the same box, the sites and db transactions will be infected.
another example: if WFM caused any memory leak or throttling, then the SP and SQL will also be infected.
you should dedicate a box for each platform.
1 more thing, the WFM should has odd number of servers. as the Windows/ service fabric uses voting to decide which server to handle the traffic. odd number of servers will allow one of the servers to be identified as preferred server to do so.
Here's my setup:
SQL Azure DB - This is the PaaS solution, not SQL Server running on an Azure VM.
Single Page App (Angular.js) hosted on Azure Web App.
My needs:
I'd like to find a packaged solution where we could allow user-configured reporting that could be saved by the user, for running later. Output would ideally be either CSV or PDF.
Initial thoughts:
Could we create a SQL Server installation on an Azure VM, and use SSRS with the SQL Azure DB as the data source?
Are there third party solutions that could meet these needs?
My research so far has shown one answer... migrate your data to SQL Server running on Azure VM, and use SSRS that way.
Any additional suggestions? I'm reluctant to do a data migration if I can avoid it.
Consider PowerBi, there are numerous examples on the web and here is an overview. What you basically get is an excel-like environment with a lot of smart and easy visualizations. I am not sure how well it works, but there is a possibility to ask questions about your data in natural language as well.
It should be pretty easy to connect your database to PowerBi, then your user can configure what kind of visualizations/report does he want to have.
I have a client that runs a small business. They need a custom database solution and I'm looking into various options. My experience is limited to .NET using local SQL Servers (no ASP.NET), however, this client is non-technical and would benefit from being able to outsource the DBA tasks. I'm a complete Azure noob, I just scanned the tutorials and they all appear targeted at developing MVC ASP solutions. The client doesn't need a browser based solution. A fat desktop client used from different geographical offices would be the least expensive option I can deliver. I'm just trying to save some time going through all the tutorials and docs only to find out that this isn't what SQL Azure is intended to do. In effect my questions boil down to:
Can I develop a C#/.NET WPF desktop application using Entity Framework 4 and have it hit SQL Azure instead of a local SQL Server?
Are there any known gotchas with EF4 and SQL Azure?
Are there other hidden development costs/complications in using SQL-Azure instead of a local SQL Server.
Is the basic tool support the same? One specific example I can think of; do I get a SQL profiler tool for troubleshooting?
The final question is security related and I'm not sophisticated enough to ask a good question, but is hitting a SQL Azure db this way considered a security no no?
Yes, you can, but a more suitable approach would be to use WCF Data Services or another form of web services (asmx or WCF) as a services layer for your application. I like this approach for line of business applications. I hate web apps for line of business and by using a services connected WPF desktop application, you get the benefits of running in the cloud and having a cloud offering without the necessity to be HTML based.
SQL Azure has full support for EF these days. In the past there were some issues, but I have not encountered any these days.
In terms of development costs and complications - the Azure desktop hosted environment is a bit of a PITA from a development perspective, but I haven't had major problems. You lose the ability to share a local DEV SQL Server unless you use a hosted instance....of course there's a development cost in that because you have to pay for usage.
Good point! SQL Azure does not provide SQL Profiler support at present. I personally use the built in EF tracing support for this functionality.
Exposing a SQL Azure DB directly isn't a good idea from a security perspective. That's why I suggest hitting a WCF Data Services (or other web services) endpoint in point 1.
You can develop a desktop or on-premise application that uses SQL Azure for your database.
You need to take the standard Azure precautions - assume that connection failures will occur and ensure that your application has retry logic to restore operation. Also note that SQL Azure will terminate any operations that take longer than a minute, to preserve the service for other users. If you have lots of data and some nasty queries, that might be relevant.
EF works fine with SQL Azure. There are some limitations to SQL Azure, itself, which you can read about from the documentation on Microsoft's web site. If you design you database for Azure, it'll work fine on SQL Server or SQL Express (but not necessarily the other way around).
In addition to the monthly charge for the database, you will pay for data that leaves the data centre. Design your application carefully to minimise the amount of data that is retrieved from the database. You no longer have to pay for data going into the data centre, which helps.
You can still use SQL Management Studio and Data Connections within Visual Studio. No SQL Profiler, though. There are a few irritating things you can't do with Management Studio, but nothing insurmountable.
You will have to open up firewall rules for access to the database, but hopefully, they'll be limited. Authentication is by SQL Server credentials, not integrated authentication.
I wouldn't tend to do it this way, but it works.
I am configuring a new environment to run several intranet web applications. I have 2 servers, one will be the SQL Server 2008 server, and the other will be the IIS server. I also need to install SQL Server Reporting Services. I am not sure whether it would be better to run reporting services on the database server, or web server. Is there a best practice for this situation?
Depends...
The reporting services rendering is fairly processor intensive so you need to keep that in mind. Typically if I'm designing a system with heavy load or throughput requirements I place the reporting services instance on its own server. The best practice is really dependent on the complexity of your system.
If a third server is not an option and the two servers you already have are similarly speced I would probably place it on the one with the lowest processor load. If you place the reporting server on the web server make sure that Reporting services uses your dedicated database server for the reporting services meta-data so that you don't have to install the RDBMS on both machines.
You need to keep in mind that if you don't place the reporting server on the same box as SQL server you will need another SQL Server license. The product is only "free" if it is installed on the same machine as SQL.
I would run installer on your web server so that the web service components of Reporting Services are installed there.
It is also benificial to configure reporting services with it's own application domain in IIS so that you can tweak the configurations independant of say your other web applications.
When you run through setup using the Reporting Services Configuration Tool, set up the database on your non web server (i.e. dedicated db server). This way all your data processing is handled on one server and all your web processing/data rendering is handled on another.
Hope this is clear and of use but please feel free to pose further questions.
Cheers,John