Dosya I\O API'leri erişim FileTables

Dosya sistemi I/O üzerinde bir FileTable nasıl çalıştığını açıklar.

Bu Konuda

I want to...

  • Dosya g/Ç API'ları ile FileTables kullanmaya başlama

  • Dosyaları ve dizinleri bir FileTable oluşturmak

  • Dosyaları ve dizinleri bir FileTable okuyun

  • Güncelleştirme dosyaları ve dizinleri bir FileTable

  • Dosya ve dizinleri silmek a FileTable

Daha fazla bilgi edinin

  • Desteklenen dosya sistemi işlemleri

  • FileTables için Dosya g/Ç erişim için ek konuları

    • Sanal ağ adları (VNNs) AlwaysOn kullanılabilirlik grupları ile kullanma

    • Kısmi güncelleştirmeler

    • İşlem semantiği

    • Eşzamanlılık denetimi

    • Tetikleyicileri

  • FileTables'de desteklenen dosya sistem işlevleri

Dosya g/Ç API'ları ile FileTables kullanmaya başlama

FileTables birincil kullanımı Windows dosya sistemi ve dosya g/Ç API'ları olması bekleniyor. FileTables, zengin bir dosya g/Ç API kümesi aracılığıyla işlem dışı erişimi destekler.

  1. Dosya g/Ç API erişimi genellikle dosya veya dizin için mantıksal bir unc yolu kazanılması ile başlar. Uygulamaları kullanarak bir Transact-SQLdeyimi ile GetFileNamespacePath (Transact-sql)Dosya veya dizin için mantıksal yol almak için işlevi. Daha fazla bilgi için, bkz. Dizinler ve FileTables yolları ile çalışmak.

  2. Sonra uygulama, dosya veya dizin için bir tanıtıcı elde ve nesne ile bir şeyler yapmak için bu mantıklı yolu kullanır. Yolu herhangi bir desteklenen dosya sistemi oluşturmak veya bir dosyayı açmak ve bir tanıtıcı elde CreateFile() ya da CreateDirectory(), API işlevi geçirilebilir. Tanıtıcı sonra veri akışı için numaralandırmak veya almak veya dosyaları veya dizinleri silmek için dosya özniteliklerini ayarlamak için dizinleri düzenlemek için kullanılan ve benzeri.

[YUKARI]

Dosyaları ve dizinleri bir FileTable oluşturma

Bir dosya ya da dizin içinde bir FileTable Dosya g/Ç API CreateFile ya da CreateDirectory gibi çağırarak oluşturulabilir.

  • Tüm oluşturma eğilimini bayrakları, paylaşım modları ve erişim modları desteklenir. Bu, dosya oluşturma, silme ve yerinde değişiklik içerir. Ayrıca desteklenen dosya Namespace yani güncellemeleri vardır Dizin oluşturma/silme, yeniden adlandırma ve taşıma işlemlerini.

  • Yeni bir dosya veya dizin oluşturulması temel FileTable yeni bir satırda oluşturulmasına karşılık gelir.

  • Dosyalar için veri akışı depolanan file_stream sütun; dizinler için bu sütun null olur.

  • Dosyalar için is_directory sütun içeren yanlış. Dizinler için bu sütunu içeren gerçek.

  • Paylaşım ve erişim eşzamanlılık zorunlu olduğunda birden çok eşzamanlı dosya işlemlerini veya Transact-SQLişlemlerini etkileyen aynı dosya ya da dizin hiyerarşisindeki.

[YUKARI]

Dosyaları ve dizinleri bir FileTable okuma

Okuma kaydedilmiş yalıtım semantiği zorunlu olarak SQL Servertüm dosya g/Ç erişim işlemleri üzerinde veri akışı ve öznitelik için.

[YUKARI]

Yazma ve dosyaları ve dizinleri bir FileTable güncelleştirme

  • Tüm I/O yazma dosya veya işlemsel olmayan bir FileTable güncelleştirme işlemleri. Başka bir deyişle, no SQL Serverişlem bağlı bu operasyonlara ve hiçbir asit sağlanan garanti.

  • Tüm dosya I/O akış/yerinde güncelleştirmeleri FileTable için desteklenir.

  • Güncelleştirmeleri FILESTREAM veri veya özniteliklerini dosya g/Ç API sonucu ilgili güncelleştirmeleri aracılığıyla file_stream ve FileTable özniteliği sütunları dosya.

[YUKARI]

Dosyaları ve dizinleri bir FileTable silme

Bir dosya ya da dizin sildiğinizde tüm Windows Dosya g/Ç API semantiği uygulanır.

  • Dizin alt dosya dizinleri içeren bir dizin silme başarısız olur.

  • Bir dosya ya da dizin silme karşılık gelen satır FileTable kaldırır. Bu üzerinden satır silme için eşdeğer bir Transact-SQLOperasyon.

[YUKARI]

Desteklenen dosya sistemi işlemleri

FileTables API aşağıdaki dosya sistemi işlemleri için ilgili dosya sistemini destekler:

  • Dizin yönetimi

  • Dosya Yönetimi

FileTables, aşağıdaki işlemleri desteklemez:

  • Disk Yönetimi

  • Birim Yönetimi

  • İşlemsel ntfs

[YUKARI]

