Taşıma, kopyalama ve tam metin kataloğunu klasörleri ve dosyaları yedeklemek için

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

Bu Sayfada

Özet

Bir SQL tam metin Kataloğu ve dizinlerde depolanan sunucu veritabanı. Tam metin Kataloğu ve dizinler Microsoft Search hizmeti yöneten ayrı dosyalarda saklanır. Bir Microsoft SQL Server kurtarma sırasında tam metin kataloğunu dosyalar kurtarılmaz. Ayrıca, yedeklenecek ve tam metin geri yüklemek için BACKUP ve RESTORE Transact SQL deyimlerini kullanamazsınız katalog dosyaları. Sonra kurtarma veya geri yükleme işlemleri, ayrı ayrı tam metin Kataloğu yeniden gerekir. Yalnızca Microsoft Windows NT Sistem Yöneticisi ve Microsoft Search hizmeti, tam metin kataloğunu dosyalara erişebilirsiniz.

Tam metin Kataloğu yedeklemek için SQL Server veritabanlarını kullanamazsınız, ancak üretim veritabanları büyük tablolarıyla tam metin arama özelliği etkinleştirilmiş kullanabilirsiniz. Bunu yaparsanız, taşıma, yedekleme için veya bu tam metin Kataloğu ve üretim veritabanlarının geri. Çalışma süresi için bir tam metin kataloğunu popülasyon veya yeniden eşitleme işlemi normal bakım penceresinden daha uzun olabilir. Bu makalede, kullanabileceğiniz taşımak için veya tüm bir popülasyon başlatılıyor olmadan katalogları kopyalamak için farklı bir yöntem açıklanır. Bu yöntem, önemli bir kapalı kalma önler.

Bu makalede, kopyalamak, taşımak ve yedeklemek veya tam metin kataloğunu klasörleri ve bazı kısıtlamalar dosyaları geri yüklemek için kullanabileceğiniz birkaç yöntem belgelemektedir:
  • Kullanmakta olduğunuz SQL Server sürümleri aynıdır.
  • Tam metin kataloğunu klasörleri ve dosyaları yerel sürücüde olması gerekir.
  • Tam metin kataloğunu klasörleri ve dosyaları, özgün adlarını ve klasör içeriğinin saklamanız gerekir.
  • Sunucular arasında tam metin Kataloğu kopyalayın veya taşıdığınızda, tam metinli bir etkinleştirilmiş veritabanı tanıtıcısı ve tablo tanıtıcısı her iki sunucuda aynı olması gerekir.
Uyarı Bu yordamlar, SQL Server Failover küme örneklerini desteklenmez.

Tam metin Kataloğu, klasörleri ve dosyaları topluluğu sürdürülür. Tam metin Kataloğu varsayılan konumlarını şunlardır:

Microsoft SQL Server 7.0 için:
\Mssql7\FTDATA

Microsoft SQL Server 2000:
Varsayılan örneği: Program Files\Microsoft SQL Server\MSSQL\FTDATA
Adlandırılmış örneğine: Program Files\Microsoft SQL Server\MSSQL $ instancename\FTDATA

Her bir tam metin kataloğunu ve ilişkili dosyaları aşağıdaki adlandırma kuralını kullanan altındaki bir klasöre dbid ilişkili veritabanı tanıtıcısı olduğu ve tam metin kataloğunu tanıtıcısı ftcatid olduğu saklanır:

"(dbid) SQLxxxxx yyyyy (ftcatid)"

Ilişkili veritabanı içinde her ftcatid benzersizdir.

Önemli Bu bölüm, yöntem veya görev kayıt defterini nasıl söyleyin adımları içerir. Ancak kayıt defterini hatalı olarak değiştirirseniz önemli sorunlar oluşabilir. Bu nedenle, bu adımları dikkatlice uyguladığınızdan emin olun. Ek koruma için, kayıt defterini değiştirmeden önce yedeklemeyi unutmayın. Bir sorun oluşursa kayıt defterini daha sonra geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
322756Windows'da kayıt defterini yedekleme ve geri yükleme

