problem
när du kör en säkerhetskopia på en SQL Server-databas där den resulterande säkerhetskopian riktas till en mappad enhet får du följande felmeddelande:
”systemet kan inte hitta den angivna sökvägen.”
produktlinje
Struxureware Power Monitoring
Power Monitoring Expert
ION Enterprise
ION EEM
miljö
SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Servr 2016
orsak
en nätverksresurs som mappas med en lokal enhetsbokstav kommer inte att vara synlig för en SQL Server-instans eftersom den körs som en tjänst.
SQL Server-tjänsten körs i miljön på den lokala konsolen med säkerheten för STARTKONTOT för SQL Server applicerad.
mappade enheter är specifika för en session och inte synliga för en tjänst som startats på den lokala konsolen.
upplösning
för att säkerhetskopiera en SQL Server-databas till en mappad enhet med en lokal enhetsbokstav:
1. Kör följande kommando från ett frågefönster EXEC xp_cmdshell ’net use <drivename> <dela namn>’
var: <drive name>: brev som används för att mappa enheten
<share name>: UNC-sökväg till aktien
om xp_cmdshell inte är aktiverat får du ett systemfel. För att aktivera xp_cmdshell, kör följande fråga:
— för att tillåta att Avancerade alternativ ändras.
EXEC sp_configure ’Visa avancerade alternativ’, 1;
gå
— för att uppdatera det för närvarande konfigurerade värdet för avancerade alternativ.
konfigurera om;
gå
— för att aktivera funktionen.
EXEC sp_configure ’xp_cmdshell’, 1;
gå
— för att uppdatera det för närvarande konfigurerade värdet för den här funktionen.
konfigurera om;
gå
om mappningen behöver en användarinloggning, ändra netuse. Öppna kommandotolken fönstret och använd följande kommando:
net användning <drivename> <dela namn> /Användare:Användarnamn Lösenord
exempel: net användning z: \\servernamn\mapp /Användare:Användarnamn Lösenord
2. Du bör kunna säkerhetskopiera med den mappade enhetsbokstaven, eftersom fönstret Management Studio Object Explorer drive nu ska lista ovanstående mappade enhet
Obs:
en nackdel med denna upplösning är att när SQL Server-tjänsten startas om kommer den mappade enheten inte längre att vara synlig eftersom den kommer att bli ommappad.
om du vill behålla den mappade enhetsinformationen måste du skapa en startprocedur för att köra skriptet i steg 1.
en enkel metod skulle vara att skapa en säkerhetskopieringsenhet med UNC-sökvägen för den fjärranslutning som du vill ta databasens säkerhetskopior på.
det är viktigt att komma ihåg att SQL Server-startkontot måste ha fullständiga behörigheter på fjärrandelen.