Cara memetakan server lain melalui SQL Server Management Studio

10

Saya mencoba memetakan server lain dengan memberikan perintah

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

Saya mendapat kesalahan dengan ini:

jalur jaringan tidak ditemukan

Tetapi saya dapat memetakan server lain secara manual. Tolong bantu saya dalam menyelesaikan masalah ini.

Anto
sumber
Halo, untuk menghindari agar tidak ditandai atau pertanyaan Anda dihapus oleh mod, berikan informasi lebih lanjut. Bagaimana Anda mencoba terhubung ke server lain dengan menggunakan SQL Server Management Studio? Apakah Anda menggunakan PowerShell? XP_CMDSHELL? Perintah NET USE Anda juga benar-benar salah. Saya tidak melihat bagaimana itu akan bekerja di mana saja, di dalam atau di luar SQL Server. Anda memerlukan 2 garis miring terbalik (\) dan folder agar bisa berfungsi.
Ali Razeghi
Apakah ada kesalahan ketik dalam pernyataan penggunaan bersih? Saya mengharapkan sesuatu seperti:NET USE H:\ \\server\share 1234abc /USER:cranew /PERSISTENT:yes
Stuart Moore
Memetakan drive jaringan seperti ini sebenarnya bukan ide yang baik, karena alasan yang disebutkan dalam jawaban di bawah ini. Mengapa Anda tidak menggunakan jalur UNC saja?
Daniel Hutmacher
@DanielHutmacher, dan bagaimana kelihatannya seperti itu !?
Paul-Sebastian Manole
@ Paul-SebastianManole alih-alih menggunakan H:\ , Anda bisa menuliskan path lengkapnya \\server\share\folder\filename.bak,. Ini berfungsi dengan baik untuk cadangan, OPENROWSET, dll, asalkan Anda telah mengatur izin akun layanan dengan benar.
Daniel Hutmacher

Jawaban:

6

Ini lebih merupakan NET USEpertanyaan daripada pertanyaan SSMS / SQL Server.

NET USE memiliki sintaks:

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

Jadi, saya mengharapkan perintah Anda terlihat seperti ini:

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

Jangan memetakan drive jaringan dan mengharapkannya ada di sana. Cadangan ke jalur jaringan secara langsung.

Menggunakan drive yang dipetakan menjadi sangat cepat ketika Anda mulai membuat asumsi bahwa huruf drive akan tersedia lain kali. Apa yang terjadi ketika Anda menambahkan hard drive lain ke server nanti dan ingin menggunakan huruf drive itu? Apa yang terjadi ketika Windows memutuskan drive untuk merebut kembali soket jaringan?

mrdenny
sumber
2

setelah restart server harus menjalankan perintah plase, simpan ...

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
berkata
sumber