3 votes

Existe-t-il une alternative à xp_cmdshell et à net use pour sauvegarder MSSQL vers UNC en tant qu'utilisateur différent ?

Existe-t-il une alternative à xp_cmdshell y net use pour sauvegarder MSSQL sur un UNC avec un utilisateur différent ?

J'utilise maintenant

EXEC xp_cmdshell 'net use \\SERVER\SHARE  Password /USER:DOMAIN\USER /PERSISTENT:yes'

comme un script de preexec.

Mais xp_cmdshell est désactivé par défaut (pour des raisons de sécurité, je suppose).

2voto

Warren Blanchet Points 881

Pour BACKUP déclarations SQL Server utilisera le compte de service sous lequel le service de moteur de base de données est exécuté comme contexte de sécurité pour l'interaction avec le système d'exploitation. Par conséquent, vous devez accorder au compte de service SQL Server l'accès au partage. Il n'y a pas d'autre moyen de contourner ce problème que d'utiliser la fonction xp_cmdshell pirate.

Par exemple :

Si le service SQL Server est exécuté en tant qu'utilisateur de domaine MYDOMAIN\SQLUser alors vous devrez modifier les autorisations de partage pour permettre l'accès à cet utilisateur.

Si le serveur SQL est exécuté en tant que NT AUTHORITY\NETWORKSERVICE alors, en supposant que le nom de votre machine SQL Server est SQLHOST vous devez modifier les permissions de partage pour permettre l'accès aux fichiers suivants SQLHOST$ .

0voto

frupfrup Points 843

Je pense qu'il n'y a pas d'autres moyens pour cela.

Les scripts de sauvegarde TSQL normaux permettent uniquement de sauvegarder sur le disque local.

Si vous disposez de suffisamment d'espace, vous pouvez créer une tâche SQL qui effectue une sauvegarde sur le disque local, puis la déplacer via powershell vers un chemin UNC.

si vous n'avez pas assez d'espace pour cela : avec ce qui suit vous pouvez activer xp_cmdshell à nouveau...

    -- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
-- To enable the feature.
EXEC sp_configure 'xp_cmdshell', 1;
GO
-- To update the currently configured value for this feature.
RECONFIGURE;
GO

voir : http://msdn.microsoft.com/en-US/en-en/library/ms190693.aspx

0 votes

TSQL BACKUP permet de sauvegarder des chemins d'accès UNC

0 votes

Oh, d'accord. Je suis vraiment désolée. Je ne le savais pas. J'ai vu votre message ci-dessus et j'ai voté. J'ai donc appris quelque chose aujourd'hui. Je vous remercie !

0 votes

Une dernière réflexion : Peut-être avez-vous l'occasion d'utiliser SQL-Server Proxy ? voir les liens suivants : (je n'ai pas pu le tester pour le moment) mssqltips.com/sqlservertip/1199/sql-server-agent-proxies ET technet.microsoft.com/de-de/library/ms189064(v=sql.105).aspx

0voto

Don Roby Points 24965

Utilisez un lien symbolique qui a été créé après l'utilisation de net use pour mettre les informations d'identification appropriées.

net use \\SERVER\SHARE  Password /USER:DOMAIN\USER /PERSISTENT:yes
mklink /d \\SERVER\SHARE C:\Mounts\SHARE

Ensuite, dans le script, utilisez C:\Mounts\SHARE comme chemin de secours.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X