У нас есть приложение, которое использует 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
Однако это не очень хорошо, если компонент xp_cmshell отключен в SQL Server.
Есть ли у кого-нибудь другие предложения, в долгосрочной перспективе мы собираемся отказаться от цифрового сертификата, но в краткосрочной перспективе мы не сможем это сделать.