Aracılığıyla paylaş


SQL Server aracısı işler oluşturma

sql-dmo sonraki kaldırılır sürüm Microsoft sql Server'ın.Yeni geliştirme çalışmaları içinde sql-dmo özelliği kullanmaktan kaçının ve sql-dmo kullanan uygulamaları değiştirmek plan.

Bu örnekler oluşturma sql Server Agent işleri göstermektedir.

sql Server Aracısı oluşturmak için sql Distributed Management Objects (sql-dmo) kullanmak iş göre:

  • Oluşturma ve doldurma bir Job nesne.

  • Ekleme Job itiraz Jobs koleksiyon , bir JobServer nesne.

  • Oluşturma ve doldurma bir veya daha fazla JobStep nesneler.

  • Değiştirilmesini Job nesnesi ekleyerek, JobStep için oluşturulan nesneleri JobSteps koleksiyon.

Oluşturulan iş ile yürütme hedef gösteriyor.Örnekleri hakkında daha fazla bilgi için bkz: sql Server Agent işleri hedefleme.

Not

sql Server aracısı yürütülebilir alt sistemler için iş adımları uygular.Yönetici görevi tanımlayan metin seçilen yürütülebilir alt sistemi tarafından yorumlanır.Örnekler içinde tek bir yürütülebilir alt sistemi tarafından örneği oluşturulan işi tüm iş adımları kullanın.Bu uygulama yalnızca Netlik uygulanmaktadır.

Örnekler

A.Creating a Job Containing a Transact-SQL Command Batch

Bu örnek, çok adımlı bir iş yaratmayı gösterir.Her işlem adımını bir Transact-sql komutu toplu iş iş işlemi kullanılarak tanımlanır.

Bu örnekte:

  • Oluşturur bir Job nesne ve bu nesneye ekler bir Jobs koleksiyon sql Server Aracısı oluşturmak için iş.

  • Alır Tables koleksiyon , bir Database nesne.

  • Her Table , nesne koleksiyon:

    • Oluşturur bir JobStep nesne.

    • Uses the Name property of the Table object to build a Transact-SQL command batch to set the Commandproperty of the JobStep object.

    • Varsayılan iş akış denetimi mantığını oluşturur.

    • Ekler JobStep itiraz JobSteps koleksiyon , Job nesne.

  • iş için bir başlangıç adımı atar ve mantığı son adım için ayarlar.

  • Tamamlama değişiklikleri iş.

    ' Table object used in iteration over Tables collection.
    Dim oTable As SQLDMO.Table
    
    Dim oJob As New SQLDMO.Job
    Dim oJobStep As SQLDMO.JobStep
    Dim idStep As Integer
    
    ' Create the SQL Server Agent job. Job will perform an update
    ' of all optimizer-supporting data distribution statistics.
    oJob.Name = "Northwind_Statistics_Update"
    oSQLServer.JobServer.Jobs.Add oJob
    
    ' Alter the job, adding job steps and setting starting step.
    oJob.BeginAlter
    
    ' Each JobStep contains the Transact-SQL command batch
    ' updating statistics for a table.
    idStep = 0
    For Each oTable In oSQLServer.Databases("Northwind").Tables
        ' Only applies to user defined tables....
        If oTable.Attributes <> SQLDMOTabAtt_SystemObject Then
            Set oJobStep = New SQLDMO.JobStep
    
            idStep = idStep + 1
    
            oJobStep.Name = "Northwind_Statistics_Update_Step_" & idStep
            oJobStep.StepID = idStep
    
            oJobStep.DatabaseName = "Northwind"
            oJobStep.SubSystem = "TSQL"
    
            ' TSQL uses the [] syntax to quote table identifers.
            oJobStep.Command = "UPDATE STATISTICS [" & oTable.Name & _
                "] WITH FULLSCAN, NORECOMPUTE"
    
            ' Default logic. Amended below.
            oJobStep.OnFailAction = SQLDMOJobStepAction_QuitWithFailure
            oJobStep.OnSuccessAction = SQLDMOJobStepAction_GotoNextStep
    
            oJob.JobSteps.Add oJobStep
        End If
    Next oTable
    
    ' Reset the logic flow for the last job step to indicate success.
    oJob.JobSteps.ItemByID(idStep).OnSuccessAction = _
        SQLDMOJobStepAction_QuitWithSuccess
    
    ' Set the starting step for the job.
    oJob.StartStepID = 1
    
    ' Alter the job.
    oJob.DoAlter
    

B.Creating a Job Containing an Operating System Command

Bu örnek, tek adımlı bir iş yaratmayı gösterir.iş adımı işletim sistemi komutu kullanılarak tanımlanır.

