我们有一个使用 SQL Server 2005 或更高版本的应用程序,当我们创建数据库时,它当前会创建各种登录,我们有各种使用证书签名的存储过程。
目前,当生成或备份证书时,它使用 SQL Server 数据目录,这可能会导致 AV 软件问题和其他服务器权限问题。
本质上,我们需要找到一个临时目录,我们可以将证书复制到其中以进行安装,我可以获得临时目录的唯一方法是使用以下脚本通过 xp_cmdshell:-
DECLARE @temp nvarchar(255)
CREATE TABLE #Tmp
(
EnvVar nvarchar(255)
)
INSERT INTO #Tmp exec xp_cmdshell 'echo %TMP%'
SET @temp = (SELECT TOP 1 EnvVar from #Tmp)
SELECT @temp as 'Windows Directory'
drop table #Tmp
但是,如果在 SQL Server 中关闭了 xp_cmshell 组件,则这并不好。
有没有人有任何其他建议,从长远来看,我们将放弃数字证书,但在短期内我们不能这样做。