Aracılığıyla paylaş


FILESTREAM uyumluluğu ile diğer SQL Server özellikleri

FILESTREAM veri dosya sistemi olduğundan, bu konuda bazı konuları, esasları ve FILESTREAM aşağıdaki özellikleri kullanma sınırlamaları sağlar SQL Server:

  • SQL Server Tümleştirme Hizmetleri (SSIS)

  • Dağıtılmış sorgular ve bağlantılı sunucuları

  • Şifreleme

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

  • Çoğaltma

  • Günlük Aktarma

  • Veritabanı Yansıtma

  • Tam Metin

  • Yük Devretme Kümelemesi

  • SQL Server Express

SQL Server Tümleştirme Hizmetleri (SSIS)

SQL Server Tümleştirme Hizmetleri (SSIS) DT_IMAGE SSIS veri türünü kullanarak FILESTREAM veri veri akışı gibi diğer bir blob verileri işler.

Alma sütun dönüşümü, dosya sisteminden bir FILESTREAM sütun dosyaları yüklemek için kullanabilirsiniz. Sütun verme dönüşümü, FILESTREAM sütun başka bir konuma dosya sisteminde hulasa eğe için de kullanabilirsiniz.

Dağıtılmış sorgular ve bağlantılı sunucuları

Davranarak dağıtılmış sorgular ve bağlantılı sunucuları aracılığıyla FILESTREAM verilerle çalışabilir varbinary(max) verileri. Sen cant'kullanma FILESTREAM PathName() işlevinde bir four-part adı bile adı yerel sunucuya başvurduğunda kullanan dağıtılmış sorgular. Ancak sen-ebilmek kullanma PathName() iç sorgu kullanan bir doğrudan sorgu openquery().

Şifreleme

Saydam veri şifrelemesi etkin olsa bile zaman FILESTREAM veriler şifrelenmez.

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

SQL Serverdesteklemediği veritabanı anlık için FILESTREAM filegroups. FILESTREAM filegroup create database on yan tümcesinde eklediyseniz, deyimi başarısız olur ve bir hata yükseltilmiş.

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

Veritabanı anlık FILESTREAM tabloda yürütülen bir select deyimi FILESTREAM sütun içermemelidir; 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)Yayımcı etkin FILESTREAM öznitelik sütun çoğaltılmış veya FILESTREAM özniteliği olmadan abone. Sütun çoğaltılır şeklini belirtmek için kullanın Makalesi özellikleri - <yazı > iletişim kutusu ya da @schema\_optionparametresi sp_addarticle veya sp_addmergearticle. Çoğaltılan verileri bir varbinary(max)FILESTREAM özniteliği yok sütun veri türü; 2 gb sınırını aşmamalıdır Aksi takdirde, bir çalışma zamanı hatası üretilir. Verileri kopyalayan sürece FILESTREAM öznitelik çoğaltmak öneririz SQL Server 2005. Tabloları FILESTREAM sütunları çoğaltılıyor SQL Server 2000aboneleri desteklenmiyor, belirtilen şema seçeneği seçerseniz.

[!NOT]

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

Işlem çoğaltma konuları

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

  • Tüm tabloları FILESTREAM özniteliği sütunları eklerseniz, değerlerini kullanamazsınız database snapshotya database snapshot characteriçin @sync\_methodözelliği sp_addpublication.

  • max text repl sizeSeçeneği belirtir çoğaltma için yayımlanan bir sütun içine yerleştirilebilecek veri miktarı üst sınırıdır. Bu seçenek, çoğaltılan FILESTREAM veri boyutunu denetlemek için kullanılabilir.

  • FILESTREAM özniteliği çoğaltmak için şema seçeneği belirtin, ama eğer filtre uniqueidentifiergerektiren FILESTREAM sütun veya belirttiğiniz benzersiz kısıtlamayı sütun için çoğaltmak değil, çoğaltma FILESTREAM özniteliği çoğaltmak değil. Sütun yalnızca çoğaltılmış bir varbinary(max)sütun.

