Как сопоставить другой сервер через SQL Server Management Studio

10

Я пытаюсь сопоставить другой сервер, давая команду

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

Я получил ошибку с этим:

сетевой путь не найден

Но я могу сопоставить другой сервер вручную. Пожалуйста, помогите мне разобраться с этим.

Анто
источник
Здравствуйте, чтобы не быть помеченным модом или удалить ваш вопрос, пожалуйста, предоставьте больше информации. Как вы пытаетесь подключиться к другому серверу с помощью SQL Server Management Studio точно? Вы используете powershell? Xp_cmdshell? Ваша команда NET USE также полностью неверна. Я не понимаю, как это будет работать где-нибудь, внутри или снаружи SQL Server. Вам нужно 2 обратной косой черты (\) и папку для его работы.
Али Разеги
В отчете о чистом использовании есть опечатка? Я ожидал что-то вроде:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
Стюарт Мур
Подобное подключение сетевого диска на самом деле не очень хорошая идея по причинам, указанным в ответах ниже. Почему бы вам не использовать вместо этого UNC-путь?
Даниэль Хутмахер,
@DanielHutmacher, и как это будет выглядеть, пожалуйста !?
Пол-Себастьян Маноле
@ Paul-SebastianManole вместо того, чтобы использовать H:\ , вы можете просто написать полный путь \\server\share\folder\filename.bak. Это прекрасно работает для резервного копирования, OPENROWSET и т. Д. При условии, что вы правильно настроили разрешения учетной записи службы.
Даниэль

Ответы:

6

Это больше NET USEвопрос, чем вопрос SSMS / SQL Server.

NET USE имеет синтаксис:

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

Итак, я ожидаю, что ваша команда будет выглядеть так:

EXEC xp_cmdshell 
    'NET USE H: \\568.256.8.358\backup_147 1234abc /USER:cranew /PERSISTENT:yes'
孔夫子
источник
2

Не подключайте сетевые диски и ожидайте, что они будут там. Просто сделайте резервную копию на сетевой путь напрямую.

Использование подключенных дисков становится непростым делом, поскольку вы начинаете делать предположения, что буква диска будет доступна в следующий раз. Что произойдет, если вы позже добавите еще один жесткий диск на сервер и захотите использовать эту букву? Что происходит, когда Windows отключает диск для восстановления сетевого сокета?

mrdenny
источник
2

после перезагрузки сервер должен выполнить команду 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
Saeed
источник