ERROR MESSAGE 7668

Merhaba Arkadaşlar bu gün sizlere Database ‘imiz üzrinden Full-Text kataloğumuzu kaldırırken aldığımız hatanın çözümünü anlatacağım.

fullTextCatalog-Drop

 

Bizim SqlTurkiyeFTDB adında bir Database imiz olsun ve bunun içerisinde FullTextTable adında da bir tablomuz yer alsın .

Bu database imizin üzerinde FullTextTable_FC adında bir Full-Text Kataloğumuz yer alıyor . Peki biz bu Full-Text kataloğumuzu nasıl kaldırırız. Full-Text Kataloglar DROP komutu ile aynı bir index silme şeklinde de olduğu gbi kaldırılıyor.

Syntax :

DROP FULLTEXT CATALOG <Catalog_Name>
GO

Bizde aynı yukarıda yer alan Syntax ‘ı kullanarak Kataloğumuzu silmeye çalışalım ;

DROP FULLTEXT CATALOG FullTextTable_FC
GO

Drop işlemini Execute ettikten sonra aşağıdaki hata Mesajı ekrana gelmektedir.

Msg 7668, Level 16, State 1, Line 2

Cannot drop full-text catalog ‘FullTextTable_FC’ because it contains a full-text index.

Bu mesaj bize şunu gösteriyor aslında ; Kataloğumuzun içinde yer alan Full-Text Index ler kaldırılmadan biz Full-Text kataloğumuzu DROP edemiyoruz.

O zaman ne yapmamız gerek ? Kataloğumuzda yer alan Full-Text Index’i kaldırmamız gerek ;

Full-Text Index ‘imizi slime Syntax ‘ı :

DROP FULLTEXT INDEX ON <table_name>

Yukarıda ki Syntax’ı mızı kullanarak tablo üzerinden Full-Text Index ‘imizi kaldıralım ;

DROP FULLTEXT INDEX ON FullTextTable

Full-Text Index’imizi kaldırdığımıza gore şimdi Full-Text Kataloğumuzu kaldırabiliriz.

DROP FULLTEXT CATALOG FullTextTable_FC
 GO

Drop işlemimiz Execute ettik ve Command(s) completed successfully. Mesajı ile karşılatık. Bu şekilde aldığımız hata mesajı ortadan kalkmış oldu ve işlemimizi gerçekleştirmenin yolunu öğrenmiş olduk.

 

ÖZET :

Sistemimizden Full-Text Kataloğa DROP işlemi uygulamadan önce tablo üzerinde yer alan Full-Text Index ‘imizi kaldırmamız gerekmektedir. Bu işlem sonuçlandıktan sonra Full-Text Kataloğu kaldırabiliriz ..

 

Konu boyunca uygulayacağınız Çalışma Script’i :

/******************************************************
-- KONU		: Full-Text Katalog Kaldırırken Alınan Hatanın Çözümü
-- AMAÇ		: Full-Text Katalog ve Full-Text Index Nasıl Oluşturulur ve İşleyiş Mantığı Nedir ?
-- EĞİTMEN  : Yusuf KAHVECİ 
-- www.sqlturkiye.com
-- www.ysfkhvc.com
-- [email protected]
-- [email protected]

******************************************************/

--Test Database imizi oluşturuyoruz... ( Yusuf KAHVECİ )
Create Database SqlTurkiyeFTDB

--Test Tablomuzu oluşturuyoruz... ( Yusuf KAHVECİ )
USE SqlTurkiyeFTDB
CREATE Table FullTextTable
(
  Id INT IDENTITY(1,1),
  Name			VARCHAR(50),
  Surname		VARCHAR(60),
  Adres      varchar(max),
  Identity_Number CHAR(11)
)

-- Tablomuza veri basıyoruz.. ( Yusuf KAHVECİ )
Declare @i int=1
While @i < 100000
Begin
insert INTO FullTextTable VALUES ('Yusuf '+cast(@i as char(11)),'Kahveci','İSTANBUL/TÜRKİYE','000000'+''+cast(@i as char(11)))
set @[email protected]+1
print @i
End

-- Full-Text Kataloğumuzu Oluşturuyoruz ... ( Yusuf KAHVECİ )
USE SqlTurkiyeFTDB
GO

CREATE FULLTEXT CATALOG FullTextTable_FC WITH ACCENT_SENSITIVITY = OFF
AS DEFAULT AUTHORIZATION [dbo]
GO

-- Full-Text Index 'imizi oluşturuyoruz .. ( Yusuf KAHVECİ )
USE SqlTurkiyeFTDB
GO

CREATE FULLTEXT INDEX ON FullTextTable ([Name] LANGUAGE Neutral , [Surname] LANGUAGE Neutral,[Adres] LANGUAGE Neutral)
KEY INDEX [PK_FullTextTable] 
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)
GO

-- Test için Select işlemi .. ( Yusuf KAHVECİ )
select * from FullTextTable Where Contains ( name, 'yusuf')

-- Full-Text Katalog Drop İşlemi ..( Yusuf KAHVECİ )
USE SqlTurkiyeFTDB
GO

DROP FULLTEXT CATALOG FullTextTable_FC
GO

-- Full-Text Index Drop İşlemi ... ( Yusuf KAHVECİ )
USE SqlTurkiyeFTDB
GO
DROP FULLTEXT INDEX ON FullTextTable
GO

 

ykkrtvzt-300x168

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *