13. maj 2005 - 12:15Der er
16 kommentarer og 1 løsning
Backup af SQL uden smart software
Jeg har lige installeret en MS SQL 2K
Alle datafilerne ligger i en mappe under d-drevet Alle log filerne ligger i en mappe uder c-drevet.
Jeg vil meget gerne tage en daglig backup (evt. incremental) af alle databaser på servere.
Mit problem er umiddelbart at jeg ikke har noget backup software med en specialiceret agent til SQL Server.
Er det muligt blot at lave en fil backup af Data og Log filerne gennem f.eks NT Backup ? Vil man kunne restore databaserne udfra filerne, uden at skulle stå på et ben med hønseæg i hånderne i flere timer ? Andet ?
NB. Jeg benytter tape drev.
På forhånd tak!
(Jeg sørger også svar på samme spørgsmål omkring en MySQL 4.1 installation, men hvis der ikke kan svares på det her, opretter jeg selvf. bare samme spørgsmål i den rette kategori)
...nu havde jeg forstillet mig at backup'en skulle køre unattended, dvs. at jeg ikke er interesseret i at skulle kører et script for hver database for at lave backup'en.
Er der ikke en mulighed for at lave en batch på alle databaserne (evt. over i .bak filer), en timer før min fil backup rutine kører (kl. 02:00 hver nat).
Dermed også ment at jeg ikke ønsker at skulle ændre på mit batch job (script), for hver gang der oprettes en ny database på serveren. De skal bare automatisk blive includeret.
nu siger du ikke noget om hvad det er for en mssql du har msde eller personal/enterprise. jeg ved ikke om jobs virker i msde men du kan da prøve :).
Hvis du har personal/enterprise så kan du bruge enterprise manageren til at lave stored proc og job i men da jeg ikke ved det for du det som t-sql.
Først stored proc -------------------------------------------------------------------------------
USE master
CREATE PROCEDURE sp_backup AS
DECLARE @dbname nvarchar(50) DECLARE dbnames CURSOR FOR SELECT name FROM sysdatabases WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb')
OPEN dbnames FETCH NEXT FROM dbnames INTO @dbname
WHILE @@FETCH_STATUS = 0 BEGIN BACKUP DATABASE @dbname TO DISK = 'c:\' + @dbname + '.BAK' WITH INIT , NOUNLOAD , NAME = N'tlcdanmark', NOSKIP , STATS = 10, NOFORMAT
FETCH NEXT FROM dbnames INTO @dbname END
CLOSE dbnames DEALLOCATE dbnames GO
------------------------------------------------------------------------------- Og så laver vi et job.. For at job virker skal SQL Server Agent være kørende og som sagt ved jeg ikke om det virker på msde. -------------------------------------------------------------------------------
I Enterprise manager / vælg Database/all task/maintanence plan (følg guiden) Her kan du definere hvilke databaser der skal laves backup af og hvor ofte...
LOOONG time no see ;) undskyld har været på for mange kurser hehe.....
Når du skal restore gør du bare på "næsten" samme måde...
Du højreklikker simpelthen bare på den DB du skal restore, og klikker så, all task og så, Restore Database, der kan du så restore fra... chk dato for restore... Du finder hurtigt ud af hvordan det fungerer ;) (ellers skriv)
og hvad angår LOGs, så er det kun for din egen skyld, hvis du har behov for at gemme netop den log...
Hej fra WizDom
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.