Nous avons une application qui utilise SQL Server 2005 ou supérieur, lorsque nous créons la base de données, il crée actuellement diverses connexions, nous avons différentes procédures stockées qui sont signées avec un certificat. Actuellement, lorsque le certificat est généré ou sauvegardé, il utilise le répertoire de données SQL Server, ce qui peut causer des problèmes avec le logiciel AV et d'autres problèmes d'autorisation du serveur.SQL Server créant un certificat numérique
Essentiellement, nous avons besoin de trouver un répertoire temporaire nous pouvons copier le certificat à des fins d'installation, la seule façon que je peux obtenir le répertoire temporaire est par xp_cmdshell en utilisant le script suivant: -
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
Cependant cela est pas bon si le composant xp_cmshell est désactivé dans SQL Server.
Est-ce que quelqu'un a d'autres suggestions, à plus long terme, nous allons abandonner le certificat numérique, mais à court terme, nous ne pouvons pas le faire.