Jump to content

Uppdatering/konvertering av backupfil från MS SQL Server


ChristerE

Recommended Posts

Har installerat ett program på ny dator och innehållet i tillhörande databas kan hämtas från backup från befintlig dator via ett litet program "Backup & Restore" som tillhör "hela paketet". Med restore av en backupfil från den gamla datorn så ska man alltså kunna fortsätta jobba med programmet och databasen i nya datorn.

Har gjort så tidigare utan problem men nu fungerade det inte. Antar det kan bero på att installationen i nya datorn använde en senare version av databasprogrammet. Får vid restore av en backupfil följande felmeddelande. (Göra en backup från den nya, tomma, databasen fungerar utan problem.)

image.png.c27a7b0910f67dfa9f4a7bc346ee1ec1.png

Lite luddigt vad ... location than: "" innebär, har t ex provat att lägga backupfilen i samma mapp där installationen placerade den initiala databasfilen (.mdf) men det fungerade inte heller. Vid restore får man ange i vilken mapp man placerat backupfilen så det är inte där problemet finns.

Så frågan nu är hur man gör för att få med sig innehållet i databasen från den gamla datorn.
Går backupfilen att konvertera, eller finns det program som direkt kan hantera databasen från gamla datorn och uppgradera den?


Det bör handla om MS SQL Server 2005 Express i gamla (befintliga) datorn, men i "Program och funktioner" i Kontrollpanelen står det "Microsoft SQL Server 2005", inget om Express.

Installationen av själva programmet installerar också databasen, SQL Server. Uppdaterade programmet förra året och efter det var det fortfarande 2005 för databasen. Men det kan bero på att uppdateringen behöll befintlig databas. Nu vid installation i ny dator blev det en nyare version av databasen. Samma exefil används för uppdatering och för ren installation, och vid installationen i nya datorn uppfattade jag det som att installationsprogrammet hämtade databasinstallationen från nätet.

"Program och funktioner" i Kontrollpanelen:
Från gamla datorn.
image.png.164af3d5072d2af23dab71644f2bb6e0.png

Från nya datorn, där både 2012 och 2017 finns med.
image.png.fb4c6e447f3925d818799836a54bc704.png

Har googlat lite men frågar här i forumet så kanske någon redan har kunskap om hur det här kan lösas.

Gamla datorn har Windows 10, den nya Windows 11, men det borde inte ha med "problemet" att göra, tycker jag.
 

Link to comment
Share on other sites

16 timmar sedan, X-Men sade:

Har du provat att installera SQL Server 2005 (inte Expressversionen) i nya datorn? 

Nej, har inte provat det. Har ingen större erfarenhet av databaser mer än att använda redan installerade sådana. Eller som nu, följa en guide för att installera en databas, som i det här fallet hör ihop med ett program som sen använder databasen. Det är en lokal databas för endast en "klient", inte någon serverversion som flera ska kunna nå.

Programmet installerades (första gången) för över tio år sedan i en föreningsdator, och det innan jag blev ansvarig för programmet. Guiden från då anger SQL Server 2005 Express, som väl är fri att använda och som leverantören av programmet använder sig av. Programmet är köpt och kräver en licens för att fungera.

Artikeln du länkar till var en av dem jag fick träff på när jag själv googlade lite. Tänker att övriga versioner av SQL Server kostar pengar och funderade därför inte över att prova någon annan version. Dessutom ska väl då själva programmet konfigureras för att fungera ihop med databasen, vilket också kräver en del kunskap.

Tidigare installation i ny dator har fungerat liksom uppdatering av programmet. Det var nu det sket sig och jag ser då en nyare version av SQL Server i "Program och funktioner". I programmet anges sjäva programmets version för "Database version:", där ser man inget om SQL Server.

Programmet är ett register över flera 100-tal olika nycklar (med flera numrerade exemplar för varje nyckel) och med funktioner för ut- och inlämning, och utskrift av kvittenser. Är väl inte intressant för problemet men någon kanske undrar.

Kommer ingen lösning här i tråden så kontaktar jag leverantören av programmet, men kollar här ifall någon kanske har en lösning. Nyckelhanteringen kan skötas i befintlig dator tills det fungerar att flytta databasens innehåll till ny dator, så en lösning på problemet är inte akut.
 

Link to comment
Share on other sites

Erfarenhetsmässigt brukar den specifika SQL-servern till det program som behöver den också ingå i installationspaketet. Program som använder SQL-server 2005 kommer inte att fungera med nyare versioner av SQL-server om inte programmakaren gjort uppdatering av programmet som tillåter det. 
Ytterligare en erfarenhet jag har (från program som jag varit tvungen att ha i arbetet) är att installation av SQL Server, t.ex. 2005, inte kommer att fungera om det finns nyare versioner redan installerade. 

För att SQL-server 2005 skall fungera måste den installeras före nyare versioner då nyare versioner skriver in instruktioner i SQL Server 2005 som 2005 kan använda för att adressera till nyare. Om 2005 installeras efter nyare versioner kommer denna koppling inte att finnas då nyare versioner inte tillåter att äldre versioner implementerar instruktioner i dem.

