Exportera och importera MSSQL-databaser över en nätverksresurs
- Mike Sherman
- oktober 8, 2020, 9:00 EDT
när du arbetar med MSSQL-databaser kan det hända att du måste exportera databaser över en nätverksresurs direkt från SQL Server Management Studio (SMSS) – gränssnittet. Medan SMS inte innehåller denna funktion inbyggt, vi kommer att visa dig ett arbete runt!
Låt oss först täcka export och import av MSSQL-databaser
som en grundläggande nödvändighet för att använda den här guiden vill vi se till att du vet hur du exporterar och importerar dina databaser som .BAK-filer. Det här är både hur du säkerhetskopierar en MSSQL-databas och hur du flyttar en databas mellan två servrar. Denna process kallas internt inom SSMS (SQL Server Management Studio) som säkerhetskopiering eller återställning av en databas, beroende på vilken riktning du går.
exportera en MSSQL-databas med Backup
för att börja exportera din databas, öppna SSMS, logga in på din server och navigera till din databas.
du kan säkerhetskopiera databasen genom att högerklicka på önskade databaser och navigera till uppgifter > säkerhetskopiering.
detta öppnar Säkerhetskopieringsdatabasmenyn där du kan välja din databas för säkerhetskopiering, din säkerhetskopieringstyp, fildestination och många andra alternativ. För den här artikelns skull behöver vi inte ändra några ytterligare eller Avancerade inställningar just nu, så var bara medveten om menyn och dess layout.
när du skapar en MSSQL-säkerhetskopia exporteras din databas som en .BAK-fil. Under avsnittet destination i menyn ovan kan du lägga till eller ta bort platser att säkerhetskopiera din databas till. Du kan lägga till en eller flera platser för destinationsplatsen för din .BAK-fil.
klicka på OK och din databas säkerhetskopieras till den valda platsen.
importera en MSSQL-databas genom att återställa
för att återställa en databas kommer vi att följa en liknande process men i omvänd ordning. I stället för att exportera databasen till en .bak-fil, Vi kommer att importera databasen från .tillbaka filen.
för att importera din databas, högerklicka på din server istället för databasen och välj Återställ databas.
detta tar dig till en meny som liknar backup-menyn, där du kan välja filen du importerar från, under Enhetsinställningen och dess platsdestination samt alla andra avancerade alternativ du kan behöva.
om du väljer ikonen under källan > enhetsmenyn kan du välja.bak-fil som du vill importera. Klicka på Lägg till och du kan navigera till .bak-fil du vill återställa. Klicka på OK och din databas kommer att importeras till den aktuella SQL server!
vid denna punkt, om du försöker importera eller Exportera till en nätverksresurs eller mappad enhet, kan du stöta på vissa svårigheter.
Varför kan jag inte exportera direkt till en mappad enhet?
anledningen till att den här guiden finns är att Microsoft inte innehåller en funktion för att exportera en databas direkt till en nätverksresurs eller mappad enhet. När du exporterar din databas för säkerhetskopior eller för att importera till en annan server kan du inte välja några nätverksenheter från menyn eller manuellt ange en fjärrplats.
om du försöker navigera till enheten genom att välja ikonen på menyn Välj Backup Destination kommer din nätverksanslutna Z: – enhet inte att listas och endast de lokala enheterna visas.
många försöker manuellt ange sökvägen till sin nätverksenhet. Om du direkt anger sökvägen till din nätverksresursenhet, till exempel Z:\mybackup.bak, Du kan klicka på OK på menyn Välj Backup Destination.
men när du klickar på OK på den slutliga exporten dyker ett felmeddelande som liknar det här upp:
som du kan se kan detta vara ett problem om du behöver säkerhetskopiera databaser till en avlägsen plats på grund av brist på utrymme eller Av säkerhetsskäl. Vanligtvis måste du exportera databasen lokalt, kopiera den till fjärrservern och sedan importera den till destinationen SQL server.
Hur Kommer Vi Runt Denna Saknade Funktionalitet?
för att göra detta måste en serie skript köras för att lägga till nätverksenheten i MSSQL-valbar meny. Det första du ska göra är att ta bort din nuvarande nätverksresurs, eftersom du återskapar den under processen inom SQL-kommandoraden. För att göra det, högerklicka bara på enheten i file-explorer och välj “Koppla bort” eller öppna kommandotolken och ange:
net use Z: /delete
din nätverksandel är enhetsbokstaven för Z .
nu när du har tagit bort den befintliga delen öppnar du SSMS och skapar en ny fråga med följande kommandon:
EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO
klicka på Kör och du ska se följande fönster:
vad det här skriptet gör är att konfigurera kommandoskalet för SQL så att du kan köra dina egna skript direkt från SQL-kompatibla kommandoskalet.
när du har kört ovanstående kommando, skapa en ny fråga och kör följande kommando:
EXEC XP_CMDSHELL 'net use Z: \192.168.1.1\C$ /user:Administrator '
ersätt 192.168.1.1 med IP-adressen för din fjärrdestinationsserver och uppdatera för att vara den administrativa användarens lösenord. Observera att för att skapa dessa aktier behöver du nästan säkert administratörsrättigheter.
du kan nu verifiera att din nätverksenhet är korrekt konfigurerad i SQL genom att utföra följande fråga:
EXEC XP_CMDSHELL 'Dir V:'
du har aktiverat kommandoskalet, skapat en nätverksresurs inom SQL och verifierat dess existens. Du kan nu exportera och importera säkerhetskopior direkt från den här platsen. Du kan se den genom att gå till din databas > uppgifter > säkerhetskopiering där du kan se att Z: – enheten är tillgänglig när du lägger till en destinationsplats för säkerhetskopiering.
Grattis! Du har nu konfigurerat en nätverksresurs i SQL som kvarstår även om du stänger och öppnar SSMS igen. Du kan säkerhetskopiera eller återställa direkt till den här platsen nu och behöver inte längre oroa dig för att säkerhetskopiera databaser lokalt, bara för att behöva flytta dem till en fjärrserver omedelbart därefter.
Mike Sherman arbetade som en ledande Enterprise Server administratör för ett internationellt datacenter, samt en teknisk konsult för en nationell MSP. Han har många års erfarenhet av hosting, säkerhet och praktisk problemlösning.Läs Hela Bio ”
Leave a Reply