SQL-сервер создает цифровой сертификат - PullRequest
0 голосов
/ 21 апреля 2011

У нас есть приложение, которое использует 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.

Есть ли у кого-нибудь другие предложения, в долгосрочной перспективе мы собираемся отказаться от цифрового сертификата, но в краткосрочной перспективе мы не сможем это сделать.

1 Ответ

0 голосов
/ 21 апреля 2011

Как насчет CLR Хранимая процедура , которая выводит Environment.GetFolderPath(SpecialFolder.Temp);

Для этого необходимо развернуть сборку и настроить сервер на использование CLR.

...