SQL Server: Deyimler ve Toplu İşlemler ve İşlemler ve Bağlantılar


10

Sorum basit: Arasındaki farklar / benzerlikler / kardinaliteler nelerdir

  • işlemler
  • Partiler
  • Bağlantılar ve
  • tablolar

SQL Server'da?

Anladığım kadarıyla bir bağlantı, bir SQL Server örneği ve içinde toplu iş olarak gruplandırılmış deyim koleksiyonlarının yürütüldüğü bir istemci arasındaki tek bir iletişim kanalıdır. Bir toplu iş bir veya birkaç işleme örtük veya açık bir şekilde eşlenir. Bu doğru mu?


Yanıtlar:


4

Neredeyse.

Bir toplu iş sadece yürütülmesi gereken bir dizi komuttur. Bir işlem, başarılı veya başarısız olduğu garanti edilen bir komut kümesidir (yani, komutların yarısını tamamlayamaz ve sonra başarısız olursa, hepsi başarısız olursa).

Bildiğim kadarıyla SQL Server bağlantı havuzu kullanır, bu yüzden istemci fikri başına bir bağlantıya güvenmezdim.


1
Öyleyse, toplu işlem ve işlem arasındaki önem nedir? İşlem başına birden fazla toplu iş yapmak mümkün müdür? Tam tersi nasıl olur?

1
Bildiğim kadarıyla, toplu iş başına birden fazla işlem yapmak mümkündür, ancak işlem başına birden çok toplu iş yapmak mümkün değildir.
Mart'ta Cromulent

6

İşlemler ve Partiler iki bağımsız kavramdır. Her ikisi de bir ila birçok konfigürasyonda kullanılabilir.

İşlem blokları tek bir "iş birimi" dir, sql'ın ya tam olarak çalışması ya da hiç çalışmaması gereken bir kavramdır. Örneğin, birbirine bağlı iki tabloyu güncelleştirirseniz; her ikisi de veri değişikliğinin yapılabilmesi için başarılı olmalıdır. [ https://msdn.microsoft.com/en-us/library/ms174377.aspx]

Toplu iş bir Microsoft konseptidir. Microsoft tarafından oluşturulan sqlcmd ve osql gibi araçlarla, toplu iş tek bir yürütme planı sağlar. Örneğin, bir değişken oluşturup kümenin dışında kullanırsanız, araç bir hata atar. [ https://msdn.microsoft.com/en-us/library/ms188037.aspx]

Böylece, bir işlem bloğunda birden çok tabloyu güncelleyen birden çok toplu işiniz olabilir. Bireysel toplu yürütme planlarını ihlal etmedikleri sürece.

Ayrıca, bir toplu iş içinde, tablolar gibi veritabanı varlıkları arasında veri bütünlüğü sağlayan birden çok işlem bloğuna sahip olabilirsiniz.

Bağlantı, yalnızca sorguları sunucuda çalıştırmayı onaylayan iletişim anlaşmasıdır.

İfadeler, sorgu oluşturan ayrı satırlardır. GO (T-Sql toplu iş ayırıcı) ve BEGIN TRANSACTION (yeni işlem bloğunu başlatmak için ANSI SQL) ifadeleridir.


1

Partiler ve işlemler aynı seviyede mevcuttur. Bir toplu iş, başka türlü ilişkisiz SQL komutlarının bir koleksiyonudur. Bir işlem, tek bir deyim olarak çalışan (bu veritabanının diğer tüm kullanıcıları söz konusu olduğunda) SQL komutlarının bir koleksiyonudur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.