sql Server tablo kaydetmeye çalıştığınızda hata iletisi: "Değişiklikleri kaydetme değil verilir"

Makale çevirileri Makale çevirileri
Makale numarası: 956176 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Bir tabloyu değiştirmek için veri tanımlama dili (ddl) kullanın ve sonra tabloyu Microsoft sql Server 2008'de kaydetmeye çalıştığınızda, aşağıdaki iletiyi alabilirsiniz:
Değişiklikleri kaydetme izni yok. Yapmış olduğunuz değişiklikleri aşağıdaki tablolarda bırakılan ve yeniden oluşturulması gerekir. Ya da yapılmış olan değişiklikleri yeniden veya engelle değişiklikleri kaydetme seçeneği etkin bir tabloya yeniden oluşturulması için tablo gerektirir.

Neden

Bu sorun, Tabloyu yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle seçeneği etkinse ve tabloya bir veya daha aşağıdaki değişiklikleri yapın:
  • Değiştirme Boşlara İzin Ver bir sütun için ayarlama.
  • Tablodaki sütunları yeniden sıralama.
  • Sütunun veri türünü değiştirin.
  • Size yeni bir sütun ekleyin.
Tablo meta veri yapısını değiştirebilir ve sonra tabloyu kaydetmek için tabloyu değiştirdiğinizde tablo bu değişiklikleri temel alarak oluşturulmaları gerekir. Tabloyu yeniden oluşturma işlemi sırasında bu meta veri kaybına ve doğrudan veri kaybına neden olabilir. Etkinleştirme, Tabloyu yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle seçeneğini Designer Bölümü sql Server Management Studio (ssms) seçenekleri Pencere, "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.

Pratik Çözüm

Bu soruna geçici bir çözüm için tablonun meta veri yapısında değişiklik yapmak için Transact-sql deyimlerini kullanın. Ek bilgi için sql Server Books Online'da aşağıdaki konuya bakın:

http://msdn.microsoft.com/en-us/library/ms190273.aspx

Örneğin at tablo türü datetime MyDate sütununu değiştirmek için kullanabileceğiniz null değerleri kabul Tablom adlı:

alter table MyTable alter column MyDate7 datetime NULL

Önemli Bu soruna geçici Tablo yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle seçeneğini kapatarak çalışmaz önerilir. Bu seçeneği kapatma riskleri hakkında daha fazla bilgi için "Daha fazla bilgi" bölümüne bakın.

Durum

Microsoft, "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Daha fazla bilgi

Değiştirmek için Tabloyu yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle seçenek için şu adımları izleyin:
  1. sql Server Management Studio'yu (ssms) açın.
  2. Üzerinde Araçlar menüsünü tıklatın Seçenekleri.
  3. Gezinti bölmesinde Seçenekleri penceresinde tıklatın Tasarımcılar.
  4. Seçin veya temizleyin Tabloyu yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle onay kutusunu işaretleyin ve sonra tıklatın TAMAM.
Not Bu seçeneği devre dışı bırakırsanız, tabloyu kaydederken, uyarılmaz yaptığınız değişiklikleri tablo meta veri yapısını değiştirmiş. Bu durumda, tabloyu kaydederken veri kaybı oluşabilir.

"Tablo yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle" seçeneği kapatma riski

Bu seçeneği kapatma, bir tabloyu yeniden oluşturmayı önlemek yardımcı olsa da, aynı zamanda değişikliklerin kaybolmasına neden olabilir. Örneğin, sql Server 2008, tablo için değişiklikleri izlemek için değişiklik izleme özelliğini etkinleştirme varsayalım. Tabloyu yeniden oluşturulması neden olan bir işlem gerçekleştirdiğinizde "Belirtiler" bölümünde açıklanan hata iletisini alırsınız. Bu seçeneği kapatmak için tablo oluşturulur ancak varolan değişiklik izleme bilgileri silinir. Bu nedenle, bu soruna seçeneğini kapatarak çalışmaz öneririz.

Bir tablo için değişiklik izleme özelliğinin etkin olup olmadığını belirlemek için şu adımları izleyin:
  1. sql Server Management Studio'da Object Explorertablosunu bulun.
  2. Tabloyu sağ tıklatın ve sonra Özellikler' i tıklatın.
  3. Değişiklik izlemeTablo Özellikleri iletişim kutusunda tıklatın.
Bu seçenek, Değişiklik izleme öğesinin değeri Trueise, tablo için etkinleştirilir. Değer Falseise, bu seçeneği devre dışı bırakılır.

Değiştir izleme özelliği etkin olduğunda, Transact-sql deyimlerini tablo meta veri yapısını değiştirmek için kullanın.

Sorunu yeniden oluşturma adımları

  1. sql Server Management Studio'da Table Designer aracında bir birincil anahtarı içeren bir tablo oluşturun.
  2. Bu tablo içeren bir veritabanını sağ tıklatın ve sonra tıklatın Özellikler.
  3. İçinde Veritabanı Özellikleri iletişim kutusunu tıklatın Değişiklik izleme.
  4. Değeri Değişiklik izleme Madde için TRUEve ardından TAMAM.
  5. Tabloyu sağ tıklatın ve sonra tıklatın Özellikler.
  6. İçinde Tablo Özellikleri iletişim kutusunu tıklatın Değişiklik izleme.
  7. Değeri Değişiklik izleme Madde için TRUEve ardından TAMAM.
  8. Üzerinde Araçlar menüsünü tıklatın Seçenekleri.
  9. İçinde Seçenekleri iletişim kutusunu tıklatın Tasarımcılar.
  10. Seçmek için tıklatın Tabloyu yeniden oluşturulmasını gerektiren değişiklikleri kaydetmeden engelle onay kutusunu işaretleyin ve sonra tıklatın TAMAM.
  11. Tablo Tasarımcısı Aracı'nda değiştirme Boşlara İzin Ver Varolan bir sütun ayarlama.
  12. Değişikliği tablo kaydetmeyi deneyin.

Özellikler

Makale numarası: 956176 - Last Review: 6 Haziran 2012 Çarşamba - Gözden geçirme: 1.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Anahtar Kelimeler: 
kbsqlsetup sql2008relnotetools sql2008relnote kbprb kbmt KB956176 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir: 956176

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com