Du, kan med andra ord, tvingas att avinstallera de nyare versionerna för att därefter installera dem igen, bara för att programmet som använder SQL Server 2005 skall kunna fungera.

Gå igenom installationspaketet för det program du använder och se om SQL Server finns med. Om så är fallet kan problemet med att SQL Server 2005 inte installeras beror på de nyare versionerna som är installerade.

Link to comment
Share on other sites

Posted (edited)
6 timmar sedan, X-Men sade:

Erfarenhetsmässigt brukar den specifika SQL-servern till det program som behöver den också ingå i installationspaketet.

Och så ser det ut att vara för det här programmet, det här installationspaketet. I alla fall att en SQL-server finns med, men att det den här gången blev en annan version.

6 timmar sedan, X-Men sade:

Program som använder SQL-server 2005 kommer inte att fungera med nyare versioner av SQL-server om inte programmakaren gjort uppdatering av programmet som tillåter det. 

Skulle då kunna vara en miss från programmakaren för det här installationspaketet.

6 timmar sedan, X-Men sade:

Ytterligare en erfarenhet jag har (från program som jag varit tvungen att ha i arbetet) är att installation av SQL Server, t.ex. 2005, inte kommer att fungera om det finns nyare versioner redan installerade. 

Den situationen finns inte för de installationer och uppdateringar som gjorts i några datorer som använts, och används, för det här programmet.

6 timmar sedan, X-Men sade:

För att SQL-server 2005 skall fungera måste den installeras före nyare versioner då nyare versioner skriver in instruktioner i SQL Server 2005 som 2005 kan använda för att adressera till nyare.

Installationsfilen/-paketet jag har installerar både programmet och databasen. Så att "trixa" på det sättet är inget som jag ger mig på.

6 timmar sedan, X-Men sade:

Gå igenom installationspaketet för det program du använder och se om SQL Server finns med.

Det är väl det som det gör, SQL Server finns med, eller menar du något annat än det jag tycker mig ha beskrivit om "installationspaketet"?


Tidigare installationer och uppgraderingar har fungerat utan problem. Installationen "flöt på", den här gången liksom tidigare, så jag noterade inte så noga vad som hände under processen. Men kollade förstås om förvalda alternativ borde ändras innan jag klickade vidare. 

Är jag osäker på om en avinstallation lämnar spår av föregående installation kan jag återställa datorn med en backup. Då kan jag göra en installation igen och vara mer uppmärksam på förloppet. Och hittar jag ingen lösning så är det ju bara att kontakta leverantören av programmet. 


TILLÄGG:
Fastnade i exemplen och förklaringarna och svarade på dem. Men installationen gick alltså bra och programmet går att starta, problemet är att det inte går att göra restore till databasen från en backupfil från befintligt program/databas.
 

Edited by ChristerE
Link to comment
Share on other sites

8 timmar sedan, ChristerE sade:

Skulle då kunna vara en miss från programmakaren för det här installationspaketet.

Har inte läst allt i tråden så noga men jag tycker att det blir "vanligare" att installationspaket hämtar det som behövs för installationen, när installationen sker.

Alltså att det sker en nerladdning från (ex.)Microsoft när det saknas något runtimebibliotek som kommer att behövas. Kan det då vara så att MS har länkat om och länkar till en version som inte lirar med din databas? Alltså då troligen en nyare version. Borde finnas bakåtkompabilitet kan tyckas men kanske det är/blir ett för stort steg, att databasen först måste konverteras?

Link to comment
Share on other sites

10 timmar sedan, ChristerE sade:

1. Och så ser det ut att vara för det här programmet, det här installationspaketet. I alla fall att en SQL-server finns med, men att det den här gången blev en annan version.

2. Skulle då kunna vara en miss från programmakaren för det här installationspaketet.

3. Den situationen finns inte för de installationer och uppdateringar som gjorts i några datorer som använts, och används, för det här programmet.

4. Installationsfilen/-paketet jag har installerar både programmet och databasen. Så att "trixa" på det sättet är inget som jag ger mig på.

5. Det är väl det som det gör, SQL Server finns med, eller menar du något annat än det jag tycker mig ha beskrivit om "installationspaketet"?


6. Tidigare installationer och uppgraderingar har fungerat utan problem. Installationen "flöt på", den här gången liksom tidigare, så jag noterade inte så noga vad som hände under processen. Men kollade förstås om förvalda alternativ borde ändras innan jag klickade vidare. 

7. Är jag osäker på om en avinstallation lämnar spår av föregående installation kan jag återställa datorn med en backup. Då kan jag göra en installation igen och vara mer uppmärksam på förloppet. Och hittar jag ingen lösning så är det ju bara att kontakta leverantören av programmet. 


TILLÄGG:
Fastnade i exemplen och förklaringarna och svarade på dem. Men installationen gick alltså bra och programmet går att starta, problemet är att det inte går att göra restore till databasen från en backupfil från befintligt program/databas.
 