FileTables için Dosya g/Ç erişim için ek konuları

Sanal ağ adları (VNNs) AlwaysOn kullanılabilirlik grupları ile kullanma

FILESTREAM veya FileTable veri içeren veritabanını bir AlwaysOn kullanılabilirlik grubuna ait, sonra tüm erişim FILESTREAM veya FileTable veri API'leri dosya sistemi üzerinden VNNs yerine bilgisayar adlarını kullanmanız gerekir. Daha fazla bilgi için, bkz. FILESTREAM ve FileTable AlwaysOn kullanılabilirlik gruplar (SQL Server).

Kısmi güncelleştirmeler

Yazılabilir bir tanıtıcı elde FILESTREAM verilerini bir FileTable kullanarak GetFileNamespacePath (Transact-sql)işlevini, yerinde, kısmi güncelleştirmeleri FILESTREAM için içerik sağlamak için kullanılabilir. Bu davranış çağırarak elde bir kolu ile işlenen FILESTREAM Access'ten farklı OpenSQLFILESTREAM() ve geçen bir açık işlem bağlamı.

[YUKARI]

İşlem semantiği

Bir FileTable dosyalarında dosya g/Ç API kullanarak eriştiğinizde, bu işlemleri herhangi bir kullanıcı hareketleriyle ilişkili olmayan ve aşağıdaki ek özelliklere sahiptir:

  • İşlem temelli olmayan erişim FILESTREAM veri içinde a FileTable herhangi bir hareket ile ilişkili olmadığından, herhangi bir özel Yalıtım semantiği yok. Ancak SQL Serverİç işlemleri kilitleme veya eşzamanlılık semantiği FileTable verilere uygulamak için kullanabilirsiniz. Bu tür herhangi bir iç işlemleri, okuma kaydedilmiş yalıtım ile yapılır.

  • FILESTREAM veri temelli olmayan bu operasyonlar için asit garanti vardır. Tutarlılığını garanti dosya sisteminde uygulamalar tarafından yapılan dosya güncelleştirmeleri için benzerdir.

  • Bu değişiklik geri alınamaz.

Ancak, bir FileTable FILESTREAM sütununda da işlem FILESTREAM erişim ile çağırarak erişilebilir OpenSqlFileStream(). Bu tür bir erişim ve tam olarak işlem olabilir sürekli desteklenmekte tüm düzeyleri işlem onur.

[YUKARI]

Eşzamanlılık denetimi

SQL ServerEşzamanlılık denetimi için FileTable zorlar erişim dosya sistemi uygulamaları arasında ve dosya sistemi uygulamaları arasında ve Transact-SQLuygulamalar. Bu eşzamanlılık denetimi FileTable satırları uygun kilitleri alarak elde edilir.

[YUKARI]

Tetikleyicileri

Oluşturma, değiştirme veya silme dosya veya dizinler veya kendi nitelikleri ile ilgili ekleme, dosya sistemi sonuçları güncelleştirme veya silme işlemlerini de FileTable. İlişkili herhangi bir Transact-SQLbu operasyonların bir parçası olarak dml Tetikleyicileri harekete geçirildi.

[YUKARI]

FileTables'de desteklenen dosya sistem işlevleri

Yeteneği

Desteklenen

Açıklamalar

Oplock

Evet

Oplock Level 2, düzey 1, toplu ve filtre için destek yoktur.

Genişletilmiş öznitelikleri

Hayır

Yeniden ayrıştırma noktaları

Hayır

Persistent ACLs

Hayır

Adlandırılmış Akışları

Hayır

Seyrek dosyalar

Evet

Zayıflığına dosyalar üzerinde ayarlanabilir ve depolama veri akışının etkiler. FILESTREAM veri ntfs birimleri üzerinde depolanan beri FileTable özellik, ntfs dosya sistemi isteklerini ileterek seyrek dosyaları destekler.

Sıkıştırma

Evet

Encryptiion

Evet

TxF

Hayır

Dosya kimlikleri

Hayır

Nesne kimlikleri

Hayır

Simgesel bağlantılar

Hayır

Sabit bağlantılar

Hayır

Kısa adlar

Hayır

Dizin değişikliği bildirimleri

Hayır

Bayt aralığı kilitleme

Evet

Bayt aralığı kilitleme isteği, ntfs dosya sistemine aktarılır.

Bellek eşlemeli dosyalar

Hayır

G/Ç iptal

Evet

Güvenlik

Hayır

Windows paylaşma düzeyi güvenlik ve SQL Servertablo ve sütun düzeyi güvenlik zorunlu.

usn günlüğü

Hayır

Meta veri değişiklikleri dosyaları ve dizinleri bir FileTable olan dml işlemleri bir SQL Serververitabanı. Bu nedenle ilgili veritabanı günlük dosyasına kaydedilir. Ancak onlar ntfs usn günlüğünde (dışında için boyut değişiklikleri) günlüğe kaydedilmez.

SQL Serverdeğişiklik izleme yetenekleri, benzer bilgileri yakalamak için kullanılabilir.

[YUKARI]

Ayrıca bkz.

Kavramlar

Yükleme dosyalarına FileTables

Dizinler ve FileTables yolları ile çalışmak

Transact-SQL erişim FileTables

FileTable ddl, İşlevler, saklı yordamlar ve görünümler