Aracılığıyla paylaş


FileTables (SQL Server)

Şunlar için geçerlidir: SQL Server

FileTable özelliği, Windows dosya ad alanı için destek ve WINDOWS uygulamalarıyla SQL Server'da depolanan dosya verilerine uyumluluk sağlar. FileTable, bir uygulamanın depolama ve veri yönetimi bileşenlerini tümleştirmesine olanak tanır ve yapılandırılmamış veriler ve meta veriler üzerinde tam metin araması ve semantik arama da dahil olmak üzere tümleşik SQL Server hizmetleri sağlar.

Başka bir deyişle, dosyaları ve belgeleri SQL Server'da FileTables adlı özel tablolarda depolayabilirsiniz, ancak istemci uygulamalarınızda herhangi bir değişiklik yapmadan dosya sisteminde depolanmış gibi Windows uygulamalarından bunlara erişebilirsiniz.

FileTable özelliği, SQL Server FILESTREAM teknolojisinin üzerine inşa edilir. FILESTREAM hakkında daha fazla bilgi edinmek için bkz. FILESTREAM (SQL Server).

FileTable özelliğinin avantajları

FileTable özelliğinin hedefleri şunlardır:

  • SQL Server veritabanında depolanan dosya verileri için Windows API uyumluluğu. Windows API uyumluluğu aşağıdakileri içerir:

    • FILESTREAM verilerine işlem dışı akış erişimi ve yerinde güncelleştirmeler.

    • Dizinlerin ve dosyaların hiyerarşik ad alanı.

    • Oluşturma tarihi ve değiştirme tarihi gibi dosya özniteliklerinin depolanması.

    • Windows dosya ve dizin yönetimi API'leri desteği.

  • FILESTREAM ve dosya özniteliği verileri üzerinden yönetim araçları, hizmetler ve ilişkisel sorgu özellikleri de dahil olmak üzere diğer SQL Server özellikleriyle uyumluluk.

Bu nedenle FileTable'lar, şu anda dosya sunucularında dosya olarak bulunan yapılandırılmamış verilerin depolanması ve yönetilmesi için SQL Server'ın kullanımına yönelik önemli bir engeli kaldırır. Kuruluşlar, SQL Server tarafından sağlanan tümleşik yönetim ve hizmetlerden yararlanmak için bu verileri dosya sunucularından FileTable'lara taşıyabilir. Aynı zamanda, bu verileri dosya sisteminde dosya olarak gören mevcut Windows uygulamaları için Windows uygulama uyumluluğunu koruyabilirler.

FileTable nedir?

SQL Server, Windows API uyumluluğu ve işlem dışı erişim ile veritabanında dosya ve dizin depolaması gerektiren uygulamalar için FileTable olarak da adlandırılan özel bir dosya tablosu sağlar. FileTable, FILESTREAM verilerinin yanı sıra dosya ve dizin hiyerarşisi bilgileri ile dosya özniteliklerini depolayan önceden tanımlanmış bir şemaya sahip özel bir kullanıcı tablosudur.

