在尝试自动化包括 SSRS 报告和 SSRS 共享数据源/数据集的部署时,我们一直在尝试适当地配置安全性。特别是问题在于共享数据源/数据集以及在所有环境中自动部署它们。出现的唯一解决方案是创建单个 SQL Server 登录名,并使用与 SSRS 中共享数据源的数据源相同的用户名密码。从 Dev 到 Prod,帐户是相同的。
在所有这些环境中,新创建的 SQL 登录都需要对存储过程执行 EXECUTE。我反对在所有环境中使用 EXECUTE 权限进行一次 SQL 登录。
在更自动化的部署之前,我们在所有 3 个环境中都有一个帐户,但在生产中使用不同的密码。DBA 团队将在部署后手动更改共享数据源/数据集的密码。目标是摆脱手动干预,同时也不造成大的安全漏洞。
SSRS 配置文件已加密,但我不想创建具有如此多权限的 SQL 登录。还有其他选择吗?
我经常看到语法
Declare @var int;
Set @var = 1;
Run Code Online (Sandbox Code Playgroud)
但是您可以在声明时设置变量
Declare @var int = 1;
Run Code Online (Sandbox Code Playgroud)
后一种选择有问题吗?我是否遗漏了一些内部的东西,或者在您不应该在声明中声明和设置变量的所有情况下都不起作用?
我问是因为我听到了我没想到的副标题。就像 Aaron Bertrand小写数据类型一样,msdn 也没有说明,但已在社区中找到。