Toon posts:

[MS SQL]Backup op andere server

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
OK, hier ben ik weer...Begint stilaan beschamend te worden voor mij maar dit zijn dingen waar ik echt niet genoeg kennis voor heb.

Wat is het probleem?
Wel ik ben bezig met een ledenbeheer web-applicatie te maken. Die applicatie maakt gebruikt van ASP.NET (C#) en MS SQL. Zoals zoveel applicaties wil ik uiteraard ook een backup-mogelijkheid voorzien. En het is daar waar het probleem tevoorschijn komt.

Ik gebruik een SqlCommand "BACKUP DATABASE ... TO DISK '...'". Nu had ik gehoopt dat die 'disk' relatief is ten opzichte van de pc waarop het statement wordt uitgevoerd. Dit blijkt niet zo te zijn en de 'disk' is dus gewoon ten opzichte van de ms sql server.

Het probleem is nu dat de SQL-server NIET dezelfde is als de webserver. Dat wil zeggen dat als het SQL-statement uitgevoerd wordt, de backup op de sql-server gezet wordt en niet op de webserver. Jammer genoeg kan ik de sql-server niet via internet benaderen om daar van te downloaden (ik probeerde al om hem te benaderen maar die url is onvindbaar in IE) Ik wil nu een manier vinden om de database-backup toch op mijn webserver te krijgen. Ik heb al geprobeert op de 'disk' gewoon te vervangen naar een ftp-adres maar dat werkt niet.

Mijn favoriete oplossing zou zijn dat ik ergens kan instellen dat die 'disk' variabele relatief ten opzichte van de pc waarop het statement wordt uitgevoerd is. Zo zou de backup wel correct staan maar dat lukt waarschijnlijk niet.

Ik veronderstel dat MS SQL hier toch op voorzien moet zijn omdat deze situatie volgens mij wel vaker voorkomt dan enkel bij mij.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

Als er een trust relatie bestaat of beide machines zitten in een domein, dan kan je als de Agent service een domein account is, een share gebruiken om een backup te maken dan wel te restoren.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


Verwijderd

Topicstarter
c70070540 schreef op woensdag 06 april 2005 @ 18:44:
Als er een trust relatie bestaat of beide machines zitten in een domein, dan kan je als de Agent service een domein account is, een share gebruiken om een backup te maken dan wel te restoren.
Ja daar had ik ook aan gedacht maar dan besefte ik plots dat je applicatie dan niet zo flexibel meer is. Als je van hosting verandert of de host verandert zijn eigen servers, dan begint plots alles in het honderd te lopen, wat dus niet aan te raden is.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

Is het noodzakelijk de backup van de server af te halen? Is het niet zo, dat als je een backup maakt naar de machine waar SQL op draait, dat de provider van die bestanden een backup maakt?

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


Verwijderd

Topicstarter
c70070540 schreef op woensdag 06 april 2005 @ 18:58:
Is het noodzakelijk de backup van de server af te halen? Is het niet zo, dat als je een backup maakt naar de machine waar SQL op draait, dat de provider van die bestanden een backup maakt?
Het is bij de host niet meteen toegelaten om ruimte op de ms sql-server in te palmen met backups. Bovendien is het dan zeer moeilijk om zelf een backup terug te plaatsen (kan gebeuren als er te veel fouten opgetreden zijn of zo die je snel ongedaan wilt maken) omdat je geen toegang hebt tot de ms sql-server en dus geen zicht hebt op welke bestanden er zijn die je kan gebruiken om een backup terug te plaatsen.

  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

Dan zal je toch echt moeten gaan bcp'en of zo denk ik... Ik begin te twijfelen of het wel mogelijk is wat je vraagt.

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


Verwijderd

MSSQL's backup systeem kan inderdaad alleen maar op locale partities.
Misschien dat je met replication de database kunt mirroren op een andere locatie, maar dat is nogal zwaar. Of anders zelf iets maken dat periodiek je tabellen ophaalt als XML ("select * from <tabel> for xml raw" of via de XML ondersteuning van ADO), en dan een restore-routine die XML weer terug kan pompen in de database?

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Verwijderd schreef op woensdag 06 april 2005 @ 21:27:
MSSQL's backup systeem kan inderdaad alleen maar op locale partities.
Je kunt toch backuppen naar een netwerkshare?

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-04 19:43

Gé Brander

MS SQL Server

P_de_B schreef op woensdag 06 april 2005 @ 21:35:
[...]

Je kunt toch backuppen naar een netwerkshare?
Inderdaad, dat kan!

Vroeger was alles beter... Geniet dan maar van vandaag, morgen is alles nog slechter!


Verwijderd

Dat kan inderdaad, maar Damoke gaf aan:
Jammer genoeg kan ik de sql-server niet via internet benaderen om daar van te downloaden
Dan is de kans vrij klein dat er een share naar zijn remote machine is...

'locale partities' was ietsje te ongenuanceerd, ik bedoelde drives die de MSSQL server via het Windows file system kan benaderen. En dan moet daar ook nog een locale drive-letter aan toegekend zijn. Voor zover ik weet kan MSSQL niet backuppen naar een UNC-path.

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Verwijderd schreef op woensdag 06 april 2005 @ 22:58:
Voor zover ik weet kan MSSQL niet backuppen naar een UNC-path.
UNC paden werken prima, mits de rechten in orde zijn. De user waar de Agent service (in het geval dat je de backup gescheduled hebt) onder draait moet schrijfrechten hebben op de machine waar je naar toe schrijft.

Today's subliminal thought is:


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Ok. als je dan vast gesteld hebt dat dit niet kan, lijkt het me tijd worden voor een beetje zelfwerkzaamheid. :+

Aangezien die backup eens in de x-uur/dagen (mss zelfs alleen als een user daarvoor een commando geeft), lees je zelf op die tijdstippen (dmv. cron-job, scheduled task etc.) gewoon alle data vanuit de database in en sla je die (mbv C# dus) zelf op waar je zelf wilt.

Lijkt me niet de meest ideale oplossing, maar ook niet al te moeilijk uitvoerbaar. ;)

[ Voor 7% gewijzigd door wizzkizz op 07-04-2005 10:58 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Verwijderd schreef op woensdag 06 april 2005 @ 19:01:
[...]

[knip] omdat je geen toegang hebt tot de ms sql-server en dus geen zicht hebt op welke bestanden er zijn die je kan gebruiken om een backup terug te plaatsen.
Normaalgesproken kan je sowieso de backup history van een database bekijken, dus zelf bladeren door de bestanden is dan niet nodig.

Maar begrijp ik je goed dat je uberhaupt geen toegang hebt tot de sql server? Hoe wil je de gemaakte backups dan restoren op je server?
Of heeft de database login die je gebruikt in je web-app, voldoende rechten hiervoor? Dat laatste lijkt me niet zo verstandig.

Today's subliminal thought is:


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 18:37
Als je wel remmote kan connecten met de sql server kan je ook een DTS package maken die de database naar een andere sql server kopieert, en deze 's nachts laten draaien (evt op low priority).

Roomba E5 te koop

Pagina: 1