Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да изпълним асинхронно съхранена процедура на sql сървър и да гарантираме, че е завършена

Вижте C# Task Parallel Library. Можете да създадете задача, която е много проста. Например...

    Task myTask= new Task(() => {
        Console.WriteLine(@"hello");
        //Call stored procedure here
    });
    myTask.start();

Това ще изпълни кода, обвит в задачата, паралелно с основната нишка. Ако искате да проверите дали задачата е изпълнена, можете да използвате

    if(myTask.IsCompleted())
    {
        Console.WriteLine(@"My task is finished");
    }

Този метод избягва промяната на съхранената процедура и позволява на C# да управлява производителността.

Редактиране:-И за да избегнете завършването на основната нишка първо добавете

    Task.WaitAll(myTask);

Това ще заспи основната нишка, докато задачата приключи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql Server 2008 R2 Management Studio – без Intellisense

  2. Избягване на блокиране на SQL с настройка на заявка:Съвети от Брент Озар

  3. Проблеми с разполагането на база данни

  4. Печат за дата и час по подразбиране на SQL Server?

  5. Инструкции SELECT на SQL Server, причиняващи блокиране