Tek başına bir bilgisayar veya bir küme üzerinde bir tam metin kataloğunu yedeklemek için

  1. Microsoft Search hizmeti tek başına bir bilgisayarda durdurun. Kümelendirilmiş SQL Server yapılandırması için tam metin kaynağı çevrimiçi olarak bırakın. Microsoft Search hizmeti durdurulduktan sonra yüklemler, CONTAINS veya FREETEXT, kullanan tam metin sorguları çalıştıramaz veya satır değerli işlevler CONTAINSTABLE veya FREETEXTTABLE veritabanıyla. Ayrıca, tam metin arama sorgularını, değil işlevi ve aşağıdaki hata iletisini alırsınız:
    Sunucu: <a1>hata</a1> 7602, Level 16, State 1, satır 2 tam metin Service (Microsoft Search) kullanılabilir durumda değil. Sistem yöneticiniz, bu hizmetin başlatılması gerekir.
  2. Microsoft Windows NT dosya sistemi yedekleme gibi bir yardımcı programı, Backup Exec, kullanın ve sonra yeniden tam metin Kataloğu, klasörler ve files.The kadar sistem tablosundaki tam metin kataloğu (sysfulltextcatalogs) için SQL Server veritabanı ile yedeklenir.
  3. Katalogları ayrı ayrı yedeklemeniz gerekiyorsa aşağıdaki kayıt defteri girdilerini yedeklemek:
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] katalog klasörü adı "SQLxxxxx(dbid) yyyyy(ftcatid)" olur.
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.
  4. 2. Tüm katalogların yedeklemek için yedekleme aşağıdaki kayıt defteri girdilerini: (bu kadar tüm tam metin Kataloğu sunucuda yedekler.)
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.

Aynı yerel sürücü veya yol için aynı sunucuda tam metin Kataloğu geri yüklemek için

  1. Microsoft Search hizmetini durdurun. Not Adım 2 yalnızca veritabanı kesildi gerçekleştirin. Aksi durumda, adım 3'e gidin.
  2. Geri yüklemek veya tam metin etkinleştirdiğiniz veritabanı iliştirin. Veritabanını geri yükledikten sonra dosyayı yedeklediğiniz zaman, olduğu gibi veritabanı KIMLIĞI (dbid) aynı olduğundan emin olun.
    Not Veritabanı sp_attach_db</a0> komutu kullanılarak eklenen 'komutu için tam metin veritabanı'nı etkinleştirmek Etkinleştir' exec sp_fulltext_database çalıştırdığınızdan emin olun.
  3. The dbid belirlemek için <a0></a0>, aşağıdaki kodu çalıştırın: tek tek kataloglar, geri yüklemek için
    Use dbname
    go
    select db_id()
    Not 4 adımı izleyin. Tüm katalogları geri yüklemek için <a0></a0>, adım 5'e gidin.
  4. Yedeklediğiniz kayıt defteri girdilerini geri yüklemek için önceki yedekleme yönergeleri temel. Bu adımı denemeden önce kayıt defterini yedeklemek isteyebilirsiniz.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] katalog klasörü adı "SQLxxxxx(dbid) yyyyy(ftcatid)" olur.
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.
  5. Sunucu üzerindeki tüm katalogları geri yüklemek için <a0></a0>, aşağıdaki kayıt defteri girdilerini geri yükleyin. Bu adımı denemeden önce kayıt defterini yedeklemek isteyebilirsiniz.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.
  6. Katalogları, gelen yedeklediğiniz varsayılan konuma yedekten geri yükleyin.
  7. Microsoft Search hizmetini yeniden başlatın.
  8. Klasörleri yeni tam metinli kataloglar ve bir Transact-SQL SELECT deyimi kullanarak dosyaları işlevsel olduğunu doğrulayın ve CONTAINS veya FREETEXT bir yüklemi, WHERE yan tümcesini kullanın.

