Diğer SQL Server özellikleri ile fileTable uyumluluk

FileTables diğer özellikleri ile nasıl çalıştığını açıklar SQL Server.

Bu Konuda

  • AlwaysOn kullanılabilirlik grupları ve FileTables

  • Bölümleme ve FileTables

  • Çoğaltma ve FileTables

  • Hareket semantiği ve FileTables

  • Sorgu bildirimleri ve FileTables

  • İÇİNE seçin ve FileTables

  • Tetikleyiciler ve FileTables

  • Görüş ve FileTables

  • Anlık görüntü yalıtım ve FileTables

  • Okunabilir ikincil veritabanları

  • İçerdiği veritabanları ve FileTables

AlwaysOn kullanılabilirlik grupları ve FileTables

Ne zaman FILESTREAM veya FileTable veri içeren veritabanını bir AlwaysOn kullanılabilirlik grubuna ait:

[YUKARI]

Bölümleme ve FileTables

Bölümleme, FileTables üzerinde desteklenmiyor. Birden çok FILESTREAM dosya grupları desteğiyle, çoğu senaryoda (aksine sql 2008 2008–based) bölümleme için başvurmak zorunda kalmadan saf ölçek büyütme konuları ele alınabilir.

[YUKARI]

Çoğaltma ve FileTables

Çoğaltma ve ilgili özellikleri (işlem çoğaltma, birleştirme çoğaltması, değişiklik veri yakalama ve izleme Değiştir dahil) FileTables ile desteklenmez.

[YUKARI]

Hareket semantiği ve FileTables

  • Windows uygulamaları
    Böylece Windows işlemleri bir veritabanı hareketinin ACID Özellikleri sağlamayan yazma Windows uygulamaları veritabanı işlemleri, anlamıyorum. Bu nedenle işlem Al ve kurtarma Windows güncelleştirme işlemleri ile mümkün değildir.

  • Transact-sql uygulamaları
    tsql uygulamaları, bir FileTable (file_stream) FILESTREAM sütun üzerinde Yalıtım semantiği normal kullanıcı tablo FILESTREAM veri türü ile aynıdır.

[YUKARI]

Sorgu bildirimleri ve FileTables

Sorgu, FileTable, where yan tümcesi veya diğer herhangi bir sorgunun parçası FILESTREAM sütun başvurusu içeremez.

[YUKARI]

İÇİNE seçin ve FileTables

select INTO a FileTable ifadeler (tıpkı normal bir tablo FILESTREAM sütun) oluşturulan hedef tablo FileTable semantiği yaymak değil. Tüm hedef tablo sütunları sadece normal sütunları gibi davranır. FileTable herhangi bir semantik ilişkili olmaz.

[YUKARI]

Tetikleyiciler ve FileTables

  • ddl (veri tanımlama dili) Tetikleyiciler
    ddl Tetikleyiciler ile FileTables için hiçbir özel hususlar vardır. Normal ddl Tetikleyiciler create ve alter TABLOSUNU işlemleri için FileTables yanı sıra, Create ve Alter veritabanı işlemleri için ateş olacaktır. Tetikleyiciler, eventdata() işlevini çağırarak ddl komutu metin ve diğer bilgileri içeren gerçek olay verileri alabilirsiniz. Yeni olaylar veya varolan Eventdata şema değişiklikleri yoktur.

  • Tetikleyiciler dml (Data Manipulation Language)
    Bu kısıtlamaları Tetikleyiciler oluşturmak için ddl işlem sırasında uygulanır.

    • FileTables INSTEAD OF Tetikleyiciler dml işlemleri desteklemez. Tüm tablolarda FILESTREAM sütunları içeren varolan bir kısıtlama budur.

    • FileTables sonra Tetikleyiciler dml işlemleri destekler.

    • Bir FileTable üzerinde tanımlı Tetikleyiciler (üst FileTable dahil) herhangi bir FileTables güncelleştiremiyor. Esas olarak tetikleyici kilitleme çakışması ile dosya sistemi erişimi de aynı işlem tarafından tutulan kilitleri önlemek için bu kısıtlama bulunmaktadır.

  • Sigara-işlem erişim ve Tetikleyiciler üzerindeki etkileri

    • İşlem dışı güncelleştirme access veritabanında izin verildiğinde bu FILESTREAM veri güncelleme FileTable birlikte bu veritabanındaki herhangi bir tabloda yerinde mümkündür. Bu olasılık nedeniyle önce FILESTREAM içeriğinin görüntüyü tetikleyici kullanımına olmayabilir.

    • İşlem dışı güncelleştirme işlemleri dosya sistemi için SQL Server CloseHandle işlem yakalamak için bir iç işlem oluştur ve bu işlemin bir parçası tanımlanan tüm dml Tetikleyiciler ateş. Bir geri alma tetikleyici gövdesi içinde böyle bir hareketi engelledi yok ederken, FILESTREAM için yapılan değişiklikleri geri değil. Düz-se bile FILESTREAM içeriği değiştirilmiş olabilir böyle bir geri alma Update Tetikleyiciler ateş olmak da engelleyebilir.

    • Bu etkilerin yanı sıra, FileTables Tetikleyicileri çift ek davranışları ile uğraşmak gerekiyor

      • Durumunda işlem dışı işlemler FileTable dosya sistemi üzerinden güncelleme, FILESTREAM içeriği sadece diğer Win32 işlemleri tarafından kilitlenmiş olabilir ve okuma/yazma tetikleyici gövdesi üzerinden erişilebilir olmayabilir mümkündür. Bu gibi durumlarda, tetikleyici gövdesi içinde FILESTREAM içeriğine erişmek için herhangi bir girişimi "Paylaşım ihlali" hata verebilir. Tetikleyiciler gibi hataları uygun biçimde işlemek için tasarlanmış olması.

      • FILESTREAM görüntüsünü bazı durumlarda bu yana kararlı olmayabilir sonra o aktif (nedeniyle dosya sistemi erişim izin paylaşım modları) aynı anda işlem dışı diğer güncelleştirmeler tarafından yazılabilir.

    • Anormal fesih Win32 kolları, Win32 açık öldürülmesi gibi işleyen bir yönetici tarafından veya bir veritabanı çarpışma değil yürütme kullanıcı Tetikleyiciler kurtarma işlemleri sırasında düz-se bile FILESTREAM içeriği anormal olarak sona erdirilen Win32 uygulama tarafından değiştirilmiş olabilir.

[YUKARI]

Görüş ve FileTables

  • Görünümler
    Görünüm üzerinde bir FileTable gibi başka herhangi bir tablo oluşturulabilir. Ancak bir görüntülemek için aşağıdaki noktalara üzerinde bir FileTable oluşturuldu:

    • Görünüm FileTable herhangi bir anlamı yoktur. Yani (dosya özniteliği sütunları da dahil olmak üzere) görünümü'nde sütunları normal görünümde sütunları olmadan herhangi bir özel anlambilim gibi davranır ve aynı dosyaları ve dizinleri temsil eden satırlar için de geçerlidir.

    • Görünüm üzerinde "güncelleştirilebilir görünümü" semantik tabanlı güncelleştirilebilir olabilir, ancak temel tablo kısıtlamaları güncelleştirmeleri gibi tabloda reddedebilirsiniz.

    • Dosya yolu bir dosya görünümü görünümünde açık bir sütun ekleyerek görüntülenmeyecektir. Örneğin:

      CREATE VIEW MP3FILES AS SELECT column1, column2, …, GetFileNamespacePath() AS PATH, column3,… FROM Documents

  • Dizin oluşturulmuş görünümler
    Şu anda dizin oluşturulmuş görünümler FILESTREAM sütunları veya hesaplanan ve kalıcı FILESTREAM sütunları bağımlı hesaplanmış sütunları içeremez. Bu davranış, FileTable de tanımlanan görünümleriyle değişmeden kalır.

[YUKARI]

Anlık görüntü yalıtım ve FileTables

Okuma kaydedilmiş anlık yalıtım (RCSI) ve anlık görüntü yalıtım (SI) veri güncelleştirme işlemlerini bile gerçekleşiyor okuyucular için kullanılabilir veri anlık sahip yeteneği güveniyor. Ancak FileTables FILESTREAM veri işlem dışı yazma erişimine izin verir. Sonuç olarak, FileTables içeren veritabanları bu özellikleri kullanmak için aşağıdaki kısıtlamalar geçerlidir:

  • FileTables içeren bir veritabanı, RCSI/SI etkinleştirmek için değiştirilebilir.

  • Non_transactional erişim tam veritabanı için ayarlandığında, RCSI veya SI altında çalışan bir işlem aşağıdaki davranış vardır:

    • Herhangi bir Transact-SQLFileTable file_stream sütun okuma başarısız. INSERT ve update file_stream sütun okumak değil sürece sütun için hala, başarılı.

    • Eğer Transact-SQLdeyimi belirtir READCOMMITTEDLOCK tablo ipucu, okur başarılı ve satır kilitleri almak yerine satır sürüm oluşturma kullanın.

    • Açık işlem temelli Win32 FILESTREAM başarısız da ister.

    • FileTable Win32 erişim sigara temelli başarılı olur. FileTable tarafından yapılan tüm iç sorgular etkilenmez.

    • Fulltext dizin her zaman, ne veritabanı seçeneklerini (READ_COMMITTED_SNAPSHOT veya ALLOW_SNAPSHOT_ISOLATION) olan olursa olsun başarılı.

[YUKARI]

Okunabilir ikincil veritabanları

Aynı anlık olarak okunabilir ikincil veritabanları için önceki bölümde açıklandığı gibi noktalara anlık görüntü yalıtım ve FileTables.

İçerdiği veritabanları ve FileTables

FileTables içeren veritabanlarını değil tamamen bulunan kendi bağımlılık düzeyinde belirtilen paylaşım nedeniyle SQL Serveriçin FILESTREAM veri örneği.

[YUKARI]

Ayrıca bkz.

Kavramlar

FileTables yönetme