虽然SQL Server报表服务(SSRS)平台并不难学习,但它仍然是一种相当复杂的技术。SSRS的成功运用需要数据库、管理学、报表构建和数据分析的组合能力。这种专业知识的结合往往是很难整合的,特别是在规模较小的公司中一个人可能身兼数职。 作为一名技术顾问,我见过几种SQL Server报表服务的部署,这些都可以从几个简单的SSRS最佳实践中受益。
备份加密密钥。SSRS使用加密技术来保护敏感的配置数据。如连接字符串和密码之类的信息都存储在后端ReportServer数据库和配置文件中。它们使用存储在SSRS中的加密密钥进行加密。
如果将SSRS迁移到另一台服务器,你需要使用相同的加密密……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
虽然SQL Server报表服务(SSRS)平台并不难学习,但它仍然是一种相当复杂的技术。SSRS的成功运用需要数据库、管理学、报表构建和数据分析的组合能力。这种专业知识的结合往往是很难整合的,特别是在规模较小的公司中一个人可能身兼数职。
作为一名技术顾问,我见过几种SQL Server报表服务的部署,这些都可以从几个简单的SSRS最佳实践中受益。
备份加密密钥。SSRS使用加密技术来保护敏感的配置数据。如连接字符串和密码之类的信息都存储在后端ReportServer数据库和配置文件中。它们使用存储在SSRS中的加密密钥进行加密。如果将SSRS迁移到另一台服务器,你需要使用相同的加密密钥来解密所有的加密数据。因此,恰当的加密密钥管理是非常重要的。
在安装SSRS时,首先要做的事情是使用Reporting Services配置管理器把加密密钥备份到一个密码保护的文件中。在SSRS服务器上保留一份密钥文件的副本,并在网络上某个安全的地方也保留一份。如果需要将SSRS迁移到另一台服务器,就可以使用相同的配置管理器从原来的服务器中恢复密钥。否则,你必须手工地重新创建所有的数据源和其他的加密内容。这不是你想做的事情,特别是在SSRS服务器无法正常工作的时候,而你需要迅速地把SSRS迁移到另一台服务器上。尽管微软强调保留加密密钥备份的重要性,我仍然会不时地发现客户并没有对密钥进行备份。
使用Windows Active Directory组来控制安全性。系统管理员早已习惯创建Windows组和给组分配权限的做法,而不是给单个用户账户分配权限。这种做法非常有意义,因为这可以让你轻松地添加或从组中删除用户,使你的安全管理更加容易。但我没有看到这种通用的做法被开发人员和数据库管理员使用。我见过很多SSRS安装,管理权限的人把访问报表或报表的权限分配给个人,而不是建立像营销或管理之类的组来简化管理。
使用报表文件夹来控制安全性。使用Windows组而不是用户账户,则更有意义;通过在文件夹级别管理安全性,可以获得类似的便捷性。将报表组合成逻辑组,然后放入到一个报表文件夹中,接下来分配文件夹权限,而不是单个报表的权限。SSRS还允许级联权限到子文件夹层次,以便于你设计一棵权限树,其中高权限组可以查看所有的文件夹,而其他组只能查看比根文件夹低一层的报表。
在配置报表数据源时使用保存的身份验证。使用Windows身份验证通常是最值得推荐的选择,但它与SSRS配合的并不好。如果在配置报表时使用Windows身份验证连接到SQL Server数据库,那么只有当数据库与SSRS服务器在同一台服务器上时才起作用。但是如果你需要连接到另一台物理服务器,则需要“双跳”身份认证(浏览器和SSRS之间是一跳,SSRS和数据库服务器之间是另一跳)。我必须解决这个问题:用户使用SSRS服务器上的浏览器访问报表时工作正常,而当从另一台机器访问SSRS时却不能工作;这正是由于“双跳”身份验证造成的。从理论上讲,如果你正确地配置了网络身份验证协议Kerberos,那么“双跳”身份验证应该正常工作,但我很少看到这方面的成功应用。因此,在配置数据源时最好使用SQL身份验证方式,或是指定一个用于连接SQL Server的Windows账户。
备份SSRS后端数据库。SSRS使用ReportServer和ReportServerTempDB数据库,你应该备份这些数据库到安全的地方,而不是放在运行SQL Server的计算机上。如果服务器坏了,需要重新创建SSRS环境时,备份就会起到作用,否则你将不得不重新部署所有的报表和重做所有的配置。我见过某些公司备份到本地驱动器,但如果失去了整个机器,那么就不会得到任何好处。
演练将SSRS迁移到另一台服务器。把SSRS迁移到另一台服务器是比较简单的:备份ReportServer和ReportServerTempDB数据库以及加密密钥。接下来,在另一台SQL服务器上将它们恢复出来,然后使用它们配置新的SSRS服务器。一旦你恢复了加密密钥,新的SSRS环境就应该与原来的一样。这是一个很好的演练,因为即使SSRS服务器宕机,你也有能力迅速地将新服务器联机上线。
使用源代码管理保存所有的报表。很多时候,在一家公司里只有几个人进行报表的开发和部署,而没有一个集中的地方用于报表存储及其版本管理。开发人员习惯使用源代码管理软件(如SourceSafe或SVN),但企业用户却没有使用的习惯。由于他们频繁地构建和部署报表,所以他们应该使用相同的过程和规范,把新报表保存到源代码存储库,并在需要修改时从源代码存储库中把报表取出来。除了有一个集中的地方用于保存报表,还能进行版本管理和备份,你会发现这更容易重新搭建一个新的SSRS环境,从源代码存储库中获得报表,而不是从开发报表的人员那里收集报表定义文件。
虽然本文介绍的SSRS最佳实践很直观并易于实施,但并不是每家公司都会遵守。我强烈建议你检查SSRS配置,应用本文推荐的配置。此外,记得要备份加密密钥和数据库,演练SSRS的迁移过程。毕竟这些工作可以减少你管理SSRS的时间,而且你还可以有更好的准备用以应付意外事件,如迁移到一台新的SSRS服务器。
作者
翻译
相关推荐
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
Notre Dame对云端SQL Server性能基准的探索实践
确立SQL Server的性能基准,对于云端迁移来说是至关重要的第一步,一位来自于University of Notre Dame 的DBA表示,他正在试图通过数据库监控软件,找出SQL server的性能基准。
-
横向扩展SQL Server应用程序:提高工作负载的选项
SQL Server管理员面临的最大挑战之一就是扩展数据库以适应更为繁重的数据处理工作负载。然而事情越发复杂的是,虽然Microsoft提供了许多不同的SQL Server可扩展性选项,但它们并不都适合于每种情况。
-
五大技巧构建首个SQL Server容器
容器的世界庞大而复杂,使用者可能会感到困扰,这里我们将列出一些示例,以便引导您顺利完成SQL Server容器的创建和管理。