Veya yerel bir sürücü veya yol, SQL Server çalıştıran bilgisayardaki arasında bir tam metin Kataloğu taşımak için

  1. Tam metin kataloğunu adını ve yerel bir sürücü veya yol sp_help_fulltext_catalogs 'FT_Catalog_Name' kullanarak doğrulayın. Tam metin kataloğunu sürücü harfini ve tam nitelenmiş yol, daha sonra kullanmak üzere kaydedin.
  2. Microsoft Search hizmetini durdurun. Yalnızca veritabanı kesildi, 3 ve 4 numaralı adımı gerçekleştirmek veya katalog silindiyse, aksi durumda, adım 5'e gidin.
  3. Geri yüklemek veya tam metin etkinleştirdiğiniz veritabanı iliştirin. Veritabanını geri yükledikten sonra dosyayı yedeklediğiniz zaman, olduğu gibi veritabanı KIMLIĞI (dbid) aynı olduğundan emin olun.

    Not Veritabanı sp_attach_db</a0> komutu kullanılarak eklenen 'komutu için tam metin veritabanı'nı etkinleştirmek Etkinleştir' exec sp_fulltext_database çalıştırdığınızdan emin olun.

    The dbid belirlemek için <a0></a0>, aşağıdaki kodu çalıştırın:
    Use dbname
    go
    select db_id()
  4. Aşağıdaki kayıt defteri girdilerini geri yükleyin. Bu adımı denemeden önce kayıt defterini yedeklemek isteyebilirsiniz.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] katalog klasörü adı "SQLxxxxx(dbid) yyyyy(ftcatid)" olur.
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.
  5. Yeni bir tam metin kataloğunu yerel sürücü veya yol belirleyin. Tam metin Kataloğu yeni bir konuma kopyalayın.
  6. Sistem, saklanan sistem tablosu güncelleştirmelere izin verecek yordamı sp_configure RECONFIGURE ile geçersiz kılmak ve sonra güncelleştirme [database_name]. dbo.sysfulltextcatalogs sütuna yeni yerel sürücü veya yol için hedef d:\FTData gibi tam metin kataloğunu varsayılan klasör yolu.
  7. Windows NT 4.0 Resource Kit'teki regfind yardımcı programı (örneğin, SQL0000500005) bulup aşağıdaki HKLM kayıt defteri anahtarı değerleri her bir tam metin kataloğunu klasör (FT_Catalog_Folder) değiştirmek için kullanın:
    \SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\[FT_Catalog_Folder] \SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    Ayrıca, düz tırnak işaretlerini kullanmaya dikkat edin ("") kayıt defteri anahtarlarının her ikisi için de içine -p ve -r parametreleri. Örneğin:
    -m \\server_2 -p "<Key Name>" <Old_FT_Catalog_Path_and_Folder> -r <New_FT_Catalog_Path_and_Folder>

    Not: <a1>replace</a1> < Anahtar Adı >, <Old_FT_Catalog_Path_and_Folder> ve <New_FT_Catalog_Path_and_Folder> uygun değerlere sahip.
    Örneğin: -m \\server_2 -p "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\sqlserver$SQL2k\SQL0000500005" d:\programme\Microsoft SQL Server\MSSQL $ SQL2K\FTDATA\SQL0000500005 - r d:\programme\Microsoft SQL Server\MSSQL $ SQL2K\FTDATA\New Location\SQL0000500005

    Sözdizimi regfind yardımcı programını kullanma hakkında daha fazla bilgi için bir MS-DOS komut isteminden aşağıdaki parametre yazın: regfind /?
  8. Microsoft Search hizmeti yeniden başlatın.
  9. Klasörleri yeni tam metinli kataloglar ve bir Transact-SQL SELECT deyimi kullanarak dosyaları işlevsel olduğunu doğrulayın ve CONTAINS veya FREETEXT bir yüklemi, WHERE yan tümcesini kullanın.

Tam metin Kataloğu aynı yerel sürücü veya yol için SQL Server örnekleri arasında kopyalama

