Hot answers tagged

92

Really Short Answer - In Place is okay. You can review your configuration afterwards and implement the best practices for SQL Server 2012. A Longer Answer on SQL Server Upgrades/Migrations So this is an opinion thing and there isn't a necessarily wrong or right answer but I prefer migration style upgrades over in-place for a lot of reasons. That being said ...


16

Unless I'm missing some nuance, you will simply set the Row Visibility based on the value. Right click on the detail line and select Row Visiblity... In the window that pops up, select Show or hide based on an expression Within that expression, you'll use logic like =Fields!Total_Allocation.Value = 0 And Fields!Total_Actual_Cost.Value = 0


14

Okay, I got it. Found this link which helped: http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/581c7068-0abe-49f9-a1a5-93e94f472641/ I distilled that information to this query: select Catalog.name, cat1.Name datasource from Catalog join DataSource on Catalog.ItemID = DataSource.ItemID join Catalog cat1 on ...


14

In my experience, the same decision making process should be made as prior. AFAIK there hasn't been any 'world changers' with SQL Server installation, within the MS SQL Server product in itself, and the potential problems you have when rolling out software with millions of lines of code. Something bad could happen and now you're stuck with no 'ROLLBACK' ...


14

... was hoping I could get ... a rough rough estimate of what we should be running. Without more information about your queries and data sizes, it's really difficult to give you any kind of estimate, let alone an accurate estimate. Database: sql server 2008 r2 enterprise database Windows: Windows 2008 r2 Enterprise 64 bit, pretty sure running on ...


14

Will running a large query on a secondary database in an availability group affect transaction performance in the primary database? It depends on the sync mode you have used when configuring Availability group - Sync or Async ! On Secondary replica, all the transactions use Snapshot Isolation level ONLY and all locking hints are ignored as well. That's why ...


11

Using mirroring alone won't be sufficient since the mirrored secondary is not available for querying. You have to create and maintain snapshots, which can be annoying. Your options are, in no particular order: Mirroring with snapshots : effective but has management overhead. Backup and restore : Are you restoring from full backups rather than differential ...


11

Does this mean Microsoft will eventually try to deprecate SSRS? Ref: https://blogs.msdn.microsoft.com/sqlrsteamblog/2017/07/19/sql-server-2017-reporting-services-release-candidate-now-available/ No. We moved Reporting Services installation from the SQL Server installer to a separate installer. This is a packaging change, not a product change; access ...


11

You can bypass the 8000 character limit of OPENQUERY by utilizing EXECUTE AT, as follows: DECLARE @myStatement VARCHAR(MAX) SET @myStatement = 'SELECT * FROM TABLE WHERE CHARACTERS.... ' -- Imagine that's longer than 8000 characters EXECUTE (@myStatement) AT LinkedServerName In order to make sure this doesn't throw an error, you need to enable the RPC OUT ...


10

You could create a job that checks the msdb.dbo.sysjobhistory table every minute (or however frequently you want). You might want to implement a queue table so you only ever send the message for any single instance failure once. USE msdb; GO CREATE TABLE dbo.ReportServerJob_FailQueue ( job_id UNIQUEIDENTIFIER, run_date INT, run_time INT, -- horrible ...


10

There are two places you can control this visibility. The first is on the row in the tablix; the second is on the row in the Row Groups*. If you change visibility by right-clicking the row in the tablix then on the final report the row will be invisible, but still there. If you change visibility by right-clicking the Row Groups line then on the final ...


9

This is account 'bean counter' insanity. The $1100-$2500 you would spend on RAM could possible pay for itself back within a week! They are getting time outs for 20 employees and 5 of them are doing 'resource intensive' work. I'd imagine their time isn't cheap, and some of those reports are the ones the boss not signing off on the paycheck would love. ...


9

You actually just put a SUM around the outside: =Sum(IIF(Fields!Role.Value = "Contractor", Fields!actualwork.Value * 100, Fields!actualwork.Value * 77)) It will evaluate that row by row and will provide the correct sum.


9

KPIs are an Enterprise feature. They are only available in the Enterprise and Developer Editions. https://msdn.microsoft.com/en-us/library/mt742500.aspx You will also need to do two things in order to have KPIs show up in the "New" dropdown. You must have Content Manager or Publisher privileges in the folder you will be creating the KPIs in. You must have ...


8

Why are you running a log backup job on [ReportServerQA5TempDB]? It should be in simple mode. From MSDN: ReportServerTempdb is created with the primary report server database and is used to store temporary data, session information, and cached reports. and Use the simple recovery model to backup the reportservertempdb database. Now the real question ...


8

You can add a row outside of the outermost group right under the tablix header row. Set the row visibility to Show or hide based on an expression. The expression would like like: =iif(CountRows("DataSet1") > 0, true, false) When there is no data, the table will show the headers and empty row. When there is data, the empty row will be hidden.


8

Unfortunately there is not much you can do about this, this behaviour is by design. The problem manifests itself when user sessions time out because the report is taking too much time. You can try to improve the reports, or configure the session timeout to be a bit longer than the longest running report See this link for an explanation about the why and ...


8

If I understood you correctly, you have a large third-party system, you don't have much control over it, you make complex reports that read data directly from this third-party database, your queries depend on the internal structure of the third-party database. I would approach it like this: Set up my own separate database, which I have full control of....


7

There are a couple of courses of action for you: If you're friendly with your Windows Admin, I'd thoughtfully think out some AD Groups and then present them to the admin and ask them to be created (in whatever workflow you have). From there you can assign permissions on the individual folders by these groups. Click on the folder, then click on Properties. ...


7

I found a solution. I did not properly split the values in the stored procedure with a UDF. To pass multi-values correctly in this stored procedure, I would need to add the following code to the dataset parameter that I am using: =join(Parameters!<your param name>.Value,",") This is basically going to join multiple values into an array and pass it ...


6

You mentioned that you have the table (technically clustered index) partitioned. Does your query use the clustered key(s) as part of the search predicate? If not, you are going to get scans, as opposed to seeks, against the partitioned index. Do you have any nonclustered indexes? Are they also partition-aligned? Have you investigated your query ...


6

Once you're ready to start building reports on that data an alternative (or supplemental) approach would be to pre-aggregate your data. If the reports don't need the same level of detail as the table then it would be a good idea to do periodic loads to some snapshot tables or an SSAS cube that the reports would directly connect to. Directly reporting off ...


6

We actually ran into a similar issue at StackOverflow and Kyle blogged about it: http://blog.serverfault.com/2011/03/16/views-of-the-same-problem-network-admin-dba-and-developer/ The problem can be a number of things: Queries bringing back too much data (like select * from a wide table with a lot of XML or binary fields) Client-side apps processing data ...


6

Quick answers: Works, as you noted. Works, as you noted. This does not appear to work. I didn't see an option off-hand and whenever that question gets asked, the answer always comes back to setting the isolation level in the stored procedure. I wouldn't believe so. SSRS is at a higher abstraction layer than the database engine, so in some sense, it doesn'...


6

Have you considered READ_COMMITTED_SNAPSHOT row versioning for the database? Kim Tripp has a good article about it at http://msdn.microsoft.com/en-us/library/ms345124%28v=sql.90%29.aspx READ_COMMITTED_SNAPSHOT allows better functionality than WITH (NOLOCK) in that it provides absolute point-in-time consistency for long-running aggregations or queries ...


6

Use this syntax: ORDER BY name,CASE WHEN country='UK' THEN 0 ELSE 1 END,country


6

Get SSRS Datasources from ReportServer I would also like to include the 'Connection String' at least How can I display Data Source details with a SQL query? TSQL for getting the Connection String of SSRS Data sources -- Transact-SQL script to get connection string of all SSRS Shared Datasources. /* Let's say you want to move a database to an ...


6

About the separate installer for SSRS, here's a good reason: https://blogs.msdn.microsoft.com/sqlrsteamblog/2017/05/17/a-closer-look-at-power-bi-report-server/ In summary, SSRS, and PowerBI Report Server has similar features hence it might be beneficial from the developer's perspective to group them accordingly (just a hunch, I am not a Microsoft employee, ...


5

Mirroring is for individual database. For reporting services, you can user web server farms (AKA scale out deployment). It will allow multiple servers in a cluster. You will need SQL Server Enterprise Edition for this feature, though, as well as a load balancer (Windows has this or NW hardware like BigIP, etc.). See here for more info: http://msdn....


5

If you have lost the historical data (i.e. it gets overwritten rather than stored as a transaction history) then you can't reconstruct the historical state - full stop. However, there are a few approaches to dealing with this. Build an automated process that queries the system through SSRS or some other mechanism and saves the historical reports to an ...


Only top voted, non community-wiki answers of a minimum length are eligible