Bagikan melalui


Dukungan FILESTREAM

Berlaku untuk: SQL Server

Penting

SQL Server Native Client (SNAC) tidak dikirim dengan:

  • SQL Server 2022 (16.x) dan versi yang lebih baru
  • SQL Server Management Studio 19 dan versi yang lebih baru

SQL Server Native Client (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan aplikasi baru.

Untuk proyek baru, gunakan salah satu driver berikut:

Untuk SQLNCLI yang dikirim sebagai komponen SQL Server Database Engine (versi 2012 hingga 2019), lihat pengecualian Siklus Hidup Dukungan ini.

FILESTREAM menyediakan cara untuk menyimpan dan mengakses nilai biner besar, baik melalui SQL Server atau dengan akses langsung ke sistem file Windows. Nilai biner besar adalah nilai yang lebih besar dari 2 gigabyte (GB). Untuk informasi selengkapnya tentang dukungan FILESTREAM yang ditingkatkan, lihat FILESTREAM (SQL Server).

Ketika koneksi database dibuka, @@TEXTSIZE akan diatur ke -1 ("tidak terbatas"), secara default.

Anda juga dapat mengakses dan memperbarui kolom FILESTREAM menggunakan API sistem file Windows.

Untuk mengetahui informasi selengkapnya, lihat topik berikut:

Mengkueri untuk Kolom FILESTREAM

Kumpulan baris skema di OLE DB tidak akan melaporkan apakah kolom adalah kolom FILESTREAM. ITableDefinition di OLE DB tidak dapat digunakan untuk membuat kolom FILESTREAM.

Fungsi katalog seperti SQLColumns di ODBC tidak akan melaporkan apakah kolom adalah kolom FILESTREAM.

Untuk membuat kolom FILESTREAM atau mendeteksi kolom mana yang ada adalah kolom FILESTREAM, Anda bisa menggunakan kolom is_filestream tampilan katalog sys.columns .

Berikut ini adalah contohnya:

-- Create a table with a FILESTREAM column.  
CREATE TABLE Bob_01 (GuidCol1 uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWID(), IntCol2 int, varbinaryCol3 varbinary(max) FILESTREAM);  
  
-- Find FILESTREAM columns.  
SELECT name FROM sys.columns WHERE is_filestream=1;  
  
-- Determine whether a column is a FILESTREAM column.  
SELECT is_filestream FROM sys.columns WHERE name = 'varbinaryCol3' AND object_id IN (SELECT object_id FROM sys.tables WHERE name='Bob_01');  

Kompatibilitas Tingkat Bawah

Jika klien Anda dikompilasi menggunakan versi SQL Server Native Client yang disertakan dengan SQL Server 2005 (9.x), dan aplikasi terhubung ke versi SQL Server yang lebih baru, perilaku varbinary(max) akan kompatibel dengan SQL Server 2005 (9.x). Artinya, ukuran maksimum data yang dikembalikan akan dibatasi hingga 2 GB. Untuk nilai hasil yang lebih besar dari 2 GB, pemotongan akan terjadi dan peringatan "pemotongan kanan data string" akan dikembalikan.

Ketika kompatibilitas jenis data diatur ke 80, perilaku klien akan konsisten dengan perilaku klien tingkat bawah.

Untuk klien yang menggunakan SQLOLEDB atau penyedia lain yang dirilis sebelum versi SQL Server 2005 (9.x) dari SQL Server Native Client, varbinary(max) akan dipetakan ke gambar.

Lihat Juga

Fitur Klien Asli SQL Server