Aşağıdaki adımlarda, veya bir tam metin kataloğunu klasör ve dosyaları SQL Server çalıştıran bir bilgisayara taşımak nasıl gösterilmektedir (server_1) (server_2) SQL Server çalıştıran başka bir bilgisayara. Bu makalede, SQL Server tam metin arama yüklü olduğunu ve aynı veritabanı ve tablo tanımlayıcıları, hem sunucularda bulunduğunu varsayar. Başka bir tam metin kataloğu bir örneğinden SQL Server'ın başarılı kopyası için veritabanı kimliği aynı olması gerekir. Bu nedenle, bir tam kopyasını (kopya) server_1 hem server_2 dbids aynı olduğunu server_1.Confirm olması server_2 (için katalog kopyaladığınız) olması en iyisidir. Bunu yapmak için <a0></a0>, hem sunucularda aşağıdaki komutları çalıştırın: değiştir"dbids server_2 üzerinde doğru olan dbid elde etmek için <a0></a0>"
Use dbname
go
select db_id()
kullanmak sp_detach_db ve sp_attach_db bağlantısını kesin ve doğru veritabanlarının re-attach. Örneğin, iki veritabanı varsa, TestDB(dbid = 7) ve PerfDB (dbid = 8), her iki veritabanlarının bağlantısını kesin ve sonra ilk re-attach PerfDB veritabanındaki ve TestDB veritabanı. Bu, dbids getirir: 8 için TestDB The dbid olur ve 7 için PerfDB dbid olur. Her zaman kullanılabilir dbids havuzunun içinde en düşük olan dbid önce kullanılır.

Dikkat Bunu yapmak için <a0></a0>, önce veritabanlarının bağlantısını kesin emin her iki veritabanı herhangi bir tam metin Kataloğu varsa ve tam metinli etkin değildirler. Görmek için tam metin Kataloğu bırakın ve veritabanı için tam metin devre dışı bırakma adımları “ diğer bilgileri ” yer alan "clean up yordamlarında" bölümü.
  1. Tam metinli etkin veritabanlarının master.dbo.sysdatabases dbid değerlerini her iki sunucuda aynı olduğundan emin olun.
  2. Doğrulayın [database_name]. dbo.sysobjects KIMLIĞI için tam metin etkin tablo her iki sunucuda aynı değerlerdir. Bir tablo KIMLIĞI değerini elde etme hakkında daha fazla bilgi için SQL Server Kitapları'nda "object_id" konusuna bakın.
  3. Tam metin kataloğunu adını ve yerel bir sürücü veya yol olduğunu ve her iki sunucuda aynı sp_help_fulltext_catalogs ' FT_Catalog_Name ' kullanarak doğrulayın.
  4. Microsoft Search server_1 hem server_2 durdurun.
  5. Ilgili sürücü veya yol üzerinde server_2 server_1 üzerinde bir sürücü harfiyle eşleyin.
  6. Tam metin kataloğunu klasör ve dosyalar, belirlediğiniz 3. adımda xcopy DOS komutunu kullanarak server_2 için server_1 kopyalayın. Tam olarak nitelenmiş bir tam metin kataloğunu sürücü veya <a2>yol</a2> ve <a4>klasör adı, hedef konumu olarak kaynak konumu ve eşlenen tam metin kataloğunu sürücü veya <a2>yol</a2> ve <a4>klasör adı kullanın. Hedef klasörler server_2 üzerinde yoksa, ve /E tüm hedef klasör oluşturmak için <a1>kullanım</a1> xcopy geçiş yapar. Tüm katalogları geri yüklemek için <a0></a0>, server_2 için katalog klasörlere kopyalayın.
  7. DOS komutu kullandığınız RMDIR /S /Q [FT_Catalog_drive/yol] server_1 tam metin kataloğunu dosyaları kaldırmak için server_1 üzerinde.

    Not Tek tek katalogları geri yüklemek için <a0></a0>, adım 8'i izleyin. Tüm katalogları geri yüklemek için <a0></a0>, 9. adıma gidin.
  8. Temel alınarak önceki yönergeleri yedeklenen kayıt defteri girdilerini geri yükleyin. Bu adımı denemeden önce kayıt defterini yedeklemek isteyebilirsiniz.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\[FT_Catalog_Folder] \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer [FT_Catalog_Folder]
    [FT_Catalog_Folder] katalog klasörü adı "SQLxxxxx(dbid) yyyyy(ftcatid)" olur.
    SQL Server adlı örneği için kayıt defteri girdisi \SQLServer$ InstanceName olan \.
  9. Sunucu üzerindeki tüm katalogları geri yüklemek için <a0></a0>, aşağıdaki kayıt defteri girdilerini geri yükleyin. Bunu yaparsanız, bu adımı uygulamadan sonra ancak, tüm varolan katalogları server_2 kaybedersiniz. Bu adımı denemeden önce kayıt defterini yedeklemek isteyebilirsiniz.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Not Varsayılan olarak, tam metin ikili dosyaların konumlarını şunlardır:
    SQL Server 7.0: \Mssql7\FTDATA
    Microsoft . SQL Server 2000 varsayılan örneği: \Program Files\Microsoft SQL Server\MSSQL\FTDATA
    SQL Server 2000 adlandırılmış örnek: MSSQL $ InstanceName \FTDATA
    Bu konumları ve klasör yolları için farklı bilgisayarlar farklı olabilir. Bu durumda, yolları, server_2 üzerinde geri yükleme tamamlandıktan sonra tam metin ikili dosyaların doğru konuma işaret biçimde iki kayıt defteri girdileri değiştirmeniz gerekir.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Kayıt defteri girdilerinin Bulma ve tam metin ikili dosyaların yerini değiştirmek için regfind yardımcı programı'nı kullanabilirsiniz.
  10. Her iki Microsoft Search hizmeti yeniden başlatın.
  11. Klasörleri yeni tam metinli kataloglar ve bir Transact-SQL SELECT deyimi kullanarak dosyaları işlevsel olduğunu doğrulayın ve CONTAINS veya FREETEXT bir yüklemi, WHERE yan tümcesini kullanın.

