Como mapear outro servidor através do SQL Server Management Studio

10

Estou tentando mapear outro servidor, dando o comando

EXEC xp_cmdshell 
    'NET USE H:\\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'

Eu recebi um erro com isso:

caminho de rede não encontrado

Mas eu sou capaz de mapear outro servidor manualmente. Por favor, ajude-me a resolver isso.

Anto
fonte
Olá, para evitar ser sinalizado ou ter sua pergunta excluída pelos mods, forneça mais informações. Como você está tentando se conectar a outro servidor usando exatamente o SQL Server Management Studio? Você está usando o PowerShell? XP_CMDSHELL? Seu comando NET USE também está totalmente errado. Não vejo como isso funcionaria em qualquer lugar, dentro ou fora do SQL Server. Você precisa de duas barras invertidas (\) e uma pasta para que funcione.
Ali Razeghi 25/10/12
Existe um erro de digitação na declaração de uso líquido? Eu esperaria algo como:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
Stuart Moore
Mapear uma unidade de rede como essa realmente não é uma boa ideia, pelos motivos mencionados nas respostas abaixo. Por que você não usaria apenas um caminho UNC?
Daniel Hutmacher 23/03
@DanielHutmacher, e como isso seria, por favor !?
Paul-Sebastian Manole
@ Paul-SebastianManole Em vez de usar H:\ , você pode simplesmente escrever o caminho completo \\server\share\folder\filename.bak,. Isso funciona perfeitamente para backups, OPENROWSET, etc., desde que você tenha configurado as permissões da conta de serviço corretamente.
Daniel Hutmacher

Respostas:

6

Isso é mais uma NET USEpergunta do que uma questão do SSMS / SQL Server.

NET USE tem a sintaxe:

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

Então, eu esperaria que seu comando fosse assim:

EXEC xp_cmdshell 
    'NET USE H: \\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'
孔夫子
fonte
2

Não mapeie unidades de rede e espere que elas estejam lá. Basta fazer backup diretamente no caminho da rede.

O uso de unidades mapeadas fica complicado rapidamente, quando você começa a supor que a letra da unidade estará disponível na próxima vez. O que acontece quando você adiciona outro disco rígido ao servidor posteriormente e deseja usar essa letra de unidade? O que acontece quando o Windows desconecta a unidade para recuperar o soquete de rede?

Mrdenny
fonte
2

após reiniciar o servidor deve executar o comando 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
erva
fonte