Bu örnekte:

  • Oluşturur bir Job nesne ve bu nesneye ekler bir Jobs koleksiyon sql Server Aracısı oluşturmak için iş.

  • Oluşturur bir JobStep nesne.

  • Atar Command ve SubSystem özelliklerini belirtmek bir işletim sistemi komutu.

  • Ekler JobStep itiraz JobSteps koleksiyon , İş nesne.

  • İş ve iş mantığı için bir başlangıç adımı atar.

  • Tamamlama değişiklikleri iş.

    Dim oJob As New SQLDMO.Job
    Dim oJobStep As New SQLDMO.JobStep
    
    Dim strQuote As String
    
    strQuote = Chr$(34)
    
    ' Create the SQL Server Agent job. Job will send a network
    ' popup message.
    oJob.Name = "NetSend"
    oSQLServer.JobServer.Jobs.Add oJob
    
    ' Alter the job, adding job steps and setting starting step.
    oJob.BeginAlter
    
    ' The job is implemented using a single step.
    oJobStep.Name = "NetSend_1"
    oJobStep.StepID = 1
    
    ' Set the job step exucatable subsystem. For operating
    ' system command job steps, the subsystem is "CmdExec"
    oJobStep.SubSystem = "CmdExec"
    
    ' Job step script is:
    '
    ' Net Send SEATTLE1 "Now is the time for all good men " & _
    '    "to come to the aid of the party."
    oJobStep.Command = _
        "Net Send SEATTLE1 " & strQuote & _
        "Now is the time for all good men to come to the " & _
        "aid of the party." & strQuote
    
    ' Logic for a single-step job.
    oJobStep.OnFailAction = SQLDMOJobStepAction_QuitWithFailure
    oJobStep.OnSuccessAction = SQLDMOJobStepAction_QuitWithSuccess
    
    oJob.JobSteps.Add oJobStep
    
    ' Set the starting step for the job.
    oJob.StartStepID = 1
    
    ' Alter the job.
    oJob.DoAlter
    

C.Creating a Job Containing an Active Script Command

Bu örnek, tek adımlı bir iş yaratmayı gösterir.iş adım, Microsoft ActiveX komut dosyası dili kullanılarak tanımlanır.

Bu örnekte:

  • Oluşturur bir nesne ve bu nesneye ekler bir Jobs koleksiyon oluşturma bir sql Server Agent işi.

  • Oluşturur bir JobStep nesne.

  • Atar Command, SubSystem, ve DatabaseName Özellikler, ActiveX dil belirtmek için komut

  • Ekler JobStep itiraz JobSteps koleksiyon , Job nesne.

  • İş ve iş mantığı için bir başlangıç adımı atar.

  • Tamamlama değişiklikleri iş.

    Dim oJob As New SQLDMO.Job
    Dim oJobStep As New SQLDMO.JobStep
    
    Dim strNewLine As String
    Dim strQuote As String
    
    strNewLine = Chr$(13) & Chr$(10)
    strQuote = Chr$(34)
    
    ' Create the SQL Server Agent job. Job will perform an update
    ' of all optimizer-supporting data distribution statistics.
    oJob.Name = "Northwind_Statistics_Update_ActiveScript"
    oSQLServer.JobServer.Jobs.Add oJob
    
    ' Alter the job, adding job steps and setting starting step.
    oJob.BeginAlter
    
    ' Define the job's single step.
    oJobStep.Name = "Northwind_Statistics_Update_ActiveScript_1"
    oJobStep.StepID = 1
    
    ' Set the job step executable subsystem. For ActiveX Script
    ' job steps, the DatabaseName property records the script
    ' interpreter selected.
    oJobStep.SubSystem = "ActiveScripting"
    oJobStep.DatabaseName = "VBScript"
    
    ' Job step script is:
    '
    ' Set oSQLServer = CreateObject("SQLDMO.SQLServer")
    '
    ' oSQLServer.LoginSecure = True
    ' oSQLServer.Connect
    '
    ' oSQLServer.Databases("Northwind").UpdateIndexStatistics
    '
    ' oSQLServer.DisConnect
    ' Set oSQLServer = Nothing
    
    oJobStep.Command = _
        "Set oSQLServer = CreateObject(" & _
        strQuote & "SQLDMO.SQLServer" & strQuote & ")"
    
    oJobStep.Command = oJobStep.Command & strNewLine & strNewLine
    
    oJobStep.Command = oJobStep.Command & _
        "oSQLServer.LoginSecure = True"
    
    oJobStep.Command = oJobStep.Command & strNewLine
    
    oJobStep.Command = oJobStep.Command & _
        "oSQLServer.Connect"
    
    oJobStep.Command = oJobStep.Command & strNewLine & strNewLine
    
    oJobStep.Command = oJobStep.Command & _
        "oSQLServer.Databases(" & strQuote & "Northwind" & _
        strQuote & ").UpdateIndexStatistics"
    
    oJobStep.Command = oJobStep.Command & strNewLine & strNewLine
    
    oJobStep.Command = oJobStep.Command & _
        "oSQLServer.DisConnect"
    
    oJobStep.Command = oJobStep.Command & strNewLine
    
    oJobStep.Command = oJobStep.Command & _
        "Set oSQLServer = Nothing"
    
    oJobStep.Command = oJobStep.Command & strNewLine
    
    ' Logic for a single-step job.
    oJobStep.OnFailAction = SQLDMOJobStepAction_QuitWithFailure
    oJobStep.OnSuccessAction = SQLDMOJobStepAction_QuitWithSuccess
    
    oJob.JobSteps.Add oJobStep
    
    ' Set the starting step for the job.
    oJob.StartStepID = 1
    
    ' Alter the job.
    oJob.DoAlter