Bagikan melalui


FileTableRootPath (Transact-SQL)

Berlaku untuk: SQL Server

Mengembalikan jalur UNC tingkat akar untuk FileTable tertentu atau untuk database saat ini.

Sintaks

  
FileTableRootPath ( [ '[schema_name.]FileTable_name' ], @option )  

Argumen

FileTable_name
Nama FileTable. FileTable_name berjenis nvarchar. Ini adalah parameter opsional. Nilai defaultnya adalah database saat ini. Menentukan schema_name juga bersifat opsional. Anda dapat meneruskan NULL untuk FileTable_name menggunakan nilai parameter default

@option
Ekspresi bilangan bulat yang menentukan bagaimana komponen server jalur harus diformat. @option bisa memiliki salah satu nilai berikut:

Nilai Deskripsi
0 Mengembalikan nama server yang dikonversi ke format NetBIOS, misalnya:

\\SERVERNAME\MSSQLSERVER\MyDocumentDatabase

Ini adalah nilai default.
1 Mengembalikan nama server tanpa konversi, misalnya:

\\ServerName\MSSQLSERVER\MyDocumentDatabase
2 Mengembalikan jalur server lengkap, misalnya:

\\ServerName.MyDomain.com\MSSQLSERVER\MyDocumentDatabase

Jenis Hasil

nvarchar(4000)

Saat database termasuk dalam grup ketersediaan AlwaysOn, maka fungsi FileTableRootPath mengembalikan nama jaringan virtual (VNN) alih-alih nama komputer.

Keterangan Umum

Fungsi FileTableRootPath mengembalikan NULL ketika salah satu kondisi berikut ini benar:

  • Nilai FileTable_name tidak valid.

  • Pemanggil tidak memiliki izin yang memadai untuk mereferensikan tabel yang ditentukan atau database saat ini.

  • Opsi FILESTREAM dari database_directory tidak diatur untuk database saat ini.

Untuk informasi selengkapnya, lihat Bekerja dengan Direktori dan Jalur di FileTables.

Praktik Terbaik

Untuk menjaga kode dan aplikasi tetap independen dari komputer dan database saat ini, hindari menulis kode yang bergantung pada jalur file absolut. Sebagai gantinya, dapatkan jalur lengkap untuk file pada waktu proses dengan menggunakan fungsi FileTableRootPath dan GetFileNamespacePath bersama-sama, seperti yang ditunjukkan dalam contoh berikut. Secara default, fungsi GetFileNamespacePath mengembalikan jalur relatif file di bawah jalur akar untuk database.

USE MyDocumentDatabase;  
  
@root varchar(100)  
SELECT @root = FileTableRootPath();  
@fullPath = varchar(1000);  
  
SELECT @fullPath = @root + file_stream.GetFileNamespacePath()  
FROM DocumentStore  
WHERE Name = N'document.docx';  

Keamanan

Izin

Fungsi FileTableRootPath memerlukan:

  • Izin SELECT pada FileTable untuk mendapatkan jalur akar fileTable tertentu.

  • db_datareader atau izin yang lebih tinggi untuk mendapatkan jalur akar untuk database saat ini.

Contoh

Contoh berikut menunjukkan cara memanggil fungsi FileTableRootPath .

USE MyDocumentDatabase;  
-- returns "\\MYSERVER\MSSQLSERVER\MyDocumentDatabase"  
SELECT FileTableRootPath();  
  
-- returns "\\MYSERVER\MSSQLSERVER\MyDocumentDatabase\MyFileTable"  
SELECT FileTableRootPath(N'dbo.MyFileTable');  
  
-- returns "\\MYSERVER\MSSQLSERVER\MyDocumentDatabase\MyFileTable"  
SELECT FileTableRootPath(N'MyFileTable');  

Lihat Juga

Bekerja dengan Direktori dan Jalur di FileTables