/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
MSSQL: Backup af DB fra ASP
Fra : Kasper Katzmann


Dato : 07-01-04 21:23

Hvordan får jeg nemmest taget en backup af en mssql database, når det skal
foregå fra en ASP-side?

Er det nødvendigt at oprette et dumpdevice eller kan man angive direkte i
backup-proceduren hvor min backup skal placeres? Hvis det er nødvendigt, er
det så umuligt at lave et 'IF Exists...' script for at tjekke om dumpdevicet
allerede er oprettet.

xfut: dk.edb.database

--
Mvh
Kasper Katzmann



 
 
Jens Gyldenkærne Cla~ (08-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-01-04 10:41

Kasper Katzmann skrev:

> Hvordan får jeg nemmest taget en backup af en mssql database,
> når det skal foregå fra en ASP-side?

Det kan gøres med T-SQL fra Query Analyzer - så mon ikke den samme
sql-sætning også kan køres fra asp (jeg har ikke prøvet).

> Er det nødvendigt at oprette et dumpdevice eller kan man
> angive direkte i backup-proceduren hvor min backup skal
> placeres?

Så vidt jeg kan se af min sql-bibel, så skal man oprette et device
først. Men det kan gøres ret enkelt med proceduren
sp_adddumpdevice:

EXEC sp_adddumpdevice 'DISK', 'KKbackup', 'D:\SQLBACKUP\KKback.bak'


> Hvis det er nødvendigt, er det så umuligt at lave et
> 'IF Exists...' script for at tjekke om dumpdevicet allerede er
> oprettet.


Godt spørgsmål. Jeg ved ikke hvordan sp_adddumpdevice opfører sig
hvis filnavnet eller devicenavnet findes i forvejen - men prøv evt.
selv. Umiddelbart ville jeg forsøge med noget fejlhåndtering, enten
direkte på sql-serveren eller evt. fra asp-siden.

BACKUP-kommandoen har en INIT/NOINIT-parameter som afgør om
eksisterende backups på det angivne device skal overskrives eller
ej, men det fordrer stadig - så vidt jeg kan se - at device't er
oprettet i forvejen.

Prøv at tjekke dokumentationen til BACKUP og sp_adddumpdevice og se
om der er noget du kan bruge. En anden mulighed er at lave din
backupprocedure via Enterprice Manager og derefter eksportere den
til et sql-script.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Kasper Katzmann (08-01-2004)
Kommentar
Fra : Kasper Katzmann


Dato : 08-01-04 22:09

Jens Gyldenkærne Clausen skrev:
> Kasper Katzmann skrev:
>> Hvis det er nødvendigt, er det så umuligt at lave et
>> 'IF Exists...' script for at tjekke om dumpdevicet allerede er
>> oprettet.
>
> Godt spørgsmål. Jeg ved ikke hvordan sp_adddumpdevice opfører sig
> hvis filnavnet eller devicenavnet findes i forvejen - men prøv evt.
> selv. Umiddelbart ville jeg forsøge med noget fejlhåndtering, enten
> direkte på sql-serveren eller evt. fra asp-siden.

Man får følgende fejl hvis man forsøger at oprette et device der allerede
eksisterer:

Add device request denied. A physical device named 'c:\dump\dump1.bak'
already exists.


--
Mvh
Kasper Katzmann
Katzmann Consulting
http://www.katzmann.dk



Peter Lykkegaard (08-01-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 08-01-04 22:51

Kasper Katzmann wrote:

> Man får følgende fejl hvis man forsøger at oprette et device der
> allerede eksisterer:
>
> Add device request denied. A physical device named 'c:\dump\dump1.bak'
> already exists.

Har du prøvet at pakke det ind i noget fejlhåndtering?
Jeg har noget lign. i et inst script

osql /E /d master /Q "EXEC sp_addumpdevice 'disk', 'MyDevice',
'D:\BCK\MyDevice.dat'"
osql /E /d master /Q "BACKUP DATABASE MyDB TO MyDevice"

- Peter



Stig Johansen (09-01-2004)
Kommentar
Fra : Stig Johansen


Dato : 09-01-04 05:26

Jens Gyldenkærne Clausen wrote:

> Så vidt jeg kan se af min sql-bibel, så skal man oprette et device
> først. Men det kan gøres ret enkelt med proceduren
> sp_adddumpdevice:

Det er ikke nødvendigt at oprette en device.
Kig efter
BACKUP DATABASE MinBase TO DISK='DitFilnavn', ....
Og husk også
BACKUP LOG osv..
hvis du ikke har truncate på.

--
Med venlig hilsen
Stig Johansen

Jens Gyldenkærne Cla~ (09-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-01-04 10:54

Stig Johansen skrev:

> Det er ikke nødvendigt at oprette en device.
> Kig efter
> BACKUP DATABASE MinBase TO DISK='DitFilnavn', ....

Sør'me så. Den mulighed var ikke beskrevet i min bog - men jeg kan
se den står i onlinemanualen. Kombinerer man med WITH INIT, har man
en simpel backuplinje der opretter en backup i en fil uanset om
filen findes eller ej.


> Og husk også
> BACKUP LOG osv..
> hvis du ikke har truncate på.

Nu er det ikke aktuelt for mig, men kan du uddybe hvad du mener med
at have "truncate på"?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Peter Lykkegaard (09-01-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 09-01-04 12:09


"Jens Gyldenkærne Clausen" wrote in a message

> > Og husk også
> > BACKUP LOG osv..
> > hvis du ikke har truncate på.
>
> Nu er det ikke aktuelt for mig, men kan du uddybe hvad du mener med
> at have "truncate på"?

Man køre med MSSQL i forskellige recovery models (bulk, simple, full)
Nogle af disse recovery modeller kræver man tager backup af transaction
loggen ellers vokser den ud over alle grænser

- Peter



Stig Johansen (09-01-2004)
Kommentar
Fra : Stig Johansen


Dato : 09-01-04 15:52

Jens Gyldenkærne Clausen wrote:

> Nu er det ikke aktuelt for mig, men kan du uddybe hvad du mener med
> at have "truncate på"?

Både og, jeg klippede bare lidt fra nogle beskrivelser jeg lavede for nogle
år siden til et projekt se:
<http://www.oes.dk/sw208.asp>

Med hensyn til 'den sk*de' transaktionslog og truncate, se det punkt, der
hedder MS SQLServer og Transaktionslog.

Bemærk, at det er skrevet til version 7.0. og der i 2K er ændret i opsætning
af options (Skærmdialoger osv.).

--
Med venlig hilsen
Stig Johansen

Jens Gyldenkærne Cla~ (09-01-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 09-01-04 12:47

Peter Lykkegaard skrev:

> Man køre med MSSQL i forskellige recovery models (bulk,
> simple, full) Nogle af disse recovery modeller kræver man
> tager backup af transaction loggen ellers vokser den ud over
> alle grænser

Gælder den indstilling hele serveren eller sættes den for hver
database? Og hvor ser man hvilken recovery model man benytter?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Peter Lykkegaard (09-01-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 09-01-04 12:57


"Jens Gyldenkærne Clausen" wrote in a message

> Gælder den indstilling hele serveren eller sættes den for hver
> database? Og hvor ser man hvilken recovery model man benytter?

Det gælder for hver database

Ent Man -> Databases -> MyDB
Højreklik -> Properties
Options -> Recovery Model

Det kan også sættes via scripts

- Peter



Peter Lykkegaard (08-01-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 08-01-04 22:44

Kasper Katzmann wrote:
> Hvordan får jeg nemmest taget en backup af en mssql database, når det
> skal foregå fra en ASP-side?
>
Lav noget automation via SQLDMO - du kan kikke i BOL efter kodeeksempler etc

- Peter



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste