devotionMedlem sedan jan. 20013 582 inlägg Hej,
Jag hämtar data från en databas mha en annan databshanterare på en annan server.
Innan denna hämtning, måste jag försäkra mig om att posterna är rätt ifyllda och eventuellt göra en update.
På den databas som jag hämtar data ifrån är en SQL-express utan jobbhanterare. Den som hämtar ligger hämtningen schemalagd. kl 04:00.
Jag kan ju göra en update kl 03:00 mha windows schemaläggare, men det känns lite olustigt då de två servrarna inte har en aning om vad den andra gör...
Jag kan ju komma åt SQL-express från den skarpa SQL.
Min tanke är att uppdateringen anropas från den skarpa sql-databasen och på så sätt få en kontroll att verkligen uppdateringen görs, INNAN, resten körs igenom (dvs hämtningen)
Finns det lösningar för detta?
Stored Procedures eller functions?
Hur gör man detta bäst?
Mvh
Henrik
pebiMedlem sedan jan. 2005327 inlägg En stored procedure borde ju funka fint.
Det var ett tag sedan jag gjorde något mellan fflera servrar, så jag har det inte helt klart för mig, men i princip är det enkelt.
Om de två maskinerna ligger i samma domän eller i trusted domän skall det ju räcka att ange [servernamn].[databas].[ägare].[tabell] för att komma åt en tabell på en annan maskin.
Dvs, det skall väl funka med typ:
update [servernamn].[databas].[ägare].[tabell] set [fält] = 'Kalle Kula' where [fält] is null
Det kan vara lite lurgit med trust osv om de inte är med samma domän har jag för mig.
Annars, beroende på om det spelar ngn roll om data på sql express är korrekt efteråt kan du väl hämta data till "riktiga sql server" till en annan tabell och där manipulera och sedan skikca in den i produktionstabell.
/pebi
devotionMedlem sedan jan. 20013 582 inlägg Hej,
Jo, jag kan ju alltid köra en update.
Jag undrar väl egentligen om jag kan göra något, så att om inte uppdateringen går igenom skall detta signaleras på något sätt, och kanske stoppa den andra körningen.
Mvh
Henrik
adde2Medlem sedan maj 2000144 inlägg Håller på att plugga för SQL certifieringen 70-451, i studiematerialet dök DTC upp (Distributed Transaction Coordinator), har ingen bra koll på den, men det låter som om den skulle kunna lösa ditt problem.
Den ska kunna koordinera transaktioner över flera servrar.