Questions tagged «ssrs»

SQL Server Reporting Services,这是由Microsoft生产并与SQL Server捆绑在一起的基于Web的报告工具。

5
是否建议SQL Server就地升级不如从前?
从SQL Server 6.5开始,我就一直在使用SQL Server进行断断续续的工作,至今仍然在我脑海中响起的那条老建议是永远不要进行就地升级。 我目前正在将我的2008 R2 DEV和TEST系统升级到SQL Server 2012,并且需要使用相同的硬件。不必还原我的Reporting Services配置的想法非常吸引人,我真的很不明智。没有涉及分析服务,也没有任何异常或非标准的服务-仅安装了数据库引擎和报告服务。 有没有人遇到就地升级的严重问题?还是应该重新评估就地升级的立场?

1
报告服务和应用程序角色
此问题是从Stack Overflow 迁移而来的,因为可以在Database Administrators Stack Exchange上回答。 迁移 7年前。 第一张海报,长期潜伏在这里。在报表中激活应用程序角色的最佳方法是什么? 我尝试了不同的方法,到目前为止,唯一可行的方法是将调用嵌入到应用程序角色中,如下所示:- EXEC sp_setapprole 'REPORTZ', 's3cr3t'; select * from mytable where ID < 10000 在数据集中。它确实可以工作...但是我不喜欢(肯定不是我想融入生产环境的形状)。 我希望可以通过自定义程序集或Reporting Service中的某种“服务器挂钩”在运行时以某种方式“劫持”或“注入”应用程序角色激活行(在两种情况下,我都不知道如何) 非常感谢您的时间+亲切的关注。 YS。
25 sql-server  ssrs  role 


4
将来自不同表的数据聚合到一个表中是不明智的做法吗?
背景 我为大量的健康记录数据库写了很多大型报告(写SP,函数,作业等)。原始模式和使用该模式的软件均来自其他供应商,因此我在结构上不能做太多更改。有许多需要跟踪的记录,例如实验室,程序,疫苗等,它们分散在数十张表中,其中许多表肿且索引不正确(我已经能够解决此问题)。 问题 问题是,由于我们对数据库的控制很少,并且可以从任何给定的更新或补丁进行更改,因此使得编写和维护这些报告变得困难而乏味-特别是在存在大量重叠的情况下。它所需要的只是一个补丁,我被困在重写大量报告中的大部分。此外,随着联接,嵌套选择和应用堆积,查询很快变得混乱而缓慢。 我的“解决方案” 我的计划是将所有这些记录写入一个“全部捕获”表,并在原始表上写入触发器以维护该聚合表中的记录。当然,我需要确保触发器在更新后完好无损,但是从可维护性的角度来看,并且仅引用数据,这样做会容易得多。 该表又细又长,仅存储所需的数据,如下所示: CREATE TABLE dbo.HCM_Event_Log ( id INT IDENTITY, type_id INT NULL, orig_id VARCHAR(36) NULL, patient_id UNIQUEIDENTIFIER NOT NULL, visit_id UNIQUEIDENTIFIER NULL, lookup_id VARCHAR(50) NULL, status VARCHAR(15) NULL, ordered_datetime DATETIME NULL, completed_datetime DATETIME NULL, CONSTRAINT PK_HCM_Event_Log PRIMARY KEY CLUSTERED (id) ) 然后,我将使用各种关系表来处理诸如type_id和项目分组之类的事情。 我开始对这个想法进行第二次猜测,因为其中一些表已写入很多,我要编写的SP和报告也将大量引用数据。因此,我担心此表将成为具有这么多I / O的记录锁定和性能噩梦。 …

3
SQL Server 2008 R2的一般内存要求
我对DBA的工作没有经验,但是我正在尝试为SQL服务器请求更多资源,并希望我可以请一些聪明的人对应该运行的内容进行粗略的估计。我怀疑IT给生产sql服务器的资源分配很低。 硬件软件: 数据库:SQL Server 2008 R2企业数据库 Windows:Windows 2008 r2 Enterprise 64位,可以肯定在VMware上运行。 处理器:Intel(R)Xeon(R)CPU E7-4860 @ 2.27GHz 2.26 GHz(2个处理器) 安装的内存:4GB 数据库文件硬盘:300GB 备份硬盘:150GB 日志硬盘:100GB 应用: 我们有3个主要数据库,它们总共增加了大约170GB的数据,在同一服务器上的Reporting Services数据库(SSRS)可能每天存储10个不同的报告(每个报告平均包含70万条记录)。我们的用户群大约有20个同时用户,其中可能有5个被认为是“资源密集型”的,可以生成数据密集型大型报告。大多数用户通过asp.net网站和报表服务器网站与数据库进行交互。此外,我们的开发人员通过直接远程连接到服务器(最多2个远程连接),在BIDS中广泛使用SSIS。最后,我们有一个相当复杂的数据仓库操作,它可能每天也通过在服务器上运行的SSIS包带来300万条记录。 当前问题: 我们的服务器长期存在超时问题,对网站的响应时间非常糟糕。我怀疑我们拥有的内存量(4GB)可能是一个很大的瓶颈。我们先前对额外内存的请求已被拒绝,我们需要执行更多查询优化来获得共同的响应。虽然我们不是sql专家,也不是(我相信您可以通过我们的设置告诉您)db admin专家,但我想确保的是,如果硬件不是硬件,那么我不会花太多时间试图挤出一点潜在的性能瓶颈。 谢谢大家避免tl!dr!

