Remote SQL backups är komplicerade. Vi kommer att förklara varför och visa alla tillgängliga alternativ för att göra säkerhetskopiorna ändå.
Remote SQL Server är en server där du har begränsad åtkomst till serverns filsystem som i en delad värdmiljö.
lokal SQL Server är en server där du har full tillgång till filsystemet som en lokal server du kan fysiskt komma åt eller en dedikerad/virtuell server som du har full kontroll över.
Vad är problemet med fjärr SQL Server säkerhetskopior?
huvudproblemet med fjärr SQL-servrar är att du kan köra SQL-skript, inklusive BACKUP databas kommando, men åtkomst till den resulterande *.bak-filen är problematisk. Den *.bak-filen placeras någonstans på den lokala enheten till den SQL-servern. Och om du inte har tillgång till den platsen kan du inte kopiera säkerhetskopian för vidare bearbetning som komprimering, kryptering, lagring etc. (mer information om vad SQL backup automation betyder) då är dina alternativ begränsade till att skapa en skriptfil.
BAK (*.bak) fil vs skript ( * .sql) fil för SQL Server-säkerhetskopior
BAK-filer är säkerhetskopior som skapats med Microsofts standard BACKUP databas kommando (eller via SSMS eller SQLBackupAndFTP). De brukar få *.bak förlängning. Om du har möjlighet att skapa *.bak-filer-alltid föredrar det till alternativen eftersom det tillåter dig att lagra inte bara Full, men Differential och transaktionslogg säkerhetskopior samt. Och formatet är det vanligaste och inte proprietärt till någon 3: e part. Du kan återställa från ( * .bak) fil med standard återställa databas kommando och många 3: e parts verktyg.
skript (*.sql) – filen är i grunden en uppsättning SQL-kommandon som återskapar databasobjekten och infogar data i tabellerna. Fördelen med att använda en skriptfil är att de flesta värdmiljöer låter dig ladda upp skriptfiler och köra dem med hjälp av en kontrollpanel för värdadministration. Då kan du återställa en databas utan att kräva att något installeras eller konfigureras av värden.
Emellertid Script (*.sql) – metoden har följande begränsningar:
- det tar mycket längre tid att skapa ett skript än att skapa en standard BAK typ av SQL Server backup
- sådant skript tar mer utrymme eftersom det är en text (inte binär) representation av din databas, även om det är mycket mer komprimerbar än en binär backup.
- det tar längre tid att återställa en databas från ett skript som från en vanlig säkerhetskopia
- till skillnad från vanliga säkerhetskopior innehåller skript inte transaktionslogginformation så att du inte kan tillämpa punkt-i-tid-återställning
- skript tar inte alltid hänsyn till beroenden, så du kan få problem under databasrekreationen
lokala SQL Server-säkerhetskopior
lokala SQL Server Backup är väl dokumenterad och vi kommer inte att komma in på detaljer om det här. I grund och botten kör du BACKUP databas kommando, använda SQL Server Management Studio eller 3: e parts verktyg. Detta skapar en*.bak-fil på serverns lokala filsystem. Då komprimerar du vanligtvis filen, krypterar den, laddar upp till en nätverksenhet, FTP eller ett moln etc. Du kan bygga dina egna skript för att göra det eller få allt i en produkt som SQLBackupAndFTP.
fjärr SQL Server säkerhetskopior till en *.bak-fil på nätverksresurs
om din fjärr SQL server är på samma nätverk som du och båda SQL server och du har tillgång till samma nätverksresurs (som\ \ servername \ path), kan du på SQL server säkerhetskopiera till den här platsen med kommandot som:
BACKUP databas dbname till DISK = N’\\servername\path\dbname.BAK ’
och från din egen dator skulle du kunna komma åt samma plats, ta *.bak-fil och gör vad du vill med det.
du kan skriva egna skript för att automatisera det eller säkerhetskopiera ditt nätverk SQL Server med SQLBackupAndFTP.
fördelen med säkerhetskopior till UNC-sökvägen är att du får säkerhetskopian i samma eftertraktade *.bak-format. Nackdelen är i grunden relaterad till behovet av att konfigurera åtkomsträttigheter korrekt. Besök länken ovan för information om behörigheter.
fjärr SQL Server säkerhetskopior till ett skript (*.sql) fil
ett genererat SQL Server-skript ( * .sql) backup-fil innehåller den information som är nödvändig för att återskapa databasen på en fjärrdator. Skriptet innehåller kommandon för att återskapa databasschemat (tabeller, vyer, lagrade procedurer, utlösare, fulltextkataloger, Roller, regler och så vidare) och data. Du har flera alternativ för att skapa ett skript ( * .sql) backup file
Scripting database med SqlBackupAndFtp
Detta är den i särklass enklaste metoden för att säkerhetskopiera dina fjärrdatabaser. Välj bara ”Remote SQL Server” som en server Typ ange inloggningsuppgifter:
konfigurera sedan komprimering, kryptering, var du ska skicka säkerhetskopior och var du ska skicka e-postmeddelanden. Se mer information i hur man säkerhetskopierar fjärr SQL Server-databas med SQLBackupAndFTP
Skriptdatabas med SQL Server Management Studio (SSMS)
Observera att detta fungerar som en ad hoc ”backup”, men du kan inte schemalägga SSMS-skript. Skapa ett databasskript med SSMS:
- öppna dina SSMS
- Anslut till din fjärr SQL server
- högerklicka på databasen du vill säkerhetskopiera och välj Tasks-> generera skript. Detta öppnar en guide
- Hit nästa på introduktionsskärmen
- lämna standard ”Script hela databasen och databasobjekt” markerade och tryck Nästa
- klicka på knappen Avancerat och ändra ”typer av data till skript” från ”endast Schema” till ”Schema och data”. Klicka på OK
- Välj alternativet ”Spara i ett nytt frågefönster” och tryck på Nästa, Nästa och slutför
kopiera skriptet till din lokala fil och lagra eller kör där det behövs.
andra alternativ för fjärr SQL Server backup
om du använder ordet ”backup” när det gäller skript var ganska sträcka, alternativen som diskuteras i detta avsnitt är ännu längre från vad som anses vara en ”databas backup”. Ändå kan du få en kopia av dina data, Det är därför vi kommer att granska dessa alternativ också
flytta data med SQL Server Import och Export Wizard i SSMS
du kan använda SQL Server Import och Export Wizard för att kopiera data från fjärr SQL server till en lokal SQL server. Observera att det inte kommer att kopiera alla databasobjekt, men bara data. Vi kan inte föreställa oss att använda den som en huvudbackupmetod. Hur som helst här instruktionerna:
- öppna dina SSMS
- Anslut till din lokala SQL server
- högerklicka på databasen där du vill att säkerhetskopiorna ska återställas till och välj Tasks-> importera data. Detta öppnar en guide
- Välj ”SQL Server Native Client” som datakälla och din fjärr SQL server som servernamn.
- välj den databas som du vill kopiera data från. Nästa.
- Välj ”SQL Server Native Client” som datakälla och din lokala SQL server som servernamn.
- välj den databas som ska kopieras till. Nästa.
- Välj tabellerna som ska kopieras. Nästa, Nästa, Avsluta