FileTable aşağıdaki işlevleri sağlar:

  • FileTable, dizin ve dosya hiyerarşisini temsil eder. Hem dizinler hem de içerdikleri dosyalar için bu hiyerarşideki tüm düğümlerle ilgili verileri depolar. Bu hiyerarşi, FileTable'ını oluştururken belirttiğiniz bir kök dizinden başlar.

  • FileTable'daki her satır bir dosyayı veya dizini temsil eder.

  • Her satır aşağıdaki öğeleri içerir. FileTable şeması hakkında daha fazla bilgi için bkz. FileTable Şeması.

    • file_stream Akış verileri için bir stream_id sütun ve (GUID) tanımlayıcısı. (Sütun file_stream, bir klasör için NULL'dir.)

    • Geçerli öğeyi (dosya veya dizin) ve dizin hiyerarşisini temsil etmek ve korumak için hem hem de sütunları.

    • Dosya G/Ç API'lerinde yararlı olan oluşturma tarihi ve değiştirme tarihi gibi 10 dosya özniteliği.

    • Dosyalar ve belgeler üzerinde tam metin arama ve anlamsal aramayı destekleyen bir tür sütunu.

  • FileTable, dosya ad alanı semantiğini korumak için belirli sistem tanımlı kısıtlamaları ve tetikleyicileri zorunlu tutar.

  • Veritabanı işlem dışı erişim için yapılandırıldığında, FileTable'da temsil edilen dosya ve dizin hiyerarşisi, SQL Server örneği için yapılandırılan FILESTREAM paylaşımı altında gösterilir. Bu, Windows uygulamaları için dosya sistemi erişimi sağlar.

FileTable'ların bazı ek özellikleri

  • FileTable'da depolanan dosya ve dizin verileri, Windows API tabanlı uygulamalar için işlem dışı dosya erişimi için bir Windows paylaşımı aracılığıyla kullanıma sunulur. Bir Windows uygulaması için bu, dosyaları ve dizinleriyle normal bir paylaşım gibi görünür. Uygulamalar, bu paylaşım altındaki dosyaları ve dizinleri yönetmek için zengin bir Windows API'leri kümesi kullanabilir.

  • Paylaşım aracılığıyla ortaya çıkarılmış dizin hiyerarşisi, FileTable içinde tutulan tamamen mantıksal bir dizin yapısıdır.

  • Windows paylaşımı aracılığıyla bir dosya veya dizin oluşturmak veya değiştirmek için yapılan çağrılar bir SQL Server bileşeni tarafından kesilir ve FileTable'daki ilgili ilişkisel verilere yansıtılır.

  • Windows API işlemleri doğası gereği işlemsel değildir ve kullanıcı işlemleriyle ilişkilendirilmemiştir. Ancak, bir FileTable'da depolanan FILESTREAM verilerine işlemsel erişim, normal tablodaki tüm FILESTREAM sütunlarında olduğu gibi tam olarak desteklenir. Dosyaları birden çok bağlantıdan sık sık değiştirmeniz ve düzgün dosya koruması sağlamanız gerekiyorsa, Windows API düzeyinde özel dosya kilitleri yerine OpenSqlFilestream() aracılığıyla işlem FILESTREAM erişimini kullanın.

  • FileTable'lar da normal Transact-SQL erişimi aracılığıyla sorgulanabilir ve güncelleştirilebilir. Ayrıca SQL Server yönetim araçları ve yedekleme gibi özelliklerle tümleştirilir.

  • Veritabanı Postası aracılığıyla e-posta isteği gönderemez ve FILESTREAM dizininde (ve dolayısıyla FileTable) bulunan bir dosya ekleyemezsiniz. Dosya sistemi filtre sürücüsü RsFx0420, FILESTREAM klasörüne girip çıkan gelen G/Ç isteklerini inceler. İstek hem SQLServer çalıştırılabilir dosyasından hem de FILESTREAM kodundan değilse, bu isteklere açıkça izin verilmez.

FileTable'ları kullanma konusunda dikkat edilmesi gereken ek noktalar

Yönetimle ilgili dikkat edilmesi gerekenler

FILESTREAM ve FileTables hakkında

FileTable'ları FILESTREAM'dan ayrı olarak yapılandırabilirsiniz. Bu nedenle işlem dışı erişimi etkinleştirmeden veya FileTable oluşturmadan FILESTREAM özelliğini kullanmaya devam edebilirsiniz.

FileTable'lar dışında FILESTREAM verilerine işlem dışı erişim yoktur. Bu nedenle, işlem dışı erişimi etkinleştirdiğinizde, mevcut FILESTREAM sütunlarının ve uygulamalarının davranışı etkilenmez.

FileTable'lar ve işlem dışı erişim hakkında

veritabanı düzeyinde işlem dışı erişimi etkinleştirebilir veya devre dışı bırakabilirsiniz.

Veritabanı düzeyinde işlem dışı erişimi kapatarak veya salt okunur veya tam okuma/yazma erişimini etkinleştirerek yapılandırabilir veya bunlara ince ayar yapabilirsiniz.

FileTable'lar bellekle eşlenen dosyaları desteklemez

FileTable'lar bellekle eşlenen dosyaları desteklemez. Not Defteri ve Paint, bellekle eşlenen dosyalar kullanan uygulamaların iki yaygın örneğidir. Bir FileTable'da depolanan dosyaları açmak için bu uygulamaları SQL Server ile aynı bilgisayarda kullanamazsınız. Ancak, bu durumlarda bellek eşleme özelliği kullanılmadığından, bu uygulamaları bir FileTable'da depolanan dosyaları açmak için uzak bir bilgisayardan kullanabilirsiniz.