[MSSQL] Hoe een remote backup automatiseren?

Pagina: 1
Acties:

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 16:59
Titel zegt eigenlijk al genoeg denk ik :)

Ik beheer een MMORPG gameserver die gebruik maakt van een MSSQL database. Nu heb ik eigenlijk niet zo gek veel vertrouwen in de HD van de server (temeer niet omdat het arme beestje nu al anderhalve maand constant zit te swappen naar een 1.5GB pagefile), maar aangezien het hobby is ga ik er geen geld aan uitgeven voordat het verdient is, sue me.

Echter, nu ben ik al eens (voornamelijk door een ongelovelijke stomiteit van mezelf) de database met toendertijd 2500 accounts kwijtgeraakt en heb weinig zin die nachtmerrie nog eens te beleven. Om de een of andere reden was de autobackup (die elke 2 uur draait) in dat geval gestopt 2 weken voor de crash en had ik geen enkel alternatief. Sindsdien maak ik elke dag trouw een extra backup naar een externe PC door een backup job te laten draaien die een bestand in een gesharde map dondert en vervolgens dat bestand te kopieeren naar een andere PC in het netwerk

Nu ben ik ook maar menselijk en liever zie ik dat MSSQL DIRECT een backup maakt naar de netwerk PC. Echter, zowel bij een gewone backup als bij een backup naar een backup device heb ik niet de keuze voor een netwerkschijf, zelfs niet als ik die schijf eerst doormap. Zal wel een reden voor zijn, maar in mijn geval doe ik het liever toch maar wel. Dus vandaar mijn grote vraag:

Is het mogelijk een MSSQL backup job te maken die automatisch de backup op een externe locatie gooit?

Beide PC's draaien overigens Windows XP prof en de SQL server van de gameserver staat al in SQL Server Group van de externe PC (waar ik desgewenst ook een SQL server op kan draaien), maar ook als ik'm zo remote benader kan ik nog steeds slechts de interne HD's gebruiken.

(For the record, ik ben maar een hobyist, sinds een maandje aan het werk met MSSQL, dingen als een SAN zijn voor mij nog een raadsel, wat ik liever ook zo laat... ;))

[ Site ] [ twitch ] [ jijbuis ]


  • Gé Brander
  • Registratie: September 2001
  • Laatst online: 15-06 23:37

Gé Brander

MS SQL Server

Even google en je komt uit op:
http://www.winnetmag.com/...4025/SQLServer_14025.html

Dus: Niet de SQL Server 2000 service laten runnen onder het local system account maar een domain account, en via TSQL een job aanmaken waarin verwezen wordt naar een share...

code:
1
2
3
4
5
6
BACKUP DATABASE <databasenaam> TO  DISK = '\\<server>\<share>\<bestandsnaam>.bak' WITH INIT
    , NOUNLOAD
    , NAME = '<databasenaam>'
    , NOSKIP
    , STATS = 10
    , NOFORMAT


Het kan dus alleen met SQL Server draaiend onder een domain account, en in de netwerkshare de rechten minimaal op wijzig rechten voor datzelfde domain account. Ik heb het zojuist getest, en het werkt prima. Let wel op de juiste plaats quote's (') te plaatsen, anders werkt het niet.

(Het kan dus wel met het local system account volgens punt 2 in de link hierboven, maar dat is dus niet aan te raden vanwege security, iedereen mag dan opeens alles in je share, niet echt handig lijkt mij.)

[ Voor 133% gewijzigd door Gé Brander op 28-09-2004 06:04 ]

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