Först och främst, allt jag skrivit i mitt första inlägg är baserat på yrkesmässiga erfarenheter där de program jag använt har haft olika versioner av SQL server. Jag ventilerade dem i mitt inlägg enbart som information och inte en lösning på problemet.

1. Om du använder samma installationspaket, där SQL-servern ingår, skall också samma version av SQL-server ingå. Den blir inte per automatik en nyare version. 

2. I de fall du använder en nyare version av ett program, som använder SQL-server än den som använts tidigare, blir det svårt att få databasen att integreras. Erfarenhetsmässigt har jag fått installera den ursprungliga versionen först och därefter uppgradera för att det skall fungera. 

3. Enligt dina bilder finns SQL Server 2005 i den ursprungliga datorn och inga fler. I den nya finns 2012 och 2017. Nog skiljer de sig från varandra.
De SQL-servrar jag haft är 2005, 2008 och 2012. För att de program som använder SQL-server 2005 har jag tvingats att avinstallera alla nyare versioner för att program för 2005 skall fungera.
Återigen vill jag påtala att det här är erfarenheter från yrkeslivet och inte en lösning på dina problem. Jag delar bara med mig.

4. Återigen, jag berättar ur egen erfarenhet. Jag har trixat med detta och jag har gjort samma sak för de kunder som köpt programmen från företaget jag jobbat för. Kunderna har inte förstått problematiken och inte heller vågat. Ansvaret föll på mig trots att det inte ingick i min arbetsbeskrivning.

5. I de programpaket som min arbetsgivare tillhandahöll inkluderade en mapp som heter "Prerequisites" där SQL-filerna finns. I vissa fall inkluderas även NetFramework av den/de versioner som också krävs för installationen av programmet. Det är inte alla programpaket som inkluderar allt utan vissa programtillverkare håller nere priset på sin vara genom att utelämna vissa element. Det här är vad jag menade med att du kanske skall se om allt finns med i paketet.

6. Installationen av de program jag använt har också gått bra, även när jag fick en ny arbetsdator där nyare versioner av SQL Server var förinstallerade. Problemet jag fick var att de äldre programmen inte fungerade som de skulle när man väl startade dem. Således var jag tvungen att avinstallera de förinstallerade SQL-servrarna och börja om från början igen.
SQL-Server skapar undermappar för varje enskild version i en huvudmapp. Filerna som finns i dessa mappar måste manuellt raderas för att en installation av en äldre version av SQL Server skall kunna fungera med ett äldre program.

7. Se de två sista meningarna i punkt 6. 
Du får kontakta leverantören av programmen för det är nog den lösning som kvarstår.

 

Jag vill på nytt påpeka att allt som är skrivet i mina två inlägg i denna tråd är baserat på yrkesmässiga erfarenheter. Jag har svurit ve och förbannelse över krånglet med användning av program som har sitt stöd i SQL-servrar då det ställer till mycket problem i och med att programmakarna inte bryr sig om att göra allt bakåtkompatibelt. Jag har också förståelse för att de inte ser till att programmen blir bakåtkompatibla eftersom det är en kostnadsfråga. All information är baserat på hur jag löst de problem som jag haft med SQL-servrar och de program som är kopplade till dem.
Värt att notera att i mitt fall är det ett och samma företag som ligger bakom de programprodukter jag använt mig av. Många av de produkter jag jobbat med har haft en livslängd på mer än 10 år. Det innebär att nya  moderna produkter, liksom uppgradering av produkterna, renderat i ny hårdvara och nya krav på programvaran. 

Link to comment
Share on other sites

1 timme sedan, Mikael63 sade:

Har inte läst allt i tråden så noga men jag tycker att det blir "vanligare" att installationspaket hämtar det som behövs för installationen, när installationen sker.

Alltså att det sker en nerladdning från (ex.)Microsoft när det saknas något runtimebibliotek som kommer att behövas. Kan det då vara så att MS har länkat om och länkar till en version som inte lirar med din databas? Alltså då troligen en nyare version. Borde finnas bakåtkompabilitet kan tyckas men kanske det är/blir ett för stort steg, att databasen först måste konverteras?

Ja, i moderna program brukar flera av dem hämta nödvändiga tilläggsprogram via internet. Det gäller i synnerhet de olika versionerna av NetFramework men sällan SQL-serverversioner.

Min erfarenhet av SQL-server och de program som använder sådana är att den äldsta versionen måste installeras först då nyare versioner "uppgraderar" de äldre utan att "skada" dem. En äldre version av SQL-server verkar inte tillåtas att skriva något i nyare versioner, vilket innebär att vissa instruktioner inte kommer med. Det gör att programmet som använder den äldre versionen inte hittar "rätt adress" och det går inte att få det att fungera som önskat, t.ex. få med innehåller i en redan befintlig databas.

Link to comment
Share on other sites

Tack för beskrivningar och tips. Tror det kanske fungerar som jag skrev i första inlägget, installationen/uppdateringen behåller databasen om den redan finns från en tidigare installation. Nu är situationen en annan där det inte finns någon befintlig databas vid installationen.

Lägger ingen mer tid på att fundera på det här utan det blir att ta kontakt med leverantören.
 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...