Aracılığıyla paylaş


SQL Server'da bir tablonun satırını güncelleştirmek için SQL Server Management Studio'yu kullanmaya çalıştığınızda hata iletisi alabilirsiniz

Bu makale, SQL Server'da SQL Server Management Studio kullanarak bir tabloyu güncelleştirmeye çalıştığınızda oluşan sorunu çözmenize yardımcı olur.

Özgün ürün sürümü: SQL Server
Özgün KB numarası: 925719

Belirtiler

Aşağıdaki senaryoyu değerlendirin. Microsoft SQL Server'da bir tabloyu güncelleştirmek için SQL Server Management Studio'yu kullanmaya çalışırsınız. Nesne Gezgini'de, tablonun adına sağ tıklarsınız ve sonra Tabloyu Aç'a tıklarsınız. Tablonun satırını güncelleştirirsiniz. Bu senaryoda, Microsoft SQL Server Management Studio iletişim kutusunda beklenmedik şekilde aşağıdaki hata iletilerinden birini alabilirsiniz:

  • Hata iletisi 1

    Sonuçlar bölmesinin son alınmasından bu yana veriler değişti. Değişikliklerinizi şimdi kaydetmek istiyor musunuz?

    (İyimser Eşzamanlılık Denetimi Hatası)

    Değişikliklerinizi yine de veritabanına kaydetmek için Evet'e tıklayın.

    Değişikliğinizi atmak ve bu satıra ilişkin geçerli verileri almak için Hayır'a tıklayın.

    Düzenlemeye devam etmek için İptal'e tıklayın.

    Not

    Bu hata iletisi iletişim kutusunda Evet'e tıklarsanız, satır doğru güncelleştirilir.

  • Hata iletisi 2

    Hiçbir satır güncelleştirilmedi.

    X satırındaki veriler işlenmedi.

    Hata Kaynağı: Microsoft.VisualStudio.DataTools.

    Hata İletisi: Güncelleştirilen veya silinen satır değerleri satırı benzersiz yapmaz veya birden çok satırı (N satır) değiştirir.

    Hataları düzeltin ve yeniden deneyin veya değişiklikleri iptal etmek için ESC tuşuna basın.

    Not

    Bu ileti iletişim kutusunu alırsanız, satırı güncelleştiremezsiniz.

Bu sorun, aşağıdaki koşullar doğruysa oluşur:

  • Tablo, metin veya ntext veri türünde bir veya daha fazla sütun içerir.

  • Bu sütunlardan birinin değeri aşağıdaki karakterleri içerir:

    • Yüzde işareti (%)
    • Alt çizgi (_)
    • Sol köşeli ayraç ([)
  • Tabloda birincil anahtar yok.

Not

Bu sorun, SQL Server veritabanındaki bir tabloyu güncelleştirmek için Microsoft Visual Studio'da Tablo Tasarımcısı'nı kullanmaya çalıştığınızda da oluşur.

Neden

Bu sorun, SQL Server Management Studio güncelleştirme işlemi için yanlış bir SQL deyimi oluşturduğundan oluşur. Tablo birincil anahtar içermediğinde, güncelleştirilecek satırı tanımlamak için tüm sütunların değerleri kullanılır. SQL Server Management Studio bu deyimi oluştururken metin, ntext veya görüntü veri türlerinin sütunlarını karşılaştırmak için yanlış karşılaştırma işleci (=) kullanılır.

Geçici çözüm

Bu sorunu geçici olarak çözmek için SQL Server Management Studio'da yeni bir sorgu penceresi oluşturun. Ardından, tablodaki satırı güncelleştirmek için bir SQL UPDATE deyimi çalıştırın.

Başvurular

UPDATE (Transact-SQL)