Hem SSIS hem de SSDT ile birlikte TFS / kaynak kontrolünü kullandığımız büyük bir ETL ve DW projesinde çalışıyorum.
Bugün, bir SSIS paketi bir veritabanı tablosuna BULK INSERT gerçekleştirirken, bu veritabanına karşı bir SSDT Şema Karşılaştırması gerçekleştirmenin mümkün olmadığını öğrendim. Bu talihsiz bir durum, çünkü bazı paketlerimizin tamamlanması oldukça uzun sürüyor. Veritabanı yapısındaki değişiklikleri veritabanının sürüm kontrolü için SSDT projemize kaydetmek amacıyla Şema Karşılaştırma işlevini kullanmak istiyoruz.
Biraz daha bakarak, SSDT Şema Karşılaştırma işlevinin OBJECTPROPERTY()
veritabanındaki tablolarda sistem işlevini çağıran bir SQL komut dosyası yürüttüğünü buldum . Özellikle benim durumumda, şu anda toplu eklenen bir tabloya atıfta varsa , herhangi bir çağrı OBJECTPROPERTY(<object_id>, N'IsEncrypted')
engellenmiş gibi görünüyor <object_id>
.
Visual Studio'da, SSDT Şema Karşılaştırması bir süre sonra zaman aşımına uğrar ve fark bulunmadığını iddia eder.
SSDT'de bu soruna geçici bir çözüm var mı, yoksa bir MS Connect hata raporu göndermeye çalışmalıyım?
Alternatif olarak, BULK INSERT bir SSIS paketinden oluştuğu için, bu ekleme OBJECTPROPERTY
işlemini tablodaki çağrıları kilitlemeden yapmanın bir yolu var mıdır? Düzenleme: SSIS OLE DB hedefleri, "Kilit Tablosu", ne diyorsa onu onay işareti kaldırabilirsiniz, ancak bu bazı durumlarda performans zarar verebilir. Bazı nesneler kilitli olsa bile, SSDT Schema Compare'in işini yapmasına izin veren bir çözümle daha fazla ilgileniyorum.