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.
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.
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