Daha fazla bilgi

Aşağıdaki SQL Server komut dosyası taşıma veya "SQL Server 7.0 (server_1) SQL Server 7.0 (server_2) çalıştıran başka bir bilgisayara geçirmek bir tam metin kataloğunu klasör" için farklı bir yerel sürücü veya yol konumunda, server_2 gösterilmiştir. Bu makalede, SQL Server 7.0 tam metin arama ile Windows NT 4.0 tabanlı bir bilgisayarda yüklü olduğunu ve aynı veritabanı ve tablo tanımlayıcıları, hem sunucularda bulunduğunu varsayar.

Bu örnek, pubs amacıyla (dbid = 5) veritabanı ve tablo pub_info (kimliği 645577338 =) etkin olan ve hem sunucularda doldurulan tam-metin. Server_2 ile sunucu adını değiştirmek ve tam metin kataloğunu klasör adı ve sürücü veya yol adınızı tam metin kataloğunu klasör ve sürücü veya yol ile değiştirin.

Sunucunun yerel Administrators grubunun bir üyesi olarak oturum açın ve SQL Server sysadmin sunucusu rolünü (veya "sa" olarak oturum açma) üyesi olmanız gerekir. Ayrıca, aşağıdaki SQL Server'ı çalıştırmak için veritabanını (DBO) veritabanı sahibi olmanız komut dosyaları.

Her iki sunucularda aşağıdaki SQL Server komut dosyası çalıştırma:
use pubs
go
sp_fulltext_service 'clean_up'
go
sp_fulltext_database 'enable'
go

-- Creates and activates the full-text catalog: PubInfo, if it does not exist.
-- Drops, re-creates and activates the full-text catalog: PubInfo, if it does
-- exist.
IF OBJECTPROPERTY ( object_id('pub_info'),
                    'TableHasActiveFulltextIndex') = 1
