Varmuuskopiointi SQL Server tietokanta täydellisellä vuoden 2025 oppaallamme. Vaiheittaiset ohjeet ja parhaat käytännöt kaikille taitotasoille.
1. Johdanto SQL Server Varmuuskopiointi
1.1 Mikä on SQL Server Varmuuskopio?
SQL Server Varmuuskopiointi on prosessi, jossa tietokantatiedostoista luodaan kopioita tietojen menettämisen estämiseksi. Varmuuskopio tallentaa tietokannan tilan tiettynä ajankohtana, jolloin voit palauttaa tiedot laitteistovikojen, inhimillisten virheiden tai katastrofien sattuessa.
SQL Server tallentaa varmuuskopiot oletusarvoisesti .bak-tiedostoihin, jotka sisältävät kaikki tietokantaobjektit, mukaan lukien taulukot, tallennetut proseduurit, näkymät, indeksit ja tapahtumalokit.
1.2 Miksi SQL Server Varmuuskopiointi on kriittistä
Tietokannan varmuuskopiot toimivat viimeisenä puolustuslinjana tietojen menetystä vastaan. Ilman asianmukaisia varmuuskopioita organisaatiosi riskeeraa:
- Pysyvä tietojen menetys laitteistovikojen tai vioittumisen vuoksi
- Pidennetty seisokkiaika toipumisyritysten aikana
- Liiketoiminnan häiriö ja tulojen menetys
- Vaatimusten vastaiset rikkomukset jos tietoja ei voida palauttaa
- Mainevaurioita palvelukatkosten vuoksi
Säännöllinen SQL Server Varmuuskopiot varmistavat liiketoiminnan jatkuvuuden ja täyttävät tietosuojaa koskevat sääntelyvaatimukset.
1.3 Yleisiä tietojen menetysskenaarioita
Tietojen menetyksen tapahtumisen ajankohta auttaa sinua kehittämään tehokkaan varmuuskopiointistrategian:
- Laitteistoviat: Levyjen kaatumiset, palvelimen toimintahäiriöt tai tallennusjärjestelmän viat
- Inhimilliset virheet: Vahingossa tehdyt poistot, virheelliset päivitykset tai pudotetut taulukot
- Ohjelmisto-ongelmat: Sovellusvirheet, vioittuneet päivitykset tai järjestelmän kaatumiset
- Turvallisuus rikkomukset: Kiristyshaittaohjelmahyökkäykset, haitalliset poistot tai luvaton käyttö
- Luonnonkatastrofit: Palot, tulvat tai sähkökatkot, jotka vaikuttavat datakeskuksiin
2. Ymmärtäminen SQL Server Varmuuskopiotyypit
SQL Server tukee useita varmuuskopiointityyppejä, joista jokainen palvelee erilaisia palautustarpeita ja tallennusvaatimuksia.
2.1 Täysi varmuuskopiointi
Täysi varmuuskopio luo täydellisen kopion koko tietokannastasi, mukaan lukien kaikki datatiedostot ja osan palautukseen tarvittavasta tapahtumalokista.
2.1.1 Milloin käyttää täyttä varmuuskopiointia
Täydelliset varmuuskopiot sopivat erinomaisesti:
- Muiden varmuuskopiointityyppien perustason määrittäminen
- Pienet ja keskisuuret tietokannat, joissa varmuuskopiointiaika on hyväksyttävä
- Viikoittaiset tai kuukausittaiset varmuuskopiointiaikataulut
- Tietokannat, joissa tapahtuu harvoin muutoksia
2.1.2 Täyden varmuuskopioinnin edut ja rajoitukset
edut:
- Yksinkertaisin palautusprosessi – yksi tiedosto sisältää kaiken
- Itsenäinen ja muista varmuuskopioista riippumaton
- Nopein palautusaika täydelliseen tietokannan palautukseen
Rajoitukset:
- Vaatii merkittävästi säilytystilaa
- Pidempi varmuuskopiointiaika suurille tietokannoille
- Suurempi resurssien kulutus varmuuskopiointitoimintojen aikana
2.2 Differentiaalivarmistus
Differentiaalivarmuuskopio tallentaa vain edellisen täyden varmuuskopion jälkeen tehdyt muutokset, mikä vähentää varmuuskopiointiaikaa ja tallennustilavaatimuksia.
2.2.1 Differentiaalivarmistuksen toimintaperiaate
Differentiaalivarmuuskopiot seuraavat muutoksia muuttuneiden laajuuksien perusteella. Kun palautat tiedostot, SQL Server ottaa ensin käyttöön viimeisimmän täyden varmuuskopion ja sitten m:nost äskettäinen differentiaalivarmuuskopiointi.
2.2.2 Täysi vs. differentiaalivarmuuskopiointi
| Aspect | Koko varmuuskopio | Tasauskopiointi |
|---|---|---|
| Koko | Täydellinen tietokanta | Muutokset vain viimeisimmän täyden varmuuskopion jälkeen |
| Varmuuskopiointiaika | pisin | Nopeampi kuin täysi |
| Palauta prosessi | Yhden tiedoston palautus | Vaatii täyden ja tasauspyörästön |
| Tallennus vaaditaan | Most tila | Aluksi vähemmän tilaa, kasvaa ajan myötä |
2.3 Tapahtumalokin varmuuskopiointi
Tapahtumalokin varmuuskopiot tallentavat kaikki tapahtumat viimeisimmän lokivarmuuskopion jälkeen, mikä mahdollistaa palautuksen tietyllä ajanhetkellä.
2.3.1 Tapahtumalokien ymmärtäminen
Tapahtumaloki tallentaa kaikki tietokantaasi tehdyt muutokset. Lokin varmuuskopiot katkaisevat lokin passiivisen osan, mikä estää sitä kasvamasta loputtomiin ja täyttämästä levyäsi.
2.3.2 Palautuminen tietyllä aikapisteellä
Tapahtumalokin varmuuskopioiden avulla voit palauttaa tietokannan mihin tahansa tiettyyn hetkeen lokivarmuuskopion sisällä. Tämä on ratkaisevan tärkeää vahingossa tehtyjen tietojen muutosten tai poistojen jälkeisen palautumisen kannalta.
Ajankohtaisen palautuksen suorittamiseen tarvitset:
- Viimeisin täysi varmuuskopio
- Most viimeisin differentiaalivarmuuskopio (valinnainen)
- Kaikki tapahtumalokin varmuuskopiot täydestä/differentiaalisesta varmuuskopiosta omaan tarsaat aikaa
2.4 Häntälokin varmuuskopiointi
Häntälokien varmuuskopiot tallentavat lokitietueita, joita ei ole vielä varmuuskopioitu, mikä estää tietojen menetyksen ja ylläpitää ehjän lokiketjun. Ennen palauttamista SQL Server tietokannan viimeisimpään ajankohtaan, sinun on varmuuskopioitava sen tapahtumalokin loppuosa. Loppulokin varmuuskopio on viimeinen tärkeä varmuuskopio tietokannan palautussuunnitelmassa.

