Düzeltme: Msg 8624 bir tablo içeren bir dizin oluşturulmuş görünümü'nde içerilen ardarda DRI ile değiştirilmesi neden olabilir

Ö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.

288174
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
# Hata: 350912 (SHILOH_bugs)
Belirtiler
Bir kullanıcı, siler veya bir kayıtta bir SQL Server güncelleştirmeleri, bir iç hata yükseltilmiş:
Sunucu: Msg 8624, Level 16, State 1, 1 satır
SQL Server iç hata.
Bir hata iletisi, istemciye döndürülür. Hata iletisi veya erişim ihlali bilgisi için SQL Server hata günlüklerini yazılır. Kaydı silinen veya güncelleştirildiğinde değil.
Neden
Bu hata yalnızca dizin oluşturulmuş görünüm üye tablosu güncelleştirildi veya silindi ve tablosu ve görünümdeki diğer tablolar arasında DRI CASCADE kısıtlama yok oluşabilir. Tablo basamaklama silme veya güncelleştirme kısıtlaması ile tanımlanmıştır, denetleyin. Sonra bir görünümü tabloları üzerinde bağımlı bir dizin olup olmadığını denetleyin.
Çözüm
Bu sorunu gidermek için <a0></a0>, SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211BILGI: en son SQL Server 2000 hizmet paketi nasıl elde edilir
Pratik Çözüm
Bu soruna geçici bir çözüm bulmak için <a0></a0>, DRI CASCADE kısıtlama veya dizin görünümünde kaldırın.
Durum
Microsoft SQL Server 2000'de bir sorun olduğunu onaylamıştır. Bu sorun ilk olarak SQL Server 2000 Service Pack 1'de giderilmiştir.
Daha fazla bilgi
Bu sorunu yeniden oluşturmak için <a0></a0>, aşağıdaki komut dosyasını çalıştırın:
set ansi_nulls onset ansi_padding onset ansi_warnings onset arithabort onset concat_null_yields_null onset quoted_identifier onset numeric_roundabort offgoCREATE TABLE [dbo].[adults] (	[AdultId] [int] NOT NULL ,	[FName] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,	[LName] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY]GOCREATE TABLE [dbo].[kids] (	[AdultId] [int] NOT NULL ,	[KidId] [int] NOT NULL ,	[FName] [varchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,	[LName] [varchar] (25) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ) ON [PRIMARY]GOALTER TABLE [dbo].[adults] WITH NOCHECK ADD 	CONSTRAINT [PK_adults] PRIMARY KEY  CLUSTERED 	(		[AdultId]	)  ON [PRIMARY] GOALTER TABLE [dbo].[kids] ADD 	CONSTRAINT [FK_kids_adults] FOREIGN KEY 	(		[AdultId]	) REFERENCES [dbo].[adults] (		[AdultId]	) ON DELETE CASCADE  ON UPDATE CASCADE GOSET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GO/****** Object:  View dbo.v_AdultsWithKids    Script Date: 1/2/01 4:30:41 AM ******/ create view dbo.v_AdultsWithKidswith schemabindingasselect a.adultid, a.fname as 'Adult First Name', a.lname as 'Adult Last Name', k.kidid, k.fname as 'Kid First Name', k.lname as 'Kid Last Name'from dbo.adults a inner join dbo.kids k on a.adultid = k.adultidGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOset ANSI_PADDING,ANSI_WARNINGS,CONCAT_NULL_YIELDS_NULL,ARITHABORT,QUOTED_IDENTIFIER,ANSI_NULLS on GOset NUMERIC_ROUNDABORT off GO CREATE  UNIQUE  CLUSTERED  INDEX [iv_cl_kidid] ON [dbo].[v_AdultsWithKids]([kidid]) ON [PRIMARY]GOinsert into adults values (1, 'Bob', 'Johnson')insert into kids values (1, 1, 'Joe', 'Johnson')insert into kids values (1, 2, 'Jack', 'Johnson')insert into kids values (1, 3, 'June', 'Johnson')insert into adults values (2, 'Mary', 'Thomas')insert into kids values (2, 4, 'John', 'Thomas')insert into adults values (3, 'Susan', 'Sist')godelete from adults where adultid = 2goset NUMERIC_ROUNDABORT off set arithabort  OFF GOSET QUOTED_IDENTIFIER OFF  SET ANSI_NULLS ON GO				
DRI ardarda dizinlenmiş görünümler

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 288174 - Son İnceleme: 01/16/2015 21:34:26 - Düzeltme: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB288174 KbMttr
Geri bildirim