BEGIN
    print 'Table pub_info is Full-Text Enabled, dropping Full-Text Index
& Catalog...'
    EXEC sp_fulltext_table 'pub_info', 'drop'
    EXEC sp_fulltext_catalog 'PubInfo', 'drop'
    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,
Index & Activating...'
    EXEC sp_fulltext_catalog 'PubInfo', 'create'
    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'
    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'
    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'
    EXEC sp_fulltext_table 'pub_info', 'activate'
END
ELSE IF OBJECTPROPERTY ( object_id('pub_info'),'TableHasActiveFulltextIndex') = 0
BEGIN
    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,
Index & Activating...'
    EXEC sp_fulltext_catalog 'PubInfo', 'create'
    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'
    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'
    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'
    EXEC sp_fulltext_table 'pub_info', 'activate'
END
go -- Confirm Database ID, Object ID, FT Catalog ID and FT folder(default)
   -- location.
select dbid, name from master.dbo.sysdatabases where dbid = DB_ID('pubs')
-- dbid = 5
go
select id, name from pubs.dbo.sysobjects where id = object_id('pub_info') 
go
sp_help_fulltext_catalogs 'PubInfo' 
go
sp_help_fulltext_tables 'PubInfo', 'pub_info' 
go
sp_help_fulltext_columns 'pub_info' 
go
exec master..xp_cmdshell 'dir d:\MSSQL70\FTDATA'
go

--- After full-text is enabled and activated, start full crawl/population
BEGIN
SET NOCOUNT ON
EXEC sp_fulltext_catalog 'PubInfo', 'start_full'
--
--  Wait for crawl to complete
--  NOTE: Forlarger tables, increase the WAITFOR DELAY time appropriately
--
DECLARE @status int, @itemCount int, @keyCount int, @indexSize int
SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
WHILE (@status <> 0)
BEGIN
  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT
                           -- Populatestatus...
  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
END
WAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property
                         -- info (add more time for larger tables)...
SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')
SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')
SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')
PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount)
- 1) as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = '
+  CONVERT(varchar(10), @keyCount) + char(09)
SET NOCOUNT OFF
END
go

-- Confirm FT population, 1 row should be returned (pub_id = 0736). 
SELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')
go

-- Stop the Microsoft Search service on both servers
exec master..xp_cmdshell 'net stop "Microsoft Search"'
go
Kaynak sunucuda (server_1) aşağıdaki SQL Server komut dosyasını çalıştırın:--hedef sunucu için bir sürücü harfi eşleştirme
use pubs
go
-- Map a Drive letter to the destination server.
exec master..xp_cmdshell 'NET USE K: \\server_2\[drive]$'
go
-- Copy the destination server's FT catalog folder and files as a backup.
exec master..xp_cmdshell 'ROBOCOPY K:\MSSQL70\FTDATA\SQL0000500005
K:\MSSQL70\BACKUP\SQL0000500005 /E /NP'
go
-- Remove the destination server's full-text catalog folder and files.
exec master..xp_cmdshell 'RMDIR /S /Q K:\MSSQL70\FTDATA\SQL0000500005'
go
-- Copy the SOURCE full-text catalog folder and files to the destination server's
NEW full-text catalog location.
exec master..xp_cmdshell 'ROBOCOPY D:\MSSQL70\FTDATA\SQL0000500005
K:\FTData\SQL0000500005 /E /NP'
go
-- Restart the Microsoft Search service.
exec master..xp_cmdshell 'net start "Microsoft Search"'
go
-- Remove the mapped drive letter to the destination server, for example
-- K:\.
exec master..xp_cmdshell 'NET USE K: /delete'
go
aşağıdaki SQL komut dosyası (server_2) hedef sunucuda çalıştırmalısınız:
use master
go
-- Enable system table updates.
sp_configure allow,1
go
reconfigure with override
go

