SSRS sorgulama sırasında tabloyu kilitliyor mu?


9

Üst düzey DBA'm, varsayılan olarak SQL Query yürütmesinin tabloyu kilitlemediğini söyledi.

SQL Server Reporting Services (SSRS) raporumla ilgili bazı sorunlar yaşıyordum.

Bazı Googling yaptım ama hiçbir şey bulamadım.

SSRS raporları sorgulanan tabloları kilitliyor mu?

Bu davranışı özel olarak belgeleyen herhangi bir MSDN belgesi var mı?


Biz de aynı sorunu yaşadık. Teknik olarak sorularınıza bir cevap olmasa da SET TRANSACTION ISOLATION LEVEL, örneğin READ UNCOMMITTEDbirkaç kirli okuma riskini almazsanız, veri kümesi sorgularını başlatarak hızlı bir düzeltme yaptık .
Jeroen

Sadece gelecek için bir not olarak, sen 2012. SQL bir AlwaysOn kullanılabilirlik Grubu ile okunabilir ikincilleri raporlama yükü yönlendirebilir msdn.microsoft.com/en-us/library/hh882437.aspx
wBob

Yanıtlar:


7

Kısa cevap: Hayır

Uzun...

SQL Server, SSRS'nin bir sorgu gönderdiğini bilmiyor. Yani SSRS'den gelen sorgu diğer herhangi bir sorgu gibi çalışacaktır.

Sorgu iyileştiricinin SSRS sorgusu için bir tablo kilidi kullanmaya karar vermesi daha olasıdır. Tabii ki, bu farklı bir sorun olabilir, ama bu farklı bir soru


mm öyleyse SRSS o zaman sorgu yaptığı zaman tablo kilitlemeye çalışır?
melaos

T-SQL deyimi, T-SQL deyimine bağlı olarak bir tür kilitle veya başka bir türle sonuçlanır. Bu ifadenin nereden kaynaklandığına bağlı değildir (SSRS, sorgu penceresi, uygulama vb.)
Eric Higgins

4

benim kıdemli bana SQL Query yürütme için varsayılan olarak tablo kilitlemediğini söyledi.

Bu doğru. Ancak, bir sorgu anlamına gelmez olamaz bir tablo kilitleyin.

raporu aslında sorgulanan tabloları kilitler mi?

SSRS, veritabanında bir sorgu veya saklı yordam çalıştırarak raporu oluşturmak için kullanılan verileri alır.

Bu sorgu, geliştirici tarafından tanımlanır ve bu olabilir , bir tablo (ya da tablolar) kilitleme yalıtım düzeyine bağlı olarak ve pek çok satır kadar söz konusu son. (Aslında, bunu bilerek yapmak isteyebileceğiniz durumlar olabilir .) Sonuç olarak, kilitlemenin sorgu için nasıl çalıştığı geliştiriciye bağlıdır. SSRS bu sorunu sizin için çözemez. Bu yüzden herhangi bir belge yok.

Aşağıdakileri düşünün:

  • READ UNCOMMITTEDKirli okumalar uygunsa kullanma
  • Anlık görüntü yalıtım düzeyini etkinleştirme ve kullanma
  • Bekleme modunda günlük gönderimi ve salt okunur kopya için sorgular çalıştırılıyor

2

Rapor çalışırken herhangi bir kilit olduğunu nasıl anlarsınız? Raporun kaynağı olan sorguyu / depolanmış proc'u kontrol etmenizi ve kendi başına iyi çalıştığından emin olmanızı öneririm.

Kaynak sorgunun iyi çalıştığından eminseniz, SQL Server profiler kullanarak sorunu saptamaya çalışın. Aşağıdaki bağlantı yardımcı olabilir:
/programming/9107383/sql-server-profiler-capture-calls-to-your-databases-stored-procs-during-ssrs


çünkü raporu birkaç tarayıcıda çalıştırıyordum ve rapor kilitli olarak kilitli işlemin devam ettiği hatalarını almaya devam ediyor.
melaos

Bu durumda, büyük olasılıkla raporunuz başka bir kullanıcı tarafından kilitlenmiş olan verileri okumaya çalışıyor (örneğin, birisi aynı kaydı güncelliyor). Taranmamış verileri okumakta sorun yoksa, tüm "Select" deyimlerine "kilitsiz" ekleyebilirsiniz.
Gökyüzü
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.