Aracılığıyla paylaş


FILESTREAM diğer SQL Server özellikleri ile kullanma

FILESTREAM veri dosya sisteminde olduğundan, bu konuda bazı dikkat edilmesi gereken noktalar ve yönergeleri aşağıdaki özelliklerle FILESTREAM kullanma sınırlamaları sağlar ve SQL Server:

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

  • Çoğaltma

  • Günlük dağıtımı

  • Veritabanı ikizleme

  • Tam metin

  • Yük Devretme Kümelemesi

  • SQL Server Express

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

SQL ServerDestek veritabanı anlık görüntüleri FILESTREAM filegroups için.FILESTREAM dosya grubu create database on yan tümce tümce tümcesinde eklediyseniz, deyim başarısız olur ve bir hata ortaya çıkar.

FILESTREAM kullanırken, standart (FILESTREAM olmayan) filegroups veritabanı anlık görüntüleri oluşturabilirsiniz.FILESTREAM 5. Bu veritabanı anlık görüntüler için çevrimdışı olarak işaretlenir.

Bir FILESTREAM üzerinde yürütülen bir deyim tablo bir veritabanında anlık görüntü; FILESTREAM sütunu eklemeniz gerekir Aksi durumda, aşağıdaki hata iletisi döndürülür:

Could not continue scan with NOLOCK due to data movement.

Çoğaltma