use pubs
go
-- Record full-text catalog information (Note: path = NULL)
select * from sysfulltextcatalogs
go
-- Update the full-text catalog information with the new full-text catalog location
UPDATE sysfulltextcatalogs set path = 'E:\FTData'
   WHERE ftcatid = 5
go
-- Record full-text catalog info. (Note: path = E:\FTData)
select * from sysfulltextcatalogs
go

use master
go
-- Disable system table updates.
sp_configure allow,0
go
reconfigure with override
go

-- CAUTION: Back up your registry hive before you contine!

-- Search and replace HKLM "Gather" registry keys with new full-text catalog
-- folder location [10 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\SQL0000500005
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go
-- Search and replace HKLM "Gatherer Manager" registry keys with new FT
-- catalog folder location [6 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Gathering
Manager\Applications\SQLServer\Projects\SQL0000500005"
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go
-- Search and replace HKLM indexer registry keys with new FT catalog folder
-- location [6 row(s) affected]:
exec master..xp_cmdshell 'REGFIND -m \\server_2 -p
"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\SQL0000500005"
"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'
go

-- Restart the Microsoft Search service
exec master..xp_cmdshell 'net start "Microsoft Search"'
go

-- Confirm FT population, 1 row should be returned (pub_id = 0736). 
use pubs
go
SELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')
go
, "sürmekte olan bir tam metin doldurma aşağıdaki SQL Server kod çalıştırarak durdurabilir miyim":

Dikkat Madde sayısı, satır sayısı eşit değilse, bu tam bir ek tam metin kataloğunu boyut dizine metin yanlış olabilir!
-- Run the following code after starting full crawl/population through another connection.
use pubs
go
BEGIN
SET NOCOUNT ON
EXEC sp_fulltext_catalog 'PubInfo', 'stop'

-- Wait for crawl to stop

--  NOTE: For larger tables, increase the WAITFOR DELAY time appropriately

DECLARE @status int, @itemCount int, @keyCount int, @indexSize int
SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
WHILE (@status <> 0)
BEGIN
  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT
                           -- Populatestatus...
  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')
END
WAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property
                         -- info (add more time for larger tables)...
SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')
SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')
SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')
PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount) - 1)
as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = ' +
CONVERT(varchar(10), @keyCount) + char(09)
SET NOCOUNT OFF
END
go
-- Can return: Nbr. of Rows FT Indexed = -1 Nbr. of Unique FT Words = 0 
-- (depending upon when the crawl/population stopped)
Sil yordamlar

Aşağıdaki SQL komut dosyası, hem sunucularda çalıştırın:

Tam metin dizini, tam metin kataloğunu bırakın ve sonra <a0>pubs</a0> veritabanında tam metin aramasını devre dışı bırakın:
use pubs
go
sp_fulltext_table 'pub_info', 'drop'
go
sp_fulltext_catalog 'PubInfo', 'drop'
go
sp_fulltext_database 'disable'
go
sp_fulltext_service 'clean_up'
go
-- end SQL Script !

Başvurular

Bir veritabanı için dbid'ü edinme hakkında daha fazla bilgi için SQL Server Books Online'da "DB_ID" konusuna bakın.

Bir veritabanı tam metinli etkin olup olmadığını belirlemek için <a0></a0>, SQL Server Books Online'da "DATABASEPROPERTY" veya "IsFulltextEnabled" konularına bakın.

"Sp_help_fulltext_catalogs", "OBJECTPROPERTY" veya "TableFulltextCatalogId", ftcatid hakkında daha fazla bilgi için bkz: SQL Server Books Online'da Konular.

Özellikler

Makale numarası: 240867 - Last Review: 30 Kasım 2007 Cuma - Gözden geçirme: 6.5
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition, Ne zaman ne ile kullanilir:
    • Microsoft SQL Server 2000 Developer Edition
    • Microsoft SQL Server 2000 Standard Edition
    • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 7.0 Standard Edition
Anahtar Kelimeler: 
kbmt kbinfo KB240867 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:240867

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