Aracılığıyla paylaş


Diğer SQL Server özellikleri ile FILESTREAM kullanma

Bu konu, bazı konuları, kılavuzlar ve aşağıdaki özellikler, FILESTREAM kullanarak sınırlamalarını FILESTREAM veri dosya sistemidir, çünkü sağlar SQL Server:

  • Veritabanı anlık görüntü

  • Çoğaltma

  • günlük aktarma

  • veritabanı yansıtması

  • Tam metin

  • Yerine çalışma Kümelemesi

  • SQL Server Express

Veritabanı anlık görüntü

SQL Server desteklemiyor veritabanı anlık görüntüleri FILESTREAM dosya grupları için.FILESTREAM bir dosya grubu içinde bir CREATE DATABASE ON yan tümce içeriyorsa, deyimin başarısız olur ve hataya neden oldu.

FILESTREAM kullanırken, Standart (FILESTREAM olmayan) dosya gruplarını anlık veritabanı oluşturabilirsiniz.FILESTREAM dosya gruplarını, bu veritabanı anlık görüntüler için çevrimdışı olarak işaretlenir.

Bir veritabanı anlık görüntü görüntü görüntü görüntüsü FILESTREAM tabloda yürütülecek olan BIR deyim FILESTREAM bir sütun eklemeniz gerekir; tersi durumda, aşağıdaki hata iletisini döndürülür:

Veri taşıma yüzünden NOLOCK tarama devam edemedi.

Çoğaltma