Birleştirme çoğaltma konuları

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

  • Her iki çoğaltma birleştirme ve FILESTREAM veri türünde bir sütun gerektirir uniqueidentifiertablodaki her satırı tanımlamak için. Birleştirme çoğaltması, tablo biri yoksa otomatik olarak bir sütun ekler. Birleştirme çoğaltma sütun ROWGUIDCOL özelliği ayarlamak ve newid veya NEWSEQUENTIALID() varsayılan olmasını gerektirir. Bu gereksinimlere ek olarak, FILESTREAM benzersiz kısıtlamayı sütun için tanımlanmış olması gerekir. Bu gereksinimler aşağıdaki sonuçları vardır:

    • Birleştirme çoğaltması için önceden yayımlanmış tablo FILESTREAM sütun eklerseniz, emin olun uniqueidentifiersütun sahip UNIQUE sınırlamasıyla. BENZERSİZ kısıtlama yok ise, yayını veritabanı tablosunda adlandırılmış kısıtlama ekleme. Varsayılan olarak, birleştirme çoğaltması bu şema değişikliği yayınlarız ve her abonelik veritabanına uygulanır.

      UNIQUE sınırlamasıyla açıklandığı şekilde el ile eklemeniz ve birleştirme çoğaltması kaldırmak istiyorsanız, benzersiz kısıtlamayı kaldırmalısınız; Aksi takdirde, çoğaltmayı kaldırma başarısız olur.

    • Varsayılan olarak, birleştirme çoğaltması NEWSEQUENTIALID() kullanır, çünkü o newid daha iyi performans sağlayabilirsiniz. Eğer bir uniqueidentifierbirleştirme çoğaltması için varsayılan olarak NEWSEQUENTIALID() belirlemek yayınlanacak bir tabloya sütun.

  • Birleştirme çoğaltması büyük nesne türleri çoğaltma bir iyileştirmesi içerir. Bu optimizasyon tarafından kontrol edilen @stream\_blob\_columnsparametresi sp_addmergearticle. FILESTREAM öznitelik çoğaltmak için şema seçeneği ayarlarsanız, @stream\_blob\_columnsparametre değeri ayarlamak true. Bu iyileştirme kullanarak geçersiz kılınabilir sp_changemergearticle. Bu saklı yordam ayarlamanızı sağlar @stream\_blob\_columnsiçin false. Birleştirme çoğaltması için önceden yayımlanmış tablo FILESTREAM sütun eklerseniz, sizin seçeneği ayarlamanızı öneririz truekullanarak sp_changemergearticle.

  • Bir makale oluşturulduktan sonra şema seçeneği için FILESTREAM etkinleştirme çoğaltma FILESTREAM sütun veri 2 gb aşıyor ve çoğaltma sırasında bir çakışma varsa başarısız olmasına neden olabilir. Ortaya çıkan bu durumun bekliyorsanız, bırak ve tablo makale oluşturma sırasında etkin uygun FILESTREAM şema seçeneği ile yeniden oluşturmanız önerilir.

  • Birleştirme çoğaltması eşitleyebilir FILESTREAM veri https bağlantısı kullanarak Web eşitleme. Bu veriler Web eşitleme için 50 mb sınırı aşamaz; Aksi takdirde, bir çalışma zamanı hatası üretilir.

Günlük Aktarma

Günlük sevkiyat FILESTREAM destekler. Birincil ve ikincil sunucuları çalışmalıdır SQL Server 2008, ya da bir sonraki sürümü var FILESTREAM etkin ve.

Veritabanı Yansıtma

Veritabanı yansıtma FILESTREAM desteklemez. FILESTREAM filegroup 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 dizinlemesi inşaat FILESTREAM sütun ile aynı şekilde ile öyle bir varbinary(max)sütun. FILESTREAM tabloda her FILESTREAM blob dosya adı uzantısını içeren bir sütun olması gerekir. Daha fazla bilgi için bkz: Tam metin arama sorgusuyla, Yapılandırmak ve arama filtrelerini yönetme, ve sys.fulltext_document_types (Transact-sql).

Tam metin altyapısı FILESTREAM BLOB'ları içeriğinin dizinini oluşturur. Resimler gibi dosyaları dizin oluşturma yararlı olmayabilir. FILESTREAM blob güncelleştirildiğinde bu reindexed.

Yük Devretme Kümelemesi

Yük Devretme Kümelemesi için FILESTREAM filegroups bir paylaşılan disk üzerinde koymak gerekir. FILESTREAM örneği barındıracak kümedeki her düğümde FILESTREAM etkinleştirilmiş olması gerekir. Daha fazla bilgi için, bkz. Failover kümede FILESTREAM ayarlamak.

SQL Server Express

SQL Server ExpressFILESTREAM destekler. 10 gb veritabanı boyutunu FILESTREAM veri kapsayıcısı içermez.

Ayrıca bkz.

Kavramlar

İkili büyük nesne (Blob) veri (SQL Server)