Huomautus: Kaikki palautustilanteet eivät vaadi häntälokin varmuuskopiointia. Et tarvitse sitä, jos palautuspiste sisältyy aiempaan lokin varmuuskopioon. Häntälokin varmuuskopiointi on tarpeeton myös silloin, kun siirrät tai korvaat (päällekirjoitat) tietokantaa etkä tarvitse palauttaa sitä ajankohtaan sen m-päivityksen jälkeen.ost viimeisin varmuuskopio.
2.4.1 Milloin häntälokien varmuuskopiot ovat tarpeen
Seuraavissa tilanteissa kannattaa ottaa varmuuskopio häntälokitiedostosta:
Tietokannan palauttaminen verkossa: Jos tietokanta on online-tilassa ja aiot suorittaa palautustoiminnon tietokannalle, aloita varmuuskopioimalla lokin loppuosa. Jotta online-tietokannan virhe ei ilmenisi, sinun on käytettävä BACKUP Transact-SQL -lausekkeen WITH NORECOVERY -vaihtoehtoa varmuuskopioitaessa. SQL Server tietokanta.
Offline-tietokannan palautus: Jos tietokanta on offline-tilassa eikä s-tiedostojentarja sinun on palautettava tietokanta, varmuuskopioi ensin lokin loppuosa. Koska tapahtumia ei voi tällä hetkellä tapahtua, WITH NORECOVERY -vaihtoehdon käyttö on valinnaista. NORECOVERY on tässä tilanteessa käytännössä sama asia kuin vain kopioon perustuva tapahtumalokin varmuuskopiointi.
Vaurioituneen tietokannan varmuuskopio: Jos tietokanta on vioittunut, yritä ottaa varmuuskopio häntälokin osalta käyttämällä BACKUP-lausekkeen WITH CONTINUE_AFTER_ERROR-vaihtoehtoa. Vaurioituneen tietokannan lokin häntälokin varmuuskopiointi onnistuu vain, jos lokitiedostot ovat vahingoittumattomia, tietokanta on tilassa, joka tukee häntälokien varmuuskopiointia, eikä tietokannassa ole joukkolokiin kirjattuja muutoksia. Jos häntälokin varmuuskopiointia ei voida luoda, kaikki viimeisimmän MS-päivityksen jälkeen tehdyt tapahtumat tallennetaan. SQL Server varmuuskopiotietokanta on lost.
2.4.2 Keskeiset asetukset häntälokien varmuuskopiointiin
NORECOVERYN KANSSA: Käytä NORECOVERY-komentoa, jos varmuuskopioit verkkotietokannan lokitiedoston häntää, jonka aiot myöhemmin palauttaa. NORECOVERY siirtää tietokannan offline-tilaan. Voit myös varmuuskopioida SQL Server offline-tietokannan häntäloki. Jos haluat pitää tietokannan offline-tilassa, käytä WITH NORECOVERY-asetusta. Huomaa, että loki katkeaa, ellet määritä joko COPY_ONLY- tai NO_TRUNCATE-asetusta.
CONTINUE_AFTER_ERROR:N KANSSA: Käytä CONTINUE_AFTER_ERROR-metodia vain, jos varmuuskopioit vioittuneen tietokannan häntää. Kun varmuuskopioit vioittuneen tietokannan lokin häntää, jotkin lokien varmuuskopioissa normaalisti tallennetut metatiedot eivät välttämättä ole käytettävissä.
2.5 Vain kopiota varten tarkoitettu varmuuskopiointi
Vain kopiot -varmuuskopiot luovat itsenäisen varmuuskopion vaikuttamatta normaaliin varmuuskopiointijärjestykseen. Ne eivät häiritse differentiaalisia varmuuskopiointiketjuja tai tapahtumalokin jatkuvuutta.
Käytä vain kopiota sisältäviä varmuuskopioita seuraaviin tarkoituksiin:
- Testi- tai kehitystietokannan kopioiden luominen
- Ad-hoc-varmuuskopiot vaikuttamatta ajoitettuihin varmuuskopioihin
- Varmuuskopiointi ennen suuria muutoksia tai testausta
2.6 Tiedostojen ja tiedostoryhmien varmuuskopiointi
Tiedostojen ja tiedostoryhmien varmuuskopiot tarhakea tiettyjä tietokantatiedostoja tai tiedostoryhmiä koko tietokannan sijaan. Tämä lähestymistapa toimii hyvin erittäin suurissa tietokannoissa, joissa kaiken varmuuskopiointi kestää liian kauan.
Edut sisältävät:
- Nopeammat varmuuskopiointitoiminnot suurille tietokannoille
- Useiden tiedostoryhmien rinnakkainen varmuuskopiointi
- Rakeiset palautusvaihtoehdot
- Optimoidut varmuuskopiointiaikataulut vain luku -tiedostoryhmille
2.7 Osittainen varmuuskopiointi
Osittaiset varmuuskopiot sisältävät kaikki ensisijaisen tiedostoryhmän ja kaikkien luku- ja kirjoitusoikeuksin varustettujen tiedostoryhmien tiedot, lukuun ottamatta vain luku -tiedostoryhmiä. Tämä pienentää varmuuskopioinnin kokoa ja aikaa tietokannoissa, joissa on staattisia historiatietoja tallennettuna vain luku -tiedostoryhmiin.
3. SQL Server Palautusmallit
SQL Server Palautusmallit määrittävät käytettävissä olevat varmuuskopiotyypit ja miten tapahtumalokia hallitaan.
3.1 Yksinkertainen toipumismalli
3.1.1 Ominaisuudet ja käyttötapaukset
Yksinkertainen palautus katkaisee tapahtumalokin automaattisesti jokaisen tarkistuspisteen jälkeen, mikä vapauttaa tilaa ilman lokien varmuuskopiointia.
Paras:
- Kehitys- ja testaustietokannat
- Tietokannat, joissa tietojen menetys varmuuskopioiden välillä on hyväksyttävää
- Tietovarastot, joissa on uudelleenajettavat ETL-prosessit
- Vain luku- tai raportointitietokannat
3.1.2 Käytettävissä olevat varmuuskopiointivaihtoehdot
Yksinkertainen palautus tukee:
- Koko varmuuskopio
- Erotusvarmuuskopiot
- Tiedostojen ja tiedostoryhmien varmuuskopiot
- Vain kopiot sisältävät varmuuskopiot
Tapahtumalokin varmuuskopiot ovat ei ole käytettävissä yksinkertaisessa toipumismallissa.
3.2 Täydellinen toipumismalli
3.2.1 Ominaisuudet ja edut
Täysi palautus kirjaa kaikki tapahtumat ja säilyttää lokitiedot, kunnes ne varmuuskopioidaan. Tämä mahdollistaa täydellisen tietojen palautuksen mihin tahansa ajankohtaan tapahtumalokin varmuuskopion sisällä.
Tärkeimmät hyödyt:
- Minimaalinen tietojen menetysriski
- Palautusmahdollisuus tietyllä ajanhetkellä
- Tukee lokien lähetystä ja tietokannan peilausta
- Maksimaalinen palautumisjoustavuus
3.2.2 Tapahtumalokin hallinta
Täyden palautuksen aikana sinun on tehtävä säännöllisiä tapahtumalokin varmuuskopioita seuraaviin tarkoituksiin:
- Estä tapahtumalokin täyttämästä levytilaa
- Ylläpidä jatkuvaa varmuuskopiointiketjua
- Ota käyttöön palautus tiettynä ajankohtana
- Lokitiedostojen kasvun hallinta
Tyypillinen varmuuskopiointiaikataulu: täydelliset varmuuskopiot viikoittain, differentiaalivarmuuskopiot päivittäin, lokitietojen varmuuskopiot 15–30 minuutin välein.
3.3 Massalokitietojen palautusmalli
3.3.1 Milloin käyttää joukkolokikirjausta
Joukkolokikirjaustoiminto tallentaa minimaalisesti joukkotoimintoja, kuten BULK INSERT-, SELECT INTO- ja indeksien uudelleenrakennuksia, mutta säilyttää täyden lokikirjauksen tavallisille tapahtumille.
Käytä joukkolokiin perustuvaa palautusta, kun:
- Suurten joukkotuontioperaatioiden suorittaminen
- Indeksien uudelleenrakentaminen suurissa taulukoissa
- Suoritetaan toimintoja, jotka hyötyvät minimaalisesta lokikirjauksesta
- Tarve pienentää tapahtumalokin kokoa tiettyjen toimintojen aikana
3.3.2 Rajoitukset ja huomiot
Tärkeitä rajoituksia:
- Palautus tietyn ajankohtana ei ole käytettävissä joukkotoimintojen aikana
- Lokivarmuuskopiot ovat suurempia, kun joukkotoimintoja suoritetaan
- Täyden ja joukkolokikirjauksen välillä on vaihdettava tarpeen mukaan
3.4 Oikean toipumismallin valinta
Valitse palautumismallisi liiketoimintatarpeiden perusteella:
| Toipumismalli | Tietojen menetyksen riski | Point-in-Time Recovery | Best For |
|---|---|---|---|
| Yksinkertainen | Muutokset viimeisimmän varmuuskopioinnin jälkeen | Ei | Kehitys/testaus, hyväksyttävä tiedonhävikki |
| Koko | Minimi (yleensä minuuttia) | Kyllä | Tuotantotietokannat, kriittinen data |
| Massakirjattu | Muutokset viimeisimmän lokivarmuuskopion jälkeen | Rajoitettu irtotavarana toimitettaessa | Temporary käyttö irtotavarana toiminnoissa |
4. varmuuskopio SQL Server SSMS:ää käyttävä tietokanta
4.1 Edellytykset ja valmistelu
Ennen kuin varmuuskopioit SQL Server tietokanta, varmista:
- Sinulla on tarvittavat käyttöoikeudet (db_owner- tai BACKUP DATABASE -käyttöoikeus).
- Riittävästi levytilaa varmuuskopiotiedostolle
- SQL Server Management Studio (SSMS) asennettuna
- Verkkopolut käytettävissä, jos varmuuskopiointi tehdään verkkosijainteihin
4.2 Vaiheittainen opas: Täysi varmuuskopiointi SSMS:n avulla
Luo täydellinen varmuuskopio tiedostoistasi noudattamalla näitä ohjeita SQL Server tietokanta SSMS:n avulla.
4.2.1 Avaaminen SQL Server Hallintostudio
- Käynnistää SQL Server Hallintostudio
- Kirjoita palvelimesi nimi kohtaan Palvelimen nimi ala
- Valitse todennustapasi
- Napauta kytkeä
4.2.2 Tietokannan ja varmuuskopiointiasetusten valitseminen
- In Objektienhallinta, laajenna Tietokannat solmu
- Napsauta hiiren kakkospainikkeella tietokantaa, jonka haluat varmuuskopioida
- valita Tehtävät -> Takaisin ylös
- In Varmuuskopioi tietokanta ikkunassa, tarkista tietokannan nimi
- valita Koko kuten Varmuuskopiotyyppi
4.2.3 Varmuuskopiointikohteen määrittäminen
- Alle määränpää, Valitse poista oletuspolun tyhjentämiseksi (tarvittaessa)
- Napauta Lisää määrittääksesi uuden varmuuskopiopaikan
- Syötä tiedostopolku ja -nimi näppäimellä bak laajentaminen
- Napauta OK vahvistaaksesi määränpään
4.2.4 Advanced Backup Asetukset
- Napauta Mediaasetukset vasemmalla paneelilla
- Valitse varmuuskopiointivaihtoehdot:
- Korvaa kaikki olemassa olevat varmuuskopiot – Korvaa olemassa olevat varmuuskopiot
- Liitä olemassa olevaan varmuuskopiosarjaan – Lisää olemassa olevaan varmuuskopiotiedostoon
- Napauta Varmuuskopioasetukset vasemmalla paneelilla
- Määritä valinnaiset asetukset:
- Pakkaa varmuuskopio – Pienentää varmuuskopiotiedoston kokoa
- Salaa varmuuskopio – Suojaa arkaluonteisia tietoja
- Vahvista varmuuskopiointi, kun olet valmis – Tarkistaa varmuuskopioiden eheyden
4.2.5 Varmuuskopion suorittaminen
- Tarkista kaikki asetukset kohdassa Varmuuskopioi tietokanta ikkuna
- Napauta OK starvarmuuskopiointiprosessi
- Odota varmuuskopioinnin valmistumista
- Varmuuskopioinnin onnistumisesta ilmoittava viesti tulee näkyviin, kun varmuuskopiointi on valmis.
- Napauta OK sulkeaksesi vahvistusikkunan
4.3 Differentiaalivarmuuskopion luominen SSMS:llä
Voit luoda differentiaalivarmuuskopion noudattamalla samoja ohjeita kuin täyden varmuuskopion luomisessa, mutta valitse Ero varmuuskopiointityyppinä vaiheessa 4.2.2. Muista, että differentiaalivarmuuskopiot edellyttävät aiempaa täydellistä varmuuskopiointia lähtökohtana.
4.4 Tapahtumalokin varmuuskopion luominen SSMS:llä
Tapahtumalokin varmuuskopiot ovat käytettävissä vain tietokannoissa, jotka käyttävät täysiä tai joukkolokitietoja tallentavia palautusmalleja.
- Napsauta tietokantaa hiiren kakkospainikkeella Objektienhallinta
- valita Tehtävät -> Takaisin ylös
- Valita Tapahtumaloki varmuuskopiointityyppinä
- Määritä kohde ja asetukset tarpeen mukaan
- Napauta OK lokin varmuuskopion luomiseksi
4.5 Vain kopiota varten tarkoitetun varmuuskopion luominen SSMS:llä
Vain kopiot sisältävät varmuuskopiot eivät häiritse normaalia varmuuskopiointijärjestystäsi.
- Noudata ohjeita täydellisen varmuuskopion luomiseksi
- In Varmuuskopioasetukset sivulla
- Tarkista Vain kopiot sisältävä varmuuskopio vaihtoehto
- Suorita varmuuskopiointiprosessi normaalisti
5. varmuuskopio SQL Server T-SQL:ää käyttävä tietokanta
5.1 Varmuuskopiointitietokannan perussyntaksi
T-SQL BACKUP DATABASE -komento tarjoaa ohjelmallisen hallinnan SQL Server varmuuskopiot.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Täydelliset T-SQL-komennot varmuuskopiointiin
5.2.1 Yksinkertainen täydellinen varmuuskopiointiskripti
Luo täydellinen perusvarmuuskopio minimaalisilla vaihtoehdoilla:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Täysi varmuuskopiointi lisäasetuksilla
Lisää kuvailevia tietoja ja muotoiluasetuksia:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
INIT,
NAME = 'AdventureWorks-Full Database Backup',
DESCRIPTION = 'Full backup of AdventureWorks database',
STATS = 10
GO
Vaihtoehdot selitettynä:
- FORMAT – Luo uuden varmuuskopiosarjan
- SEN SISÄLLÄ – Korvaa olemassa olevan varmuuskopiotiedoston
- NIMI – Antaa varmuuskopiosarjan nimen
- KUVAUS – Lisää kuvailevaa tekstiä
- TILASTOT – Näyttää edistymisen 10 %:n välein
5.3 Differentiaalivarmuuskopiointiin liittyvät T-SQL-komennot
Differentiaalivarmuuskopioissa käytetään DIFFERENTIAL-vaihtoehtoa:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Tapahtumalokin varmuuskopiointiin liittyvät T-SQL-komennot
Käytä VARMUUSKOPIOLOKIA tapahtumalokin varmuuskopiointiin:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 T-SQL-varmuuskopioinnin lisäasetukset
5.5.1 Varmuuskopiointi useisiin tiedostoihin
Jaa varmuuskopio useille tiedostoille nopeamman suorituskyvyn saavuttamiseksi:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
DISK = 'D:\Backups\AdventureWorks_2.bak',
DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO
5.5.2 Varmuuskopiointi pakkauksen avulla
Pienennä varmuuskopiotiedoston kokoa ja verkon kaistanleveyttä:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Varmuuskopiointi salauksen avulla
Suojaa arkaluontoiset tiedot salauksella:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
),
STATS = 10
GO
5.5.4 Varmuuskopiointi salasanasuojauksella
Lisää salasanasuojaus (vanhentunut, käytä salausta):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Peilatut varmuuskopiot
Luo samanaikaisia kopioita eri paikkoihin:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 T-SQL-varmuuskopiointiesimerkkejä ja -skriptejä
Täydellinen varmuuskopioskripti virheiden käsittelyllä:
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);
SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';
BEGIN TRY
BACKUP DATABASE @DatabaseName
TO DISK = @BackupPath
WITH COMPRESSION,
INIT,
NAME = @DatabaseName + '-Full Backup',
STATS = 10;
PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO
6. varmuuskopio SQL Server Tietokanta PowerShellin avulla
6.1 PowerShell-varmuuskopiointikomennot
SQL Server PowerShell-moduuli tarjoaa cmdlet-komentoja varmuuskopioinnin automatisointiin:
- Varmuuskopiointi-SQLDatabase – Luo tietokannan varmuuskopioita
- Palautus-SQL-tietokanta – Palauttaa tietokannan varmuuskopiot
- Get-SqlDatabase – Hakee tietokannan tiedot
Tuo SQL Server moduuli:
Import-Module SqlServer
6.2 Varmuuskopioskriptien luominen PowerShellillä
PowerShellin perusvarmuuskopiointikomento:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Esimerkki differentiaalivarmistuksesta:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Tapahtumalokin varmuuskopiointi:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 Varmuuskopioiden automatisointi PowerShellin avulla
Luo automaattinen varmuuskopiointiskripti useille tietokannoille:
# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
New-Item -ItemType Directory -Path $BackupPath
}
# Backup each database
foreach ($Database in $Databases) {
$BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
try {
Backup-SqlDatabase -ServerInstance $ServerInstance `
-Database $Database `
-BackupFile $BackupFile `
-BackupAction Database `
-CompressionOption On
Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
}
catch {
Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
}
}
7. varmuuskopio SQL Server Tietokanta komentorivin avulla
SQL Server tarjoaa komentorivityökaluja, joiden avulla voit varmuuskopioida SQL Server tietokannan ilman SSMS:ää tai graafisia käyttöliittymiä. Nämä työkalut ovat välttämättömiä automaatiossa, komentosarjojen kirjoittamisessa ja etähallintatilanteissa.
7.1 Käytä SQLCMD-varmuuskopiotietokantaa
SQLCMD on moderni komentorivityökalu, jolla voi SQL Server joka korvasi OSQL:n. Se tarjoaa parannettuja toimintoja ja on suositeltu työkalu T-SQL-komentojen suorittamiseen komentokehotteesta.
7.1.1 SQLCMD:n perussyntaksi
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Määrittää SQL Server instanssin nimi
- -d: Määrittää tietokannan nimen
- -K: Suorittaa kyselyn ja poistuu
- -JA: Käyttää Windows-todennusta
- -U: Määrittää SQL Server kirjautumistunnus
- -P: Määrittää salasanan SQL Server Kirjaudu sisään
7.1.2 Varmuuskopion luominen SQLCMD:llä
Varmuuskopiointi SQL Server Käytä SQLCMD:tä seuraavasti:
- avoin Komentorivi or PowerShell
- Siirry SQL Server työkaluhakemisto (yleensä lisätään PATH-hakemistoon asennuksen aikana)
- Suorita SQLCMD-tietokannan varmuuskopiointikomento asianmukaisilla parametreilla.
- Varmista, että varmuuskopiotiedosto luotiin onnistuneesti
Esimerkki täydellisestä varmuuskopioinnista Windows-todennusta käyttäen:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Esimerkki käyttäen SQL Server Authentication:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Differentiaalivarmuuskopion luominen SQLCMD:llä
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
Tapahtumalokin varmuuskopion luominen SQLCMD:llä
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.1.3 Julkaisijan tietokannan varmuuskopiointi SQL Server replikointi
Kun varmuuskopioit julkaisijan tietokantoja SQL Server Replikointi, käytä WITH REPLICATION -vaihtoehtoa säilyttääksesi replikoinnin metatiedot ja varmistaaksesi transaktioiden yhdenmukaisuuden.
-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION,
COMPRESSION,
CHECKSUM,
INIT,
STATS = 10;
GO
Lisätietoja SQL Server replikointi, katso meidän kattava opas.
7.2 Käytä OSQL-varmuuskopiotietokantaa
OSQL on vanha komentorivityökalu, joka on tarkoitettu mm. SQL ServerVaikka Microsoft suosittelee SQLCMD:n käyttöä, OSQL on edelleen saatavilla taaksepäin yhteensopivuuden takaamiseksi vanhempien komentosarjojen ja järjestelmien kanssa.
7.2.1 OSQL-perussyntaksi
OSQL-syntaksi on samanlainen kuin SQLCMD:n:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server instanssin nimi
- -d: Tietokannan nimi
- -K: Suorittaa kyselyn ja poistuu
- -JA: Käyttää luotettavaa yhteyttä (Windows-todennus)
- -U: Kirjaudu sisään käyttäjätunnus
- -P: Kirjautumissalasana
7.2.2 Varmuuskopion luominen OSQL:llä
OSQL-varmuuskopiotietokannan toimintojen suorittaminen:
- avoin Komentorivi
- Varmista, että OSQL on käytettävissä laitteellasi SQL Server asennus
- Suorita OSQL-varmuuskopiointikomento
Esimerkki täydellisestä varmuuskopiosta:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Esimerkki differentiaalivarmistuksesta:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Kolmas osapuoli SQL Server Varmuuskopiointityökalut
Vaikka SQL Server sisältää natiiveja varmuuskopiointiominaisuuksia, kolmannen osapuolen työkalut tarjoavat parannettuja ominaisuuksia, automaatiota ja yritystason hallintaa organisaatioille, joilla on monimutkaisia vaatimuksia. Nämä ratkaisut tarjoavat edistyneen pakkauksen, keskitetyn hallinnan ja virtaviivaistetut työnkulut varmuuskopiointiin. SQL Server tietokantoja useissa eri ympäristöissä.
8.1 Veeam-varmuuskopiointi SQL Server
Veeam tarjoaa kattavia tietosuojaratkaisuja, jotka on erityisesti suunniteltu varmuuskopiointiin SQL Server tietokantoja, joilla on minimaalinen vaikutus tuotantojärjestelmiin.
Tärkeimmät ominaisuudet:
- Sovelluskohtainen käsittely SQL Server varmuuskopioiden johdonmukaisuus
- Tapahtumalokin varmuuskopiointi ja hallinta
- Ajankohtainen palautus tarkkuusvaihtoehtojen avulla
- Integrointi Veeam Backup & Replicationin kanssa yhtenäistä tietojen suojausta varten
- Automaattinen varmuuskopioiden varmennus ja validointi
- Tuki Always On -saatavuusryhmille
- Virtuaalikone- ja sovellustaso SQL Server varavaihtoehdot
8.2 Barracuda-varmuuskopio SQL Server
Barracuda tarjoaa pilvipohjaisia varmuuskopiointiratkaisuja ja yksinkertaistettua hallintaa MS:lle SQL Server tietokannan varmuuskopiointitoiminnot.
Tärkeimmät ominaisuudet:
- Automatisoitu SQL Server varmuuskopiointiaikataulutus
- Sisäänrakennettu pilvireplikaatio Barracuda Cloud Storageen
- Globaali deduplikaatio ja pakkaus
- Välittömät paikalliset palautusmahdollisuudet
- Verkkopohjainen hallintakonsoli
- Tuki täydellisille varmuuskopioille, differentiaalisille varmuuskopioille ja tapahtumalokien varmuuskopioille
- Kiristyshaittaohjelmien suojaus muuttumattomilla varmuuskopioilla
8.3 Veritas NetBackup-ohjelma SQL Server
Veritas NetBackup on yritystason varmuuskopiointialusta, joka tarjoaa kattavan suojan SQL Server tietokantoja monimutkaisissa IT-ympäristöissä.
Tärkeimmät ominaisuudet:
- Yritystason varmuuskopiointihallinta tuhansille käyttäjille SQL Server tapauksia
- Edistyneet deduplikaatio- ja pakkausalgoritmit
- Joustavat varmuuskopiointikäytännöt ja aikataulutus
- Tuki kaikille SQL Server toipumismallit
- Integrointi nauhakirjaston kanssararja pilvitallennustila
- Tietokantojen, taulukoiden ja objektien rakeinen palautus
- Usean alustan tuki (Windows, Linux SQL Server)
- Automatisoitu varmuuskopioinnin elinkaaren hallinta
8.4 Commvaultin täydellinen varmuuskopiointi ja palautus SQL Server
Commvault tarjoaa älykästä tiedonhallintaa ja kattavan varmuuskopioinnin SQL Server ominaisuuksia ja edistyneitä automaatio-ominaisuuksia.
Tärkeimmät ominaisuudet:
- Tekoälypohjainen varmuuskopioinnin optimointi ja poikkeavuuksien havaitseminen
- Yhtenäinen alusta varmuuskopiointiin, palautukseen ja arkistointiin
- Lisää SQL Server varmuuskopiopakkaus (jopa 90 %:n vähennys)
- Automatisoitu katastrofien palautumisen orkestrointi
- Live Sync lähes nolla RPO-suojausta varten
- Tuki SQL Server paikalliset, pilvi- ja hybridikäyttöönotot
- IntelliSnap tilannevedoksiin perustuvia varmuuskopioita varten
- Kattavat vaatimustenmukaisuus- ja sähköisen tiedonkeruun ominaisuudet
8.5 Yhtenäisyyden datasuojaus SQL Server
Cohesity tarjoaa seuraavan sukupolven tiedonhallintaa hyperkonvergoidulla infrastruktuurilla moderneille ratkaisuille SQL Server varmuuskopiointitoiminnot.
Tärkeimmät ominaisuudet:
- Verkkopohjainen arkkitehtuuri yksinkertaistettua hallintaa varten
- Välittömät massapalautusominaisuudet SQL Server tietokannat
- Sovelluksen mukaiset tilannekuvat
- Globaali deduplikaatio kaikissa varmuuskopioissa
- Natiivi pilviintegraatio (AWS, Azure, Google Cloud)
- Sisäänrakennetut analytiikka- ja seurantanäkymät
- Tietokannan kloonaus- ja testausominaisuudet
- Kiristyshaittaohjelmien suojaus muuttumattomilla tilannevedoksilla
8.6 Red Gate SQL Backup Pro
Red Gate SQL Backup Pro on erikoistyökalu, joka on keskittynyt yksinomaan optimointiin SQL Server varmuuskopiointi- ja palautustoiminnot erinomaisella pakkausteholla ja suorituskyvyllä.
Tärkeimmät ominaisuudet:
- Alan johtavat puristussuhteet (jopa 95 %)
- Verkon vikasietoisuus varmuuskopiointia varten SQL Server epäluotettavien yhteyksien yli
- Varmuuskopiosalaus 256-bittisellä AES-salauksella
- Varmuuskopioiden varmennus ja eheyden tarkistus
- Yksityiskohtainen varmuuskopiointihistoria ja raportointi
- Integrointi SQL Server Hallintostudio
- Tuki varmuuskopioinnille verkkosijainteihin ja pilvitallennukseen
- Rinnakkainen varmuuskopiointi ja palautus nopeampaa toimintaa varten
9. Palauttaminen SQL Server tietokanta
9.1 Palautusprosessin ymmärtäminen
Palauttaminen a SQL Server tietokanta luo tietokannan uudelleen varmuuskopiotiedostoista. Palautusprosessi lukee varmuuskopiotiedoston ja rakentaa tietokannan uudelleen varmuuskopioituun tilaan.
Tärkeitä huomioita:
- Palauttaminen korvaa olemassa olevan tietokannan
- Käyttäjien yhteys katkeaa palautuksen aikana
- Palautuksen on noudatettava varmuuskopiointijärjestystä (täysi varmuuskopiointi, sitten differentiaalinen varmuuskopiointi ja lopuksi lokitiedostot).
- Tietokanta ei ole käytettävissä palautuksen aikana
9.2 Täydellisen varmuuskopion palauttaminen SSMS:n avulla
Palauta täydellinen tietokannan varmuuskopio noudattamalla näitä ohjeita.
9.2.1 Vaiheittainen palautusprosessi
- avoin SQL Server Hallintostudio ja muodosta yhteys palvelimeesi
- In Objektienhallinta, oikealla painikkeella Tietokannat
- valita Palauta tietokanta
- In Lähde , valitse Laite
- Valitse ... painike varmuuskopiotiedostojen selaamiseen
- Napauta Lisää ja siirry .bak-tiedostoosi
- Valitse varmuuskopiotiedosto ja napsauta OK
- In määränpää osiossa anna tietokannan nimi
- Tarkista palautettavat varmuuskopiosarjat
- Napauta OK starpalautus
9.2.2 Palautusvaihtoehdot ja -asetukset
Napauta Vaihtoehdot vasemmassa paneelissa määrittääksesi:
- Korvaa olemassa oleva tietokanta (KORVAA) – Mahdollistaa palauttamisen olemassa olevan tietokannan päälle
- Säilytä replikointitilat (KEEP_REPLICATION-metodilla) - Pidä SQL Server replikointi olivat
- Rajoita pääsyä palautettuun tietokantaan (WITH RESTRICTED_USER) – Rajat post- palauttaa käyttöoikeudet
- Palautustila – Valitse PALAUTUS PALAUTUMISEN KANSSA tai EI PALAUTUMISEN KANSSA
9.3 Differentiaalivarmistuksen palauttaminen
Differentiaalipalautus vaatii sekä täydelliset että differentiaalivarmuuskopiot:
- Palauta ensin koko varmuuskopio käyttämällä NOPEUS vaihtoehto
- Palauta sitten differentiaalivarmuuskopio komennolla RECOVERY vaihtoehto
T-SQL-esimerkki:
-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO
9.4 Palauttaminen tapahtumalokin varmuuskopioiden avulla
Ajankohtaisen palautuksen osalta palauta tiedot järjestyksessä:
- Palauta täydellinen varmuuskopio NORECOVERY-ohjelmalla
- Palauta differentiaalivarmuuskopio NORECOVERY-komennolla (jos saatavilla)
- Palauta tapahtumalokin varmuuskopiot järjestyksessä NORECOVERYn avulla
- Palauta lopullinen lokivarmuuskopio RECOVERY-komennolla
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO
9.5 Palautus tiettynä ajankohtana
Palauta tietokanta tiettyyn ajankohtaan käyttämällä STOPAT-vaihtoehtoa:
-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO
9.6 Taulukon palautus
SQL Server ei tue suoraa taulukkotason palautusta varmuuskopiotiedostoista. On kuitenkin olemassa joitakin ratkaisuja.
9.6.1 Menetelmä 1: Tietokannan tilannevedokset (paras ennaltaehkäisyyn)
Tietokannan tilannevedokset tarjoavat nopeimman tavan palauttaa taulukon tiedot, jos ne on luotu ennen ongelman ilmenemistä. Tilannevedos on vain luku -tilassa oleva staattinen näkymä tietokannasta tiettynä ajankohtana.
Tietokannan tilannevedoksen luominen:
-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data,
FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO
Taulukon tietojen palauttaminen tilannevedoksesta:
USE ProductionDB;
GO
-- Replace entire table content
BEGIN TRANSACTION;
-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;
-- Clear current data
TRUNCATE TABLE dbo.Orders;
-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;
-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;
COMMIT TRANSACTION;
GO
Versiovaatimukset: Tietokannan tilannevedokset ovat saatavilla osoitteessa SQL Server Enterprise Edition (kaikki versiot) ja Standard Editiontarkanssa SQL Server 2016 SP1.
9.6.2 Menetelmä 2: Palauta temporary-tietokanta (Most Yleinen)
Tämä menetelmä toimii, kun sinun on palautettava taulukon tiedot ongelman ilmenemisen jälkeen eikä tilannevedosta ole olemassa:
- Palauta varmuuskopio tempoonrary-tietokanta
- Kopioi taulukon tiedot tempostarary-tietokannasta nykyiseen tietokantaan
9.7 Sivun palautus
Sivun palautus palauttaa yksittäisiä vaurioituneita sivuja palauttamatta koko tietokantaa, mikä minimoi käyttökatkokset tarhakee vain vioittuneita sivuja. Tämä ominaisuus on käytettävissä vain täysissä tai joukkolokitiedostojen palautusmalleissa ja vaatii katkeamattoman tapahtumalokin varmuuskopioketjun sivun varmuuskopiosta nykyiseen lokitiedostoon.
Suorittaaksesi sivun palautuksen, tunnista ensin vaurioituneet sivut, ota varmuuskopio häntälokista, palauta kyseiset sivut ja käytä sitten kaikkia tapahtumalokeja:
-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');
-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;
-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO
Huomautus: Sivun palautus ei ole käytettävissä yksinkertaisessa palautusmallissa. Et voi palauttaa sivuja järjestelmätaulukoista tai ensisijaisen tiedostoryhmän metatiedoista.
9.8 Palautus osittain
Osittainen palautus palauttaa tietokannan vaiheittain tiedostoryhmätasolla, starensisijaisen tiedostoryhmän kanssa. Tämä tuo tärkeät tiedot verkkoon välittömästi, kun taas vähemmän tärkeät tiedot palautetaan taustalla. Yksinkertaisessa palautusmallissa kaikki luku- ja kirjoitusoikeudet omaavat tiedostoryhmät on palautettava yhdessä ensisijaisen tiedostoryhmän kanssa; vain luku-oikeudet omaavat tiedostoryhmät voidaan palauttaa erikseen. Täysi- tai joukkolokitietoihin perustuvassa palautusmallissa kukin tiedostoryhmä voidaan tuoda verkkoon erikseen tapahtumalokien lisäämisen jälkeen.
| Toipumismalli | Osittainen palautuskäyttäytyminen |
|---|---|
| Yksinkertainen | Ensisijainen tiedostoryhmä ja kaikki luku-/kirjoitusoikeudet sisältävä tiedostoryhmä palautettu yhdessä. Vain luku -tiedostoryhmät palautettu erikseen. |
| Täysi/joukkolokikirjaus | Jokainen tiedostoryhmä palautettiin itsenäisesti tiedostoryhmätasolla. |
Esimerkki täydellisen palautuksen mallista – palauta ensisijainen tiedostoryhmä ensin tietokannan palauttamiseksi verkkoon ja palauta sitten toissijaiset tiedostoryhmät tietokannan pysyessä toiminnassa:
-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
Esimerkki yksinkertaisesta palautusmallista:
-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;
-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO
9.9 Palauttaminen T-SQL-komennoilla
Täydellinen palautusskripti tiedostojen siirrolla:
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
REPLACE,
STATS = 10;
GO
9.10 Varmuuskopion eheyden tarkistaminen ennen palautusta
Tarkista varmuuskopion voimassaolo palauttamatta:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Tämä komento varmistaa, että varmuuskopiosarja on täydellinen ja luettavissa ilman, että tietokantaa todellisuudessa palautetaan.
10. SQL Server Varmuuskopioi parhaat käytännöt
10.1 Varastrategian kehittäminen
10.1.1 Liiketoimintavaatimusten arviointi
Ennen varmuuskopioiden käyttöönottoa arvioi:
- Tietojen kriittisyys: Kuinka tärkeää tämä data on toiminnalle?
- Muutostaajuus: Kuinka usein data muuttuu?
- Tietokannan koko: Kuinka suuri tietokanta on?
- Saatavilla olevat resurssit: Paljonko tallennustilaa ja kaistanleveyttä on käytettävissä?
- Vaatimustenmukaisuusvaatimukset: Mitä sääntöjä sinun on noudatettava?
10.1.2 RTO:n ja RPO:n määrittely
Palautumisajan tavoite (RTO): Hyväksyttävä enimmäiskäyttökatkos. Määrittää, kuinka nopeasti toiminnot on palautettava normaaliin tilaan.
Palautuspisteen tavoite (RPO): Suurin hyväksyttävä datahävikki. Määrittää varmuuskopiointitiheyden.
| RTO/RPO-vaatimus | Suositeltu varmuuskopiointistrategia |
|---|---|
| RPO: Tunnit, RTO: Tunnit | Päivittäinen täysi + tapahtumaloki 1–2 tunnin välein |
| RPO: Minuutit, RTO: Tunnit | Päivittäiset täydelliset + lokivarmuuskopiot 15–30 minuutin välein |
| RPO: Lähes nolla, RTO: Minuutteja | Aina käytettävissä olevat ryhmät + säännölliset lokitiedostojen varmuuskopiot |
| RPO: Päivää, RTO: Päivää | Viikoittainen täysi + päivittäinen erotus |
10.2 Varmuuskopiointiaikataulun luominen
10.2.1 Taajuussuositukset
Tyypillinen varmuuskopiointiaikataulu tuotantotietokantoja varten:
- Täydelliset varmuuskopiot: Viikoittain (sunnuntai-iltana vähäisen aktiivisuuden aikana)
- Differentiaalivarmuuskopiot: Päivittäin (joka yö)
- Tapahtumalokin varmuuskopiot: 15–30 minuutin välein aukioloaikoina
- Vain kopiot sisältävät varmuuskopiot: Tarvittaessa testausta tai kehitystä varten
10.2.2 Suorituskyvyn ja suojauksen tasapainottaminen
Ota nämä tekijät huomioon aikatauluttaessasi:
- Ruuhka-ajan ulkopuolella: Suorita täydet varmuuskopiot hiljaisten käyttöjaksojen aikana
- Resurssien vaikutus: Pakkaus vähentää I/O:ta, mutta lisää suorittimen käyttöä
- Verkon kaistanleveys: Ajoita verkon varmuuskopiot, kun liikennettä on vähän
- Varmuuskopioikkunat: Varmista, että varmuuskopiot on tehty ennen aukioloaikoja
10.3 Varmuuskopioiden tallennustilan parhaat käytännöt
10.3.1 Paikan päällä oleva vs. muualla oleva varastointi
Paikan päällä olevat varmuuskopiot:
- Nopeammat varmuuskopiointi- ja palautusajat
- Alempi cost korkeataajuista käyttöä varten
- Altis paikallisille katastrofeille
- Paras nopeaan toipumiseen
Varmuuskopiot muualla kuin sivustolla:
- Suojautuminen paikkakohtaisilta katastrofeilta
- Maantieteellisen redundanssin vaatimusten noudattaminen
- Hitaammat palautusajat
- Olennaista katastrofien jälkeiseen palautumiseen
10.3.2 Pilvivarmuuskopiointivaihtoehdot
Pilvitallennuksen edut:
- Azure Blob -tallennustila: Syntyperäinen SQL Server integrointi, cost-tehokas harvoin käytettävälle laitteelle
- Amazon S3: Erittäin kestävät ja joustavat säilytystasot
- Google Cloud Storage: Kilpailukykyinen hinnoittelu, maailmanlaajuinen saatavuus
10.3.3 Varmuuskopioiden säilytyskäytännöt
Näytteiden säilytyskäytäntö:
- Pidä päivittäiset varmuuskopiot 7 päivän ajan
- Pidä viikoittaiset varmuuskopiot neljän viikon ajan
- Säilytä kuukausittaiset varmuuskopiot 12 kuukauden ajan
- Säilytä vuosittaiset varmuuskopiot 7 vuotta (vaatimustenmukaisuus)
10.4 Varmuuskopioiden pakkaus ja salaus
Kompression edut:
- Pienentää varmuuskopiotiedoston kokoa 50–70 %
- Lyhentää varmuuskopiointiaikaa
- Alentaa säilytystilaaosts
- Vähentää verkon kaistanleveyttä etävarmuuskopioita varten
Salauksen parhaat käytännöt:
- Salaa aina varmuuskopiot, jotka sisältävät arkaluonteisia tietoja
- Käytä 256-bittistä AES-salausta
- Suojattu varmenne tai avaintenhallinta
- Dokumentoi salausavaimet ja säilytä niitä erikseen
10.5 Varmuuskopioiden testaaminen ja varmentaminen
10.5.1 Säännöllinen palautustestaus
Testien palautusmenettelyt neljännesvuosittain tai kuukausittain:
- Palauta varmuuskopiot testiympäristöön
- Tarkista tietojen eheys ja täydellisyys
- Tarkista sovelluksen toiminnallisuus
- Asiakirjan palautusaika (RTO:n validointi)
- Tunnista ja ratkaise mahdolliset ongelmat
10.5.2 PALAUTA VAIN VARMISTA -toiminnon käyttö
Automatisoi varmuuskopioiden validointi:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Suorita tarkistus heti varmuuskopioinnin valmistumisen jälkeen tai osana suunniteltua huoltoa.
10.6 Varmuuskopioiden automatisointi ja valvonta
10.6.1 SQL Server Agentin työpaikat
Luo automatisoituja varmuuskopiointitöitä:
- Laajentaa SQL Server Agentti
SSMS:ssä
- Napsauta hiiren kakkospainikkeella Työpaikat ja valitse Uusi työ
- Nimeä työ (esim. ”Päivittäinen täysi varmuuskopiointi”)
- Lisää Vaihe T-SQL-varmuuskopiokomennoilla
- Luo Aikataulu suoritusaikaa varten
- Configure ilmoitukset onnistumisen/epäonnistumisen vuoksi
10.6.2 Huoltosuunnitelmat
SQL Server Ylläpitosuunnitelmat tarjoavat visuaalisen käyttöliittymän varmuuskopioinnin automatisoinnille:
- Navigoida johonkin videonhallinta -> Huoltosuunnitelmat
- Napsauta hiiren kakkospainikkeella ja valitse Huoltosuunnitelman ohjattu toiminto
- Valitse automatisoitavat varmuuskopiointitehtävät
- Varmuuskopiointiaikataulun ja -asetusten määrittäminen
- Raportoinnin ja lokitietojen määrittäminen
10.6.3 Varmuuskopiohälytykset ja -ilmoitukset
Sähköposti-ilmoitusten määrittäminen:
- Määritä tietokannan sähköposti SQL Server
- Luo hälytyksiä varmuuskopiointivirheistä
- Varmuuskopiointitöiden historian seuranta
- Lähetä yhteenvetoraportit järjestelmänvalvojille
10.7 Dokumentaatio ja katastrofien jälkeinen toipumissuunnittelu
Säilytä kattava dokumentaatio:
- Varmuuskopiointiaikataulu: Milloin ja mitä varmuuskopioidaan
- Säilytyskäytännöt: Kuinka kauan varmuuskopioita säilytetään
- Säilytyspaikat: Varmuuskopioiden tallennuspaikka
- Palautusmenettelyt: Vaiheittaiset palautusohjeet
- Yhteystiedot: Avainhenkilöstö ja toimittajat
- Palautumistestin tulokset: Dokumentoidut testitulokset
11. Edistynyt SQL Server Varmuuskopiointiskenaariot
11.1 Erittäin suurten tietokantojen (VLDB) varmuuskopiointi
11.1.1 Tiedosto- ja tiedostoryhmästrategiat
Yli satojen gigatavujen kokoisille tietokannoille:
- Erota vain luku - ja luku-/kirjoitusoikeudet eri tiedostoryhmiin
- Varmuuskopioi vain luku -tiedostoryhmiä harvoin
- Keskity aktiivisten tiedostoryhmien säännöllisiin varmuuskopiointeihin
- Käytä tiedostotason varmuuskopioita yksityiskohtaiseen hallintaan
Esimerkki tiedostojen varmuuskopiosta:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Varmuuskopioinnin suorituskyvyn optimointi
Paranna VLDB-varmuuskopioinnin suorituskykyä:
- Raidalliset varmuuskopiot: Kirjoita useisiin tiedostoihin samanaikaisesti
- Puristus: Vähennä I/O- ja tallennusvaatimuksia
- Useita varmuuskopiolaitteita: Varmuuskopiointitoimintojen rinnakkaistaminen
- Nopea säilytys: Käytä SSD-levyjä varmuuskopiointiin
- Puskurien määrä: Suurenna BUFFERCOUNT-vaihtoehtoa
- Suurin siirtokoko: Optimoi MAXTRANSFERSIZE-asetus
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
DISK = 'D:\Backups\LargeDB_2.bak',
DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
BUFFERCOUNT = 100,
MAXTRANSFERSIZE = 4194304;
GO
11.2 Varmuuskopiointi Always On -käytettävyysryhmissä
Always On -käyttöoikeusryhmät jakavat varmuuskopiointikuorman replikoiden kesken:
- Varmuuskopiointiasetusten määrittäminen (ensisijainen, toissijainen tai mikä tahansa kopio)
- Siirrä varmuuskopiot toissijaisiin replikoihin ensisijaisen työmäärän vähentämiseksi
- Käytä COPY_ONLY-varmuuskopioita toissijaisissa replikoissa
- Varmuuskopioinnin prioriteettiasetusten valvonta
-- Check backup preferences
SELECT
ag.name AS AvailabilityGroup,
ar.replica_server_name,
ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO
11.3 Varmuuskopiointi tietokannan peilausta varten
Tietokannan peilauksen skenaarioissa:
- Varmuuskopioi päätietokanta säännöllisesti
- Tapahtumalokin varmuuskopiot ovat välttämättömiä peilausta varten
- Peilitietokanta on PALAUTUS-tilassa (sitä ei voida varmuuskopioida suoraan)
- Harkitse peilin varmuuskopiointia vikasietoisuuden jälkeen
11.4 Varmuuskopiointi Azure Blob Storageen
SQL Server voi varmuuskopioida suoraan Azure Blob Storageen:
- Luo Azure Storage -tili
- luoda SQL Server Azure-todennuksen tunnistetiedot
- Käytä URL-syntaksia varmuuskopiokohteena
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO
-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
STATS = 10;
GO
11.5 Varmuuskopiointi URL-osoitteeseen
URL-osoitteeseen varmuuskopioinnin edut:
- Rajoittamaton pilvitallennuskapasiteetti
- Maantieteellinen redundanssi käsitellään automaattisesti
- Pay-as-you-go-hinnoittelumalli
- Ei vaadi paikallista levytilaa
- Tukee jopa 64 URL-osoitetta varmuuskopiota kohden (raidoitus)
11.6 Raidalliset varmuuskopiot suorituskyvyn parantamiseksi
Raidalliset varmuuskopiot jakavat tiedot useisiin tiedostoihin nopeampaa I/O:ta varten:
-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
DISK = 'D:\Backups\AW_Stripe2.bak',
DISK = 'E:\Backups\AW_Stripe3.bak',
DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO
Huomautus: Kaikki stripe-tiedostot vaaditaan palautukseen. Minkä tahansa tiedoston puuttuminen tekee varmuuskopiosta käyttökelvottoman.
12. Vianmääritys SQL Server Varmuuskopiointiongelmat
12.1 Yleisiä varmuuskopiointivirheitä ja ratkaisuja
Virhe: ”Käyttöjärjestelmävirhe 5: Käyttö estetty”
- Syy: SQL Server palvelutilillä ei ole käyttöoikeuksia
- Ratkaisu: Myönnä kirjoitusoikeudet käyttäjälle SQL Server palvelutili varmuuskopiokansiossa
Virhe: ”Varmuuskopiolaitetta ei voida avata… Laitevirhe tai laite offline-tilassa”
- Syy: Virheellinen polku tai ei käytettävissä oleva verkko-osuus
- Ratkaisu: Varmista, että polku on olemassa, tarkista verkkoyhteys ja varmista, että levytilaa on riittävästi
Virhe: ”Levyllä ei ole tarpeeksi tilaa”
- Syy: Levytilaa ei ole riittävästi varmuuskopiointia varten
- Ratkaisu: Vapauta levytilaa, käytä pakkausta, varmuuskopioi eri sijaintiin
Virhe: ”Tietokanta on käytössä. Tietokantaa käyttävät muut käyttäjät.”
- Syy: Aktiiviset yhteydet palautuksen aikana
- Ratkaisu: Käytä WITH REPLACE -vaihtoehtoa tai irrota käyttäjät ensin
12.2 Varmuuskopioinnin suorituskykyongelmat
Hitaiden varmuuskopioiden diagnosointi:
- Tarkista levyn I/O-suorituskyky käyttämällä Performance Monitor
- Varmuuskopioinnin edistymisen seuranta STATS-vaihtoehdolla
- Arvostelu SQL Server pullonkaulojen virheloki
- Harkitse pakkaamista I/O:n vähentämiseksi
- Käytä raidallisia varmuuskopioita useilla levyillä
Kysely varmuuskopioinnin edistymisen seuraamiseksi:
SELECT
session_id,
command,
percent_complete,
CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
+ CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
+ CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
+ CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
+ CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests
WHERE command LIKE 'BACKUP%';
GO
12.3 Tila- ja säilytysongelmat
Vältä tallennusongelmia:
- Ota käyttöön säilytyskäytännöt: Poista vanhat varmuuskopiot automaattisesti
- Käytä pakkausta: Pienennä varmuuskopiotiedoston kokoa 50–70 %
- Arkisto halvempaan tallennustilaan: Siirrä vanhat varmuuskopiot arkistotallennustilaan
- Näytön levytila: Määritä hälytykset levytilan vähyydestä
- Arvioi varmuuskopion koko: Laske odotettu koko ennen varmuuskopiointia
Arvioi varmuuskopion koko:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Käyttöoikeus- ja käyttöoikeusongelmat
Varmuuskopioiden edellyttämät käyttöoikeudet:
- VARMUUSKOPIOINTITIETOKANTA lupa
- db_backupoperator roolijäsenyys
- sysadmin palvelinrooli (kaikille varmuuskopiointitoiminnoille)
Myönnä varmuuskopiointioikeudet:
-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO
-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO
12.5 Vioittuneet varmuuskopiotiedostot
Vioittuneiden varmuuskopioiden havaitseminen ja käsittely:
Varmista varmuuskopion eheys:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Ota tarkistussumma käyttöön tulevia varmuuskopioita varten:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Ehkäisystrategiat:
- Käytä aina tarkistussumma-asetusta varmuuskopioinnin aikana
- Tarkista varmuuskopiot heti luomisen jälkeen
- Testaa palautuksia säännöllisesti
- Säilytä varmuuskopiot luotettavassa tallennustilassa
- Pidä useita varmuuskopioita
12.6 Palauta tiedot vioittuneista varmuuskopiotiedostoista
Jos varmuuskopiotiedostosi ovat vioittuneet ja haluat silti palauttaa niistä tietoja, voit käyttää kolmannen osapuolen työkaluja, kuten DataNumen SQL Recovery, kuten alla:
- Start DataNumen SQL Recovery.
- Valitse vioittunut varmuuskopiotiedosto lähdetiedostoksi muuttamalla suodattimen arvoksi ”Kaikki tiedostot (*.*)”:
- Aseta tarvittaessa tulostettava .MDF-tiedosto.
- Napsauta “Star"Palautus" ja noudata ohjeita tietokannan palauttamiseksi.
- Palautusprosessin jälkeen uusi palautustietokanta ilmestyy SQL Server joka sisältää kaikki palautetut tiedot.
13. SQL Server Varmuuskopiointiturvallisuus
13.1 Varmuuskopiotiedostojen suojaaminen
Suojaa varmuuskopiotiedostot luvattomalta käytöltä:
- Tiedostojärjestelmän käyttöoikeudet: Rajoita käyttöoikeus vain valtuutetuille järjestelmänvalvojille
- Verkkoturvallisuus: Käytä suojattuja protokollia verkkovarmuuskopioihin
- Fyysinen turvallisuus: Säilytä varmuuskopiomediaa turvallisissa paikoissa
- Käyttöoikeuksien lokitiedot: Varmuuskopiotiedostojen käyttöoikeuksien tarkastus
13.2 Salausvaihtoehdot
SQL Server tukee läpinäkyvää varmuuskopiointisalausta:
Luo salaussertifikaatti:
-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO
-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO
Salattu varmuuskopio:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Tärkeää: Varmuuskopioi varmenne ja yksityinen avain erikseen. Ilman niitä salattuja varmuuskopioita ei voida palauttaa.
-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
FILE = 'C:\Certificates\BackupCertificate.key',
ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO
13.3 Pääsyoikeudet ja käyttöoikeudet
Toteuta pienimmän etuoikeuden periaate:
- Myönnä varmuuskopiointioikeudet vain tarvittaville tileille
- Käytä erillisiä tilejä varmuuskopiointi- ja palautustoimintoihin
- Vältä SA-tilin käyttöä varmuuskopiointiin
- Tarkista varmuuskopiointioikeudet säännöllisesti
- Poista käyttöoikeudet, kun niitä ei enää tarvita
13.4 Vaatimusten noudattamista koskevat näkökohdat
Vastaa sääntelyvaatimuksiin:
- GDPR: Salaa henkilötietoja sisältävät varmuuskopiot ja ota käyttöön säilytyskäytännöt
- HIPAA: Salaa suojatut terveystiedot varmuuskopioissa, hallitse käyttöoikeuksia ja ylläpidä tarkastuslokeja
- PCI DSS: Salaa kortinhaltijan tietojen varmuuskopiot, suojaa varmuuskopioiden tallennustila
- SOX: Säilytä varmuuskopioiden eheys ja asiakirjojen säilytyskäytännöt
14. Varmuuskopioiden valvonta ja ylläpito
14.1 Varmuuskopiohistorian seuranta
SQL Server tallentaa varmuuskopiointihistorian msdb-tietokantaan:
-- View recent backup history
SELECT
bks.database_name,
bks.backup_start_date,
bks.backup_finish_date,
CASE bks.type
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
ELSE 'Other'
END AS backup_type,
bks.backup_size / 1024 / 1024 AS backup_size_mb,
bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO
Etsi tietokantoja, joista ei ole viimeaikaisia varmuuskopioita:
SELECT
d.name AS database_name,
MAX(bs.backup_finish_date) AS last_backup_date,
DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO
14.2 Käyttö SQL Server Raportit
SQL Server Management Studio sisältää sisäänrakennetut varmuuskopioraportit:
- Napsauta tietokantaa hiiren kakkospainikkeella Object Explorerissa
- valita Raportit -> Vakioraportit
- Valitse saatavilla olevista raporteista:
- Varmuuskopiointi- ja palautustapahtumien
- Kaikki varmuuskopiot
- Tapahtumalokin toimitustila
14.3 Kolmannen osapuolen valvontatyökalut
Kaupalliset valvontaratkaisut:
- SQL Sentry: Kattava valvonta ja hälytysjärjestelmä
- Redgate SQL -monitori: Reaaliaikainen seuranta ja diagnostiikkaostics
- SolarWinds-tietokannan suorituskykyanalysaattori: Suorituskyvyn ja varmuuskopioinnin valvonta
- Idera SQL -diagnoosiostic-päällikkö: Varmuuskopioiden validointi ja hälytykset
14.4 Varmuuskopioiden kuntotarkastukset
Luo terveystarkastusmenettely:
-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
-- Check for databases without recent full backup
SELECT
'Missing Recent Full Backup' AS issue,
d.name AS database_name,
ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs
ON d.name = bs.database_name AND bs.type = 'D'
WHERE d.database_id > 4
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
AND j.name LIKE '%backup%';
END
GO
15. SQL Server Varmuuskopiointiin liittyviä usein kysyttyjä kysymyksiä
15.1 Kuinka usein minun pitäisi varmuuskopioida SQL Server?
Varmuuskopiointitiheys riippuu palautuspisteen tavoitteestasi (RPO):
- Kriittiset tuotantotietokannat: Koko viikko, päivittäinen differentiaali, loki 15–30 minuutin välein
- Vakiotuotantotietokannat: Koko viikko, differentiaali päivittäin, loki 1–2 tunnin välein
- Kehitystietokannat: Koko päivän tai viikon
- Vain luku -tietokannat: Täynnä jokaisen tiedonmuutoksen jälkeen
15.2 Mitä eroa on täysvarmuuskopioinnin ja differentiaalivarmuuskopioinnin välillä?
Täysi varmuuskopio kopioi koko tietokannan, kun taas differentiaalivarmuuskopio tallentaa vain muutokset viimeisimmän täyden varmuuskopion jälkeen. Differentiaalivarmuuskopiot ovat pienempiä ja nopeampia, mutta niiden palauttamiseksi tarvitaan perusvarmuuskopio.
15.3 Voinko varmuuskopioida SQL Server Kun se on käynnissä?
Kyllä SQL Server tukee online-varmuuskopioita. Käyttäjät voivat jatkaa työskentelyä varmuuskopiointitoimintojen aikana. SQL Server käyttää tapahtumalokiaan johdonmukaisuuden ylläpitämiseen varmistaen, että varmuuskopiot ovat päteviä myös samanaikaisten muutosten jälkeen.
15.4 Kuinka kauan SQL Server Varmuuskopio otetaan?
Varmuuskopioinnin kesto vaihtelee seuraavien tekijöiden mukaan:
- Tietokannan koko: Suuremmat tietokannat vievät kauemmin
- Varmuuskopiointityyppi: Täydelliset varmuuskopiot kestävät pisimmän
- Puristus: Voi lisätä suorittimen aikaa, mutta lyhentää kokonaiskestoa
- Tallennusnopeus: SSD-levyt huomattavasti nopeampia kuin kiintolevyt
- Palvelimen kuormitus: Suurempi aktiivisuus hidastaa varmuuskopiointia
Tyypilliset vaihteluvälit: 10 Gt:n tietokannan täydellinen varmuuskopiointi voi kestää 5–15 minuuttia pakkausta käytettäessä nykyaikaisilla laitteistoilla.
15.5 Missä minun pitäisi säilyttää SQL Server Varmuuskopiot?
Parhaat käytännöt: Noudata 3-2-1-sääntöä:
- 3 kopiot tiedoistasi
- 2 erilaisia tallennustyyppejä (esim. levy ja nauha/pilvi)
- 1 kopioi sivuston ulkopuolelta
Suositellut paikat:
- Paikallinen levy nopeaa palautusta varten
- Verkkotallennus keskitettyä hallintaa varten
- Pilvitallennus (Azure, AWS) katastrofien jälkeistä palautusta varten
15.6 Mikä on .bak-tiedostopääte?
.bak-tiedostopääte on oletusarvoinen tiedostopääte seuraaville tiedostoille: SQL Server varmuuskopiotiedostot. Se on käytäntö, ei vaatimus – SQL Server Varmuuskopiot toimivat minkä tahansa tiedostopäätteen kanssa. .bak-päätteen käyttö tekee varmuuskopiotiedostoista helposti tunnistettavia ja on alan vakiokäytäntö.
15.7 Varmuuskopiointi SQL Server verkkolevylle?
Varmuuskopiointi verkkoasemaan:
- Varmistaa SQL Server palvelutilillä on kirjoitusoikeudet verkkojaossa
- Käytä UNC-polkua varmuuskopiointikomennossa:
\\ServerName\ShareName\BackupFile.bak - Testaa yhteys ennen automaattisten varmuuskopioiden aikatauluttamista
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Voinko pakata SQL Server Varmuuskopiot?
Kyllä SQL Server tukee natiivia varmuuskopiointipakkausta (Enterprise Edition tai Standard Edition)tarasia SQL Server 2016 SP1). Pakkaus pienentää yleensä varmuuskopion kokoa 50–70 % ja usein lyhentää varmuuskopiointiaikaa vähentämällä I/O-tehoa, vaikkakin se lisää suorittimen käyttöä.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. Päätelmä
16.1 keskeistä takeaways
Tehokas SQL Server Varmuuskopiointistrategiat suojaavat tietojasi ja varmistavat liiketoiminnan jatkuvuuden. Muista nämä tärkeät seikat:
- Ymmärrä varmuuskopiointityypit: Valitse sopivat varmuuskopiointityypit (täysi, differentiaalinen, tapahtumaloki) palautusvaatimustesi perusteella.
- Valitse sopiva palautumismalli: Täydellinen palautus kriittisille tiedoille, yksinkertainen kehitystietokannoille
- Varmuuskopiointiaikataulun toteuttaminen: Säännölliset täydelliset varmuuskopiot yhdistettynä differentiaali- ja lokivarmuuskopioihin minimoivat tietojen menetyksen
- Testien palautusmenettelyt: Varmuuskopiot ovat arvokkaita vain, jos ne voidaan palauttaa onnistuneesti
- Automatisoi ja valvo: Käyttää SQL Server Agentti, ylläpitosuunnitelmat ja valvontatyökalut
- Suojatut varmuuskopiot: Salaa arkaluontoiset tiedot ja hallitse varmuuskopiotiedostojen käyttöä
- Säilytä kopioita muualla kuin sivustolla: Suojaudu koko toimipaikkaa koskevilta katastrofeilta pilvi- tai etätallennuksen avulla
- Dokumentoi kaikki: Pidä yllä selkeää dokumentaatiota varmuuskopiointi- ja palautusmenettelyistä
16.2 Seuraavat vaiheet ja resurssit
Parantaaksesi omaa SQL Server varmuuskopion toteutus:
- Arvioi nykyistä varmuuskopiointistrategiaasi parhaiden käytäntöjen perusteella
- Laske RTO- ja RPO-tarpeesi
- Testien palautusmenettelyt ei-tuotantojärjestelmissä
- Tarkista ja päivitä varmuuskopiointiaikatauluja säännöllisesti
- Ota käyttöön automaattinen valvonta ja hälytysjärjestelmä
- Kouluta tiimin jäseniä palautusmenettelyissä
Lisäresurssit:
- Microsoft SQL Server Dokumentaatio: Viralliset varmuuskopiointi- ja palautusohjeet
- SQL Server varmuuskopiointiyhteisön foorumit: Jaa kokemuksia ja ratkaisuja
- Ammattisertifikaatit: Microsoft-sertifioitu: Azure-tietokannan järjestelmänvalvojan apuohjelma
16.3 Suositellut työkalut ja ratkaisut
Eri skenaarioiden perusteella:
Pienet yritykset:
- Syntyperäinen SQL Server varmuuskopiointi ajoitettuna SQL Server Agentin työpaikat
- SQLBackupAndFTP pilviintegraatiota varten
- Azure-varmuuskopiointi SQL Server
Keskisuuret yritykset:
- SQL Server Huoltosuunnitelmat
- Kolmannen osapuolen työkalut, kuten Redgate SQL Backup Pro
- Veeam-varmuuskopiointi SQL Server
Suuret yritykset:
- Quest LiteSpeed maksimaalisen puristuksen saavuttamiseksi
- Commvault tai Veritas NetBackup yritystason varmuuskopioiden hallintaan
- Aina käytettävissä olevat saatavuusryhmät kohteelle korkean käytettävyyden
SQL Server Varmuuskopiointi on olennaista tietokannan hallinnassa. Asianmukaisella suunnittelulla, toteutuksella ja testauksella voit varmistaa, että tietosi pysyvät suojattuina ja palautettavissa tarvittaessa.tart ottamalla nämä parhaat käytännöt käyttöön jo tänään suojataksesi SQL Server tietokantoja.
kirjailijasta
Yuan Sheng on kokenut tietokannan ylläpitäjä (DBA), jolla on yli 10 vuoden kokemus alalta SQL Server ympäristöissä ja yritystietokantojen hallinnassa. Hän on onnistuneesti ratkaissut satoja tietokantojen palautustilanteita rahoituspalveluissa, terveydenhuollossa ja valmistusorganisaatioissa.
Yuan on erikoistunut SQL Server tietokannan palautus, korkean käytettävyyden ratkaisut ja suorituskyvyn optimointi. Hänen laajaan käytännön kokemukseensa kuuluu usean teratavun tietokantojen hallinta, Always On Availability Groupsin käyttöönotto sekä automatisoitujen varmuuskopiointi- ja palautusstrategioiden kehittäminen kriittisille liiketoimintajärjestelmille.
Teknisen asiantuntemuksensa ja käytännönläheisen lähestymistapansa avulla Yuan keskittyy luomaan kattavia oppaita, jotka auttavat tietokannan ylläpitäjiä ja IT-ammattilaisia ratkaisemaan monimutkaisia ongelmia. SQL Server haastaa tehokkaasti. Hän pysyy ajan tasalla uusimmista SQL Server julkaisuja ja Microsoftin kehittyviä tietokantateknologioita, testaten säännöllisesti palautusskenaarioita varmistaakseen, että hänen suosituksensa vastaavat todellisia parhaita käytäntöjä.
Onko sinulla kysyttävää SQL Server palautus tai tarvitsetko lisäohjeita tietokannan vianmääritykseen? Yuan toivottaa sinut tervetulleeksi palautetta ja ehdotuksia näiden teknisten resurssien parantamiseksi.