C varbinary(max) Yayımcı tarafında etkin FILESTREAM özniteliğine sahip bir sütun, bir abone olan veya olmayan FILESTREAM özniteliği için çoğaltılabilir. Sütun yinelenme biçimini değiştirmek için , Makale özellikleri- <Makale> @ schema_option parametresini veya iletişim kutusu sp_addarticle or sp_addmergearticle. Hakkında daha fazla bilgi için küme şema seçenekleri için bkz: Nasıl Yapılır: Schema seçenekleri (SQL Server Management Studio'yu) belirtin. ve Nasıl Yapılır: (Çoğaltma Transact-SQL programlama) şema seçeneklerini belirleme. Çoğaltılmış olan veriler bir varbinary(max) FILESTREAM özniteliği olan bir sütunun veri türü için; 2 GB sınırını aşmamalıdır yoksa, çalışma-saat hata oluşturulur. FILESTREAM çoğaltma öneririz öznitelik veri çoğaltma sürece, SQL Server 2005. FILESTREAM sütunları olan tablo çoğaltılıyor SQL Server 2000 Abonelerin desteklenmez, şema seçeneği bağımsız olarak belirtilir. Önceki sürümleri için verileri çoğaltmak hakkında daha fazla bilgi için SQL Server, bkz: Bir çoğaltma topolojisi SQL Server birden çok sürümünü kullanma.

Not

Büyük veri değerleri çoğaltılıyor SQL Server 2008 Kime SQL Server 2005 Abonelerin en fazla 256 MB veri değerleri için sınırlı olur. Daha fazla bilgi için bkz: En yüksek kapasite belirtimleri.

Işlem çoğaltma ile ilgili konuları

Işlem çoğaltma için yayımlanan tablolarda FILESTREAM sütunları kullanıyorsanız, aşağıdaki konularına dikkat edin:

  • Tüm tabloları FILESTREAM sahip bir sütun eklerseniz öznitelik, değerlerini kullanamazsınız database snapshot veya database snapshot character @ sync_method özellik için sp_addpublication.

  • En fazla içine veri çoğaltma boyutu en fazla metin seçeneği belirtir bir sütun, çoğaltma için yayımlanır.Bu seçenek, çoğaltılan FILESTREAM verinin boyutunu denetlemek için kullanılabilir.Daha fazla bilgi için bkz:en fazla metin çoğaltma boyutu seçeneği.

  • Şema FILESTREAM çoğaltma seçeneğine belirttiğiniz öznitelik, ancak, filtre uniqueidentifier FILESTREAM gerekir veya sütun için bir UNIQUE sınırlamasıyla çoğaltmak için sütun, çoğaltma FILESTREAM çoğaltma değil öznitelik. Sütunu yalnızca olarak çoğaltılan bir varbinary(max) sütun.

Birleştirme çoğaltması ile ilgili konuları

Birleştirme çoğaltma için yayımlanan tablolarda FILESTREAM sütunları kullanıyorsanız, aşağıdaki konularına dikkat edin:

  • Birleştirme çoğaltma hem de FILESTREAM sütun veri türü gerektirir. uniqueidentifier her satırda tanımlamak için bir tablo. Birleştirme çoğaltma otomatik olarak bir sütun ekler tablo bir sahip değil.Birleştirme çoğaltma sütun ROWGUIDCOL özelliği bulunmalıdır küme ve varsayılan NEWID() veya NEWSEQUENTIALID().Bu gereksinimlerine ek olarak, FILESTREAM bir UNIQUE sınırlamasıyla sütun için tanımlanması gerekir.Bu gereksinimler, aşağıdaki sonuçları vardır:

    • FILESTREAM bir sütun eklerseniz, bir tablo birleştirme çoğaltma için zaten yayımlanır, emin uniqueidentifier Sütun bir UNIQUE sınırlaması vardır. Bir UNIQUE sınırlamasıyla yoksa Yayın veritabanındaki tablo adlı bir kısıtlama ekleyin.Varsayılan değer olarak, birleştirme çoğaltma bu şema değişikliği yayımlar ve her abonelik veritabanına uygulanır.Şema değişiklikleri hakkında daha fazla bilgi için bkz: Üzerinde yayın Databases şema değişiklikleri yapma.

      Bir UNIQUE sınırlamasıyla açıklandığı şekilde el ile eklemeniz ve birleştirme çoğaltma kaldırmak istediğiniz, UNIQUE sınırlamasıyla önce kaldırmanız gerekir; aksi takdirde, çoğaltmayı kaldırma başarısız olur.

    • Varsayılan olarak, birleştirme çoğaltma NEWSEQUENTIALID() kullanır, çünkü bu NEWID() daha iyi performans sağlar.Ekleme, bir uniqueidentifier Varsayılan olarak NEWSEQUENTIALID() belirtmek için birleştirme çoğaltma, yayımlanacak bir tabloya sütun.

  • Birleştirme çoğaltma büyük nesne türleri çoğaltmak için bir iyileştirmesi içerir.Bu en iyi duruma getirme @ stream_blob_columns parametresi tarafından kontrol edilir sp_addmergearticle.Varsa, küme FILESTREAM özniteliği, @ stream_blob_columns parametre değeri çoğaltmak için şema seçenek küme için true. Bu en iyi duruma getirme kullanarak kılınabilir. sp_changemergearticle.Bu saklı yordam sağlar küme @ stream_blob_columns false. Birleştirme çoğaltma için önceden yayımlanan bir tablo FILESTREAM bir sütun eklerseniz, seçeneği ayarlamanız önerilir true sp_changemergearticle kullanarak.

  • makale oluşturulduktan sonra FILESTREAM için Şema seçeneğini etkinleştirme çoğaltma FILESTREAM sütundaki verileri 2 GB aşıyor ve çoğaltma sırasında bir çakışma olduğundan başarısız olmasına neden olabilir.Bu durum ortaya çıkan için sağlayacaksa, bırakın ve tablo makale oluşturma sırasında etkin uygun FILESTREAM şema seçeneği ile yeniden oluşturmanız önerilir.

  • Birleştirme çoğaltma FILESTREAM veri bağlantısı üzerinden bir HTTPS kullanarak eşitleyebilirsiniz Web üzerinden eşitleme.Bu veriler Web eşitleme için; 50 MB sınırını aşamaz yoksa, çalışma-saat hata oluşturulur.

günlük aktarma

günlük aktarma FILESTREAM destekler.Birincil ve ikincil sunucuları çalıştırıyor olmanız gerekir SQL Server 2008, veya bir sonraki sürüm ve sahip FILESTREAM etkin.

veritabanı yansıtması

veritabanı yansıtması FILESTREAM desteklemiyor.Bir FILESTREAM dosya grubu asıl sunucu üzerinde oluşturulamaz.veritabanı yansıtması FILESTREAM dosya gruplarını içeren bir veritabanı için yapılandırılamaz.

Tam metin dizin oluşturma

Tam metin dizin oluşturma FILESTREAM bir sütun, bir ile aynı şekilde çalışır.varbinary(max) sütun. FILESTREAM tablo her FILESTREAM BLOB için dosya adı uzantısını içeren bir sütun olması gerekir.Daha fazla bilgi için bkz: Sorgulama varbinary(max) ve xmlColumns (tam metin araması), tam metin araması süzgeçleri, Tam metin dizin oluşturma ve işlem sorgulama, ve sys.fulltext_document_types (Transact-SQL).

Tam metin altyapısı FILESTREAM BLOB'lar içeriğini dizin oluşturur.Resim gibi dosyalar için dizin oluşturma yararlı olabilir.Bir FILESTREAM BLOB güncelleştirildiğinde reindexed.

Yerine çalışma Kümelemesi

Kümeleme yerine çalışma için paylaşılan bir disk üzerinde FILESTREAM dosya gruplarını konması gerekir.FILESTREAM örnek barındıracaksa kümedeki her düğümde FILESTREAM etkinleştirilmiş olması gerekir.Daha fazla bilgi için bkz:Nasıl Yapılır: FILESTREAM ayarlanan bir yük devretme kümesi.

SQL Server Express

SQL Server Express FILESTREAM destekler.4 GB veritabanı boyutu sınırını FILESTREAM veri kapsayıcı içermez.