SQL Server: Durdurma Sorguları Dışarıdan

2 Cevap php

Ben PHP ile SQLCMD yardımcı programını kullanarak sorgular çalıştırmak ve ben işlem kimliğini ya da bir şey geçirerek başka bir SQL komutu ile idam sorgu veya komut durdurmak için bir yol olup olmadığını bilmek istiyordu.

Daha kolay olurdu ben de bu şekilde yapmak için SQL Server için PHP Sürücüsü yararlanabilir?

Veya bu mümkün ilgilendirmez - Bir sorgu bunu durdurmak değil çalışır kez?

Tüm teşekkürler

2 Cevap

SQL Server, tüm yürütme süreçleri izler. Sen saklı yordamları kullanarak listeyi gözden geçirebilirsiniz SP_WHO ve SP_WHO2 - her süreç benzersiz bir SPID vardır.

Geçmişte, ben kopyaladım ve kendi amaçları için bu işlemlerin arkasında kod özelleştirilmiş.

Geçen bir SPID kullanılarak DBCC INPUTBUFFER (@SPID) idam sorguyu kontrol edebilirsiniz

Kullandığınız en süreçleri öldürür KILL @SPID

Onlar tam olarak ne yaptığını hakkında emin olmayabilir, çünkü genellikle süreçleri öldürmek için iyi bir fikir kabul edilmez olduğunu unutmayın.

O SQLCMD aradığınız nasıl değişir. Siz) (exec bir çağrı olarak çalıştırıyor musunuz? PHP komutları size kontrolü bir çok vermeyin.

Zaman alıcı bir şey yapıyorsanız, o Üretici-Tüketici mimarisini kullanmak daha iyi olabilir. Ana program (veritabanı, ya da bir metin dosyasına) çalıştırılacak komutu yayımlamak var. Ayrı bir işlem (başka bir PHP komut dosyası, belki de) komutu çalıştırmak var - ama SQLCMD başlamadan önce, o ana programa kendi süreç kimliğini (veya başka bir kolu) sağlaması.

Çok uzun sürüyor eğer, ana programda, sen olurken işlemi öldürebilir.

PHP exec fonksiyonu üzerinde bazı yorumlar aydınlatıcı olabilir: http://au2.php.net/manual/en/function.exec.php