İşlevsel tasarım hataları ve SQL Server Management Studio


İşlevsel tasarım, hayatın her aşamasında var ve önemli. SQL Server Management Studio'daki ufak bir işlevsel tasarım hatasının, onlarca sitenin durmasına nasıl neden olduğunu okuyun.

Olay: "New Query" düğmesiyle bir pencere açıldı ve bir SQL yazıldı. Bir tablodan diğerine

INSERT INTO ... SELECT FROM....

...ifadesiyle kayıt aktarıldı. "New Query" ile yeni bir pencere daha açıldı. Bu kez, doldurulan tablodaki kayıt sayısı

SELECT count(*) FROM ...

ile saydırılmak istendi. Fakat, bu SQL hiç cevap vermedi. Birkaç kez "Execute" edilir ama işe yaramadı. Bu arada, SQL Server'ı kullanan ColdFusion siteleri tamamıyla kapandı. ColdFusion hizmet veremez hale geldi.

Soru: Sizce sorun nedir?

Yanıt: Açılan ilk New Query penceresindeki INSERT ifadesini "commit" etmek unutulmuştur. Commit edilmemiş bir TRANSACTION işlemi mevcut olduğundan, SQL Server, tabloda COUNT(*) işlemi yaptırmadı. Benzer şekilde, sitelerdeki SQL ifadeleri bekletildi. Çünkü, commit edilmemiş INSERT ifadesi için tablo kilitlenmiş ("lock") durumdadır. SQL Server yanıt vermediği için, hem SQL Server'da hem de ColdFusion'da açık connection sayısı artar, artar, ColdFusion kilitlenir.

Çözüm: Açılan ilk Query penceresinin kapatılması gerekiyor. Zira; pencere kapatılmadığı sürece, TRANSACTION'nun commit edilmesi mümkün değildir; "commit edeyim mi" diye tek onay mesajı pencere kapatılırken görüntülenmektedir, hiçbir yerde "Commit" düğmesi yoktur. Pencereler kapatılmış, TRANSACTION'lar commit edilmiş, sorunlar ortadan kalkmıştır.

SQL Server 2005 client'ındaki diğer bir işlevsel tasarım sorunu, yanlış veritabanında işlemler yapmanıza neden olabilir!:

Sorun: Client'ın araç çubuğunun sol kısmındaki New Query düğmesini kullanırsanız, "rastgele" bir veritabanına bağlantı kurulur ve bir SQL penceresi açılır. Eğer, bağlantının hangi veritabanına kurulduğunu kontrol etmezseniz, yanlış veritabanında işlem yapmanız işten bile değildir!

Çözüm: Araç çubuğundaki New Query düğmesini oradan kaldırın. Veritabanında bir SQL çalıştırmak için, veritabanını sağ tıklatın; New Query komutunu verin. Böylece; seçtiğiniz veritabanına bağlantı kurulacaktır.

 

Bookmark and Share

  Kağıda Bas      Mail Gönder      Yorum Ekle   

«
                                                     
»
Workcube Çözümler
B2B - Partner Busines Portal / B2C - Business To Customer Portal / BCM - Budget Control Management / BPM - Business Process Management / CRM - Customer Relationship Management / DAM - Digital Asset Management / E-Business Portal Enterprise / E-Business Portal Plus / E-Business Portal Pro / E-Business Portal Standard / ECM - Enterprise Content Management / ERP - Enterprise Resource Planning / HR- Human Resource Management / LMS - Learning Management System / PAM - Physical Asset Management / PMS - Project Management System / SCM - Supply Chain Management / WorkcubeTV /

Workcube Modüller
Account (Customer & Supplier) Management / Accounting / Analysis and Reporting / B2B System Management / B2C System Management / Bank / Budget Planning / Calendar / Call Center Management / Campaign Management / Cash / Cheque / Content Management - Literature / Contract Management / Correspondence & Communication Management / Costs & Expenses / Credit and Fund Management / CTI System Integration / Current Accounts / Digital Archive / e-Profile / Executive Suite / Finance Management – General / Fixed Assets / Forum / HR – Career Portal / HR – Payrolls, Benefits and Compensations / HR – Performance Management / HR - Recruitment / Installment Sales / Inventory Management / Invoices / Learning Management / My Home - Personalization / Online Classroom and Streaming / Online Payment Integration / Online Procurement / Opportunity Management / Organization Planning / PDA Portal / Physical Asset Management / Planning and Scheduling / POS Integration / Price, Promotion and Action Management / Product Management / Production Management / Project Management / Purchase Proposals / Purchase Orders / Quota Planning / Risk and Assurance Management / Role Planning / Route (Visit) Management / Sales Orders / Sales Planning / Sales Proposals / Service and Warranty Management / Shipments and Logistics / Store – Branch Management / Subscription Management / System Management / Warehouse Management / Work Flow and Process Management / WorkDev Development Kit (Source Code) /


 
 

Canlı İletişim İş Ortağı Giriş Müşteri Giriş



Workcube e- business Inc.

www.workcube.com, info@workcube.com, contact: 90 216 428 39 39