SQL Server创建数字证书

时间:2011-04-21 09:26:09

标签: sql sql-server digital-certificate temp

我们有一个使用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组件,这是不行的。

有没有人有任何其他建议,从长远来看,我们将放弃数字证书,但在短期内我们不能这样做。

1 个答案:

答案 0 :(得分:0)

输出Environment.GetFolderPath(SpecialFolder.Temp);

CLR Stored procedure怎么样?

这需要您部署程序集,并且服务器配置为允许使用CLR。