A varbinary(max) sütun etkin yayımcı adresindeki FILESTREAM öznitelik vardır çoğaltılmış bir aboneye içeren veya içermeyen FILESTREAM öznitelik.Sütun çoğaltılır şeklini belirtmek için kullanın Makalesi özellikleri - <makale> iletişim kutusu veya @schema_option parametresi sp_addarticle veya sp_addmergearticle.Şema seçeneklerini küme hakkında daha fazla bilgi için bkz: Nasıl yapılır: Şema seçenekleri (sql Server Management Studio'yu) belirtin ve Nasıl yapılır: Şema seçenekleri (çoğaltma Transact-sql programlama) belirtin.Çoğaltılan verileri bir varbinary(max) , yok FILESTREAM öznitelik sütun olmalıdır aşan 2 gb sınırını veri türü; Aksi takdirde, run -saat hata üretilir.Veri çoğaltılıyor sürece FILESTREAM öznitelik çoğaltmak öneririz SQL Server 2005. FILESTREAM sütunları olan tablo çoğaltma SQL Server 2000 aboneleri desteklenmez, belirtilen şema seçeneği olsun.Veri çoğaltmak için önceki sürümleri hakkında daha fazla bilgi için SQL Server, bkz: sql Server birden çok sürümünü kullanarak bir çoğaltma topolojisi içinde.

Not

Büyük veri değerleri arasında yineleme SQL Server 2008 için SQL Server 2005 aboneleri sınırlı en fazla 256 mb veri değerleri.Daha fazla bilgi için bkz: En yüksek kapasite belirtimleri.

İşlemsel kopyalama için dikkat edilmesi gereken noktalar

FILESTREAM sütunlar için yayımlanan tablolarda kullandığınız, işlem çoğaltma, aşağıdaki konulara dikkat edin:

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

  • The max text repl size option specifies the maximum amount of data that can be inserted into a column that is published for replication.Bu seçenek, çoğaltılan FILESTREAM verinin boyutunu denetlemek için kullanılabilir.Daha fazla bilgi için bkz: en büyük metin çoğaltma boyutu seçeneği.

  • FILESTREAM öznitelik çoğaltmak için şema seçeneği belirleyin, ancak filtre uniqueidentifier FILESTREAM gerektirir sütun veya belirttiğiniz benzersiz kısıtlamayı sütun için çoğaltmak için değil, çoğaltma çoğaltma FILESTREAM öznitelik.Sütun yalnızca olarak çoğaltılan bir varbinary(max) sütun.

Birleştirme çoğaltması için dikkat edilmesi gereken noktalar

FILESTREAM sütunları yayımlanır tablolarda birleştirme işleminde kullandığınız, çoğaltma, aşağıdaki konulara dikkat edin:

  • Her iki birleştirme çoğaltma ve FILESTREAM gerektiren veri türünde bir sütun uniqueidentifier tanımlamak her satırda bir tablo.Birleştirme çoğaltma bir tablo yoksa, otomatik olarak bir sütun ekler.Birleştirme çoğaltma sütun ROWGUIDCOL özellik küme ve bir default NEWID() veya NEWSEQUENTIALID() olması gerekir.Bu gereksinimleri yanı sıra FILESTREAM benzersiz kısıtlama sütun için tanımlanmış gerekir.Bu gereksinimler aşağıdaki sonuçları vardır:

    • FILESTREAM sütunu eklerseniz, bir tablo , zaten yayınlanır için birleştirme çoğaltması, emin olun uniqueidentifier sütunu olan benzersiz bir kısıtlama.Bir adlandırılmış CONSTRAINT için benzersiz bir kısıtlama yoksa Ekle tablo yayını veritabanında.Varsayılan olarak, birleştirme çoğaltması bu şema değişikliği yayımlamak ve onu her birine uygulanacak olan abonelik veritabanı.Şema değişiklikleri hakkında daha fazla bilgi için bkz: Yayını veritabanları üzerinde şeması değişiklikler yapma.

      BENZERSİZ kısıtlama açıklandığı şekilde el ile ekleme ve birleştirme kaldırmak istiyorsanız çoğaltma, benzersiz kısıtlama; kaldırmalısınız Aksi takdirde, çoğaltma kaldırma işlemi başarısız olur.

    • Varsayılan olarak, birleştirme çoğaltma NEWSEQUENTIALID() kullanır, çünkü NEWID() daha iyi performans sağlayabilirsiniz.Eklerseniz, bir uniqueidentifier sütun için bir tablo , yayımlanacak birleştirme çoğaltması için varsayılan. NEWSEQUENTIALID() belirtmek

  • Birleştirme çoğaltma büyük nesne türleri çoğaltmak için bir iyileştirmesi içerir.Bu iyileştirme tarafından kontrol @stream_blob_columns parametresi sp_addmergearticle.FILESTREAM öznitelik çoğaltmak için şema seçeneği ayarlarsanız, @stream_blob_columns parametre değeri küme true.Bu iyileştirme kullanarak geçersiz kılınabilir sp_changemergearticle.Bu saklı yordam sağlar küme @stream_blob_columns için false.FILESTREAM sütunu eklerseniz, bir tablo , zaten yayınlanır için birleştirme çoğaltması, size seçenek ayarlamak öneririz true kullanarak sp_changemergearticle.

  • Bir makale oluşturulduktan sonra FILESTREAM çoğaltma, başarısız olmasına neden olabilir için şema seçeneği etkinleştirmenin bir FILESTREAM verileri sütun 2 gb aşıyor ve çoğaltma sırasında bir çakışma bulunmaktadır.Bu durum ortaya çıkan bekliyorsanız, bırakın ve seçeneğiyle oluşturulması sırasında uygun FILESTREAM şema tablo makale yeniden oluşturmanız önerilir saat.

  • Birleştirme çoğaltma kullanarak bir https bağlantısı üzerinden FILESTREAM verileri senkronize edebilirsiniz Web eşitleme.Bu veriler Web eşitleme için 50 mb sınırı aşamaz; Aksi takdirde, run -saat hata üretilir.

Günlük dağıtımı

Sevkiyat oturum FILESTREAM destekler.Birincil ve ikincil sunucuları çalıştıran SQL Server 2008, ya da bir sonraki sürüm ve sahip FILESTREAM etkin.

Veritabanı ikizleme

Veritabanı yansıtma FILESTREAM desteklemez.FILESTREAM dosya grubu asıl sunucu üzerinde oluşturulamaz.FILESTREAM filegroups içeren bir veritabanı için veritabanı yansıtma yapılandırılamaz.

Tam metin dizin oluşturma

Tam metin dizin oluşturma ile yaptığı aynı şekilde çalışır FILESTREAM sütunlu bir 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: Varbinary(max) ve xml sütunlar (tam metin araması) sorgulama, Tam metin arama filtreleri, Tam metin dizin oluşturma ve sorgulama işlemi, ve sys.fulltext_document_types (Transact-sql).

Tam-metin arama motoru FILESTREAM BLOB'lar içeriğinin dizinini oluşturur.Resimler gibi dosyaları dizin oluşturma yararlı olmayabilir.FILESTREAM DAMLA güncelleştirildiğinde reindexed.

Yük Devretme Kümelemesi

Yerine çalışma için kümeleme, bir paylaşılan disk üzerinde FILESTREAM filegroups yerleştirme.FILESTREAM örnek barındıracak kümedeki her düğümde FILESTREAM etkinleştirilmiş olması gerekir.Daha fazla bilgi için bkz: Nasıl yapılır: Bir yük devretme kümesinde FILESTREAM ayarlayın.

SQL Server Express

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

Ayrıca bkz.

Diğer Kaynaklar