18. september 2004 - 00:48Der er
10 kommentarer og 1 løsning
Opdatere kolonne en gang om dagen?
Hej,
Jeg har søgt rundt omkring, men jeg er i tvivl om hvad jeg skal bruge for at kunne opdatere en kolonne i en tabel, f. eks. én gang om dagen. Så jeg kan tilføje f. eks. 10 til en værdi, helt automatisk. Jeg bruger MS SQL 2000.
hmm... det var værre ... det kræver stadig adgang til en eller anden form for job afviklings værktøj for at kunne gøre det på tid, og hvis du ikke har adgang til Enterprise Manager, har du vel heller ikke adgang til at benytte Windoze "Scheduled Tasks"..
jo det er serveren der afvikler de sql jobs du vil have til at opdatere databasen, så du bliver nødt til at have lov til at installere disse jobs på serveren på en eller anden måde.
Det følgende sql opretter et job i SQL Server. Jobbet eksekveres hver gang SQL Server starter ----------------------------------------------- Script start -- Script generated on 21-09-2004 10:33 -- By: sa -- Server: (LOCAL)
BEGIN TRANSACTION DECLARE @JobID BINARY(16) DECLARE @ReturnCode INT SELECT @ReturnCode = 0 IF (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = N'[Uncategorized (Local)]') < 1 EXECUTE msdb.dbo.sp_add_category @name = N'[Uncategorized (Local)]'
-- Delete the job with the same name (if it exists) SELECT @JobID = job_id FROM msdb.dbo.sysjobs WHERE (name = N'TSQL_Job_1') IF (@JobID IS NOT NULL) BEGIN -- Check if the job is a multi-server job IF (EXISTS (SELECT * FROM msdb.dbo.sysjobservers WHERE (job_id = @JobID) AND (server_id <> 0))) BEGIN -- There is, so abort the script RAISERROR (N'Unable to import job ''TSQL_Job_1'' since there is already a multi-server job with this name.', 16, 1) GOTO QuitWithRollback END ELSE -- Delete the [local] job EXECUTE msdb.dbo.sp_delete_job @job_name = N'TSQL_Job_1' SELECT @JobID = NULL END
kan ikke helt gennemskue hvad det er du gør, men burde men ikke kunne oprette et job i SQL Server Agent vha. stored procedures, så man får den "pæne" løsning alligevel?
Det koden gør er at den opretter/vedligeholder et job i scheduler via T-SQL. Om du opretter et job i scheduler, kan du bagefter exportere koden således at du kan styre dit job gennem T-SQL. Det job som blev oprettet i scheduler, er sat til at køre når SQL Server starter og kun der. Dvs. det er et alternativ til at oprette/vedligeholde et job gennem EM.
Jeg havde glemt at dette spørgsmål ikke var lukket, beklager. Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.