SQL: Écrire dans un fichier depuis SQL Server Management Studio

Pour écrire dans un fichier de sortie depuis SQL Server Management Studio, rien de plus simple!
On peux facilement faire appel à la fonction xp_cmdshell.
Cependant elle est pour des raisons de sécurité désactivée par défaut.
Je vous recommande de jeter un œil sur la documentation Microsoft avant de l’utiliser.

On commence par l’activer :

Use Master
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

Il est ensuite possible d’y faire appel.
Voici un exemple de script :

DECLARE @cmd sysname, @var sysname
SET @var = 'Hello world'
SET @cmd = 'echo ' + @var + ' > var_out.txt'
EXEC master..xp_cmdshell @cmd
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE

exec master..xp_cmdshell 'echo hello > c:\file.txt'
exec master..xp_cmdshell 'echo appended data >> c:\file.txt'
exec master..xp_cmdshell 'echo more data >> c:\file.txt'

N’oubliez pas de la désactiver une fois terminé.

Use Master
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 0
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.