2
作业类别中的任何作业失败时发出警报
是否可以在SQL Server 2008中设置警报,以便在特定类别的作业失败时将发送电子邮件? 我想知道是因为我想在SSRS订阅失败时设置一封电子邮件,并且所有这些订阅都是Report Server类别中的作业。 编辑 -事实证明,当SSRS订阅失败时,作业本身不会失败,因此我的问题将不适用于SSRS订阅监视。但是我仍然想知道我们在环境中运行的其他工作

2
如何将SSRS(SQL Server 2012)配置为在不同实例上运行,但与SharePoint在同一服务器上
我有一个运行Windows 2008R2的SQL Server 2012实例以及另一个运行SharePoint的SQL Server 2012实例(我认为这是SharePoint 2010)。 当我尝试访问时,http://localhost/Reports_<InstanceName>我得到: 证书警告(我会继续进行-我不太在乎-它是开发人员计算机) 以下文字: Cannot connect to the configuration database. Google表示该错误消息与SharePoint相关,因此我倾向于认为SharePoint正在劫持SSRS请求。 是否可以对SSRS或其他某些东西(可能是IIS?)进行配置,使我可以访问报表服务器? 注意:我可以通过SSMS连接到Reporting Services。

1
如何确定SSRS中使用了哪些数据源?
我们将大量SSRS(2008)报告部署到了我们的门户网站。我们已经编辑了一些报告,以使用与最初部署它不同的共享数据源。 我正在寻找一种查询ReportServer数据库的方法,以向我展示哪些报告使用这些共享数据源中的哪些。我发现您可以使用存储在Catalog.Content中的XML数据来显示正在使用的数据源,但是这对于最初部署报表的数据源来说似乎很明显。
10 sql-server  ssrs 



3
如何在SSRS报告中隐藏行?
我想弄清楚如何在报表中隐藏那些行,其中SSRS 2008中“两列中的总分配和总成本”为0。 例如: 总分配总实际成本 0 0 <----隐藏 100,00 0 <----不要隐藏 0 50,0000 <----不要隐藏 这是屏幕截图: 谢谢


1
没有数据显示时如何保持Tablix的结构
我们有一个SSRS报告,它以tablix形式显示数据集的结果。如果数据集中的查询未返回任何数据,则显示Tablix的标题,但不显示标题下方的tablix单元。我知道可以拥有属性NoRowMessage,但实际上这不是我们想要的。因为当我指定一条消息时,SSRS会显示该消息而不是空的tablix。我必须按原样显示tablix结构,但单元格为空。 我什IsNothing至使用函数为tablix的每个单元格值设置规则,以显示空白(“”)(如果该值为null的话),但这无济于事。 你有什么主意吗?感谢您的帮助。

4
SSRS和托管服务帐户-无法配置?
我们正在尝试将Reporting Services配置为使用托管服务帐户。环境是: 服务器:Windows 2008 R2 SP1报告服务:SQL Server 2012(版本11.0.6567.0) 当前,SSRS作为域服务帐户运行,但是我们希望更改为作为MSA运行。SQL Server实例和代理都已成功更改为使用MSA。 当我尝试通过Reporting Services配置管理器将服务帐户更改为MSA时,收到错误消息: Microsoft.ReportingServices.WmiProvider.WMIProviderException:帐户名无效。以domain \ alias形式指定一个帐户。 ---> System.Runtime.InteropServices.COMException(0x8004021D):来自HRESULT的异常:0x8004021D-内部异常堆栈跟踪的结尾--- Microsoft.ReportingServices.WmiProvider.RSWmiAdmin.ThrowOnError(ManagementBaseObject mo)在Microsoft.ReportingServices .WmiProvider.RSWmiAdmin.SetWindowsServiceIdentity(String accountName,SecureString password,Boolean useBuiltinAccount)at ReportServicesConfigUI.WMIProvider.RSReportServerAdmin.SetWindowsServiceIdentity(String accountName,SecureString password,Boolean useBuiltinAccount) 我的问题很简单: 是否有人成功将SSRS服务帐户更改为使用托管服务帐户?如果是这样,怎么办?

1
如何在SSRS报表中传递多值字符?
我有一个SSRS报告,其中包含3个数据集,它们来自一个数据源。主数据集是一个存储过程,它基于由其他两个数据集提供支持的一组参数来聚合某些数据。 支持该报告的主要存储过程具有4个参数。一个是数据类型的ID,两个是开始日期和结束日期,第三个只是标记参数。flag参数是多值参数,我想在其中传递多个也是VARCHAR值的标志值。 在我的@Flag参数的存储过程中,我有一个共同点: WHERE [Flag] IN (@Flag) 然后,当然,SSRS报表上的@Flag参数设置为允许“多个值”,这些值也从从维度表中提取那些@Flag值的查询中填充。 我的问题 在大多数情况下,处理INT值时,可以使用相同的技术。但是,当我处理字符值时,它会失败。如果我选择一个标志,该报告将产生神奇效果。如果选择多个标志,则似乎无法正确将标志传递给存储过程,并且不会返回任何结果。 在存储过程中直接测试多值标志时: WHERE [Flag] IN ('A', 'B', 'C') 该存储的过程正常工作。因此,问题不在于存储过程,而是SSRS如何将多值传递给@Flag参数。 尝试过的解决方案 我尝试为此@Flag参数对SSRS数据集进行以下调整: =join(Parameters!<your param name>.Value,",") 还有这个: =SPLIT(JOIN(Parameters!<your param name>.Value,","),",") 这些都适用于单个值,但不适用于多个值。 我在这里想念什么?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.