webForumDet fria alternativet

säkra upp ett job i sql2005

Databaser & SQL

1 svar · 173 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Hej, hej
I och med lite serverbyten m.m. så behöver jag göra ett temporärt job som flyttar poster från en databas på en server till en databas på annan server.
Detta är inga problem, jobbet ser ut så här och servrarna är ihopkopplade via linked servers:

INSERT INTO [srv2].[databasen].[dbo].[BulkMail]
     ([UserIDno]
      ,[Destination]
      ,[Source]
      ,[Subject]
      ,[Body]
      ,[Attachment]
      ,[Status]
      ,[SendDate]
      ,[CreateDate])
SELECT 
      [UserIDno]
      ,[Destination]
      ,[Source]
      ,[Subject]
      ,[Body]
      ,[Attachment]
      ,[Status]
      ,[SendDate]
      ,[CreateDate]
FROM [databasen].[dbo].[BulkMail];

DELETE FROM [databasen].[dbo].[BulkMail];

Detta job rullar och går, men:
Om man nu skulle ha oturen att en ny post kommer in emellan selecten och deleten så kommer den posten inte att flyttas över utan bara raderas.
Kan jag undvika detta? Eller är risken obefintlig att det händer?
Kan jag veta vilka poster som selectats och radera endast dessa?

Medlem sedan jan. 20013 406 inlägg
#2

Det ska väl gå att köa transaktioner. Vet dock inte exakt hur.

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)