KB4046745 - DÜZELTME: SQL Server 2014, 2016 veya 2017'de WHERE yan tümcesinde var olmayan bir bölüm işlevine başvurduğunuzda UPDATE deyimi sessizce başarısız oluyor

Uygulandığı Öğe
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise Core SQL Server 2017 Enterprise SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Belirtiler

Microsoft SQL Server 2014, 2016 veya 2017'de $PARTITION anahtar sözcüğünü kullanarak var olmayan bir bölüm işlevine başvuran bir UPDATE deyiminiz olduğunu varsayalım. Örneğin,

Not

UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1

Bu durumda, SQL ServerSQL Server bir güncelleştirme yapmaz veya NonExistingPartitionFunction nesnesinin var olmadığını belirten bir hata iletisi döndürmez. Ancak, kullanıcı perspektifinden bakıldığında, UPDATE ifadesinin başarıyla yürütüldüğü görülüyor, ancak aslında başarısız oldu.

Neden

Bir toplu işlemi yürüttüğünüzde, SQL Server ertelenmiş ad çözümlemesini (DNR) gerçekleştirebilir. Bu işlemde SQL Server, var olmayan bir nesneyle karşılaştığında hemen bir hata üretmez ve o nesneye başvuran deyimin yürütülmesinden önce nesnenin modül veya toplu iş tarafından oluşturulmasını bekler. Bölüm işlevleri için, SQL ServerSQL Server, DNR'yi doğru şekilde işlemez.

Daha Fazla Bilgi

DNR hakkında daha fazla bilgi için bkz: Ertelenmiş Ad Çözümlemesi.

Çözüm

Bu sorun, SQL ServerSQL Server için aşağıdaki toplu güncelleştirmelerde düzeltildi:

SQL Server 2016 SP1 için toplu güncelleştirme 8

SQL Server 2017 için Toplu Güncelleştirme 4

SQL Server 2014 SP2 için Toplu Güncelleştirme 9

SQL Server toplu güncelleştirmeleri hakkında:

SQL Server için her yeni toplu güncelleştirme, önceki toplu güncelleştirmeye dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. SQL Server için en son toplu güncelleştirmelere göz atın:

SQL Server 2016 için en son toplu güncelleştirme

En son toplu güncelleştirme SQL ServerSQL Server 2017

SQL Server 2014 için en son toplu güncelleştirme

Durum

Microsoft bunun, "Şunlar için geçerlidir" bölümünde listelenen Microsoft ürünlerinde sorun olduğunu doğrulamıştır.

Başvurular

Microsoft'un yazılım güncelleştirmelerini tanımlamak için kullandığı terminoloji hakkında bilgi edinin.