web-dev-qa-db-fra.com

Comment mapper un autre serveur via SQL Server Management Studio

J'essaie de mapper un autre serveur en donnant la commande

EXEC xp_cmdshell 
    'Net Use H:\\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'

J'ai eu une erreur avec ceci:

chemin réseau introuvable

Mais je peux mapper un autre serveur manuellement. S'il vous plaît, aidez-moi à résoudre ce problème.

10
Anto

Il s'agit plus d'un Net Use question qu'une question SSMS/SQL Server.

Net Use a la syntaxe:

Net Use [{DeviceName | *}] 
   [\\\\ComputerName\ShareName[\volume]] [{Password | *}]] 
   [/user:[DomainName\]UserName] [/user:[DottedDomainName\]UserName] 
   [/user: [UserName@DottedDomainName] [/savecred] [/smartcard] 
   [{/delete | /persistent:{yes | no}}]

Donc, je m'attendrais à ce que votre commande ressemble à ceci:

EXEC xp_cmdshell 
    'Net Use H: \\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'
6
孔夫子

Ne mappez pas les lecteurs réseau et ne vous attendez pas à ce qu'ils soient là. Sauvegardez simplement le chemin réseau directement.

L'utilisation de lecteurs mappés devient difficile rapidement lorsque vous commencez à supposer que la lettre de lecteur sera disponible la prochaine fois. Que se passe-t-il lorsque vous ajoutez un autre disque dur au serveur ultérieurement et que vous souhaitez utiliser cette lettre de lecteur? Que se passe-t-il lorsque Windows déconnecte le lecteur pour récupérer la prise réseau?

2
mrdenny

après le redémarrage, le serveur doit exécuter la commande plase solution save command ...

Use Master
GO

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

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

exec xp_cmdshell 'Net Use  \\ip\xxx pass /user:xxx /persistent:no'

Use Master
GO

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

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