säkra upp ett job i sql2005

Databaser & SQL

1 svar · 180 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#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.

245 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)