FileTableRootPath (Transact-SQL)

Şunlar için geçerlidir: SQL Server

Belirli bir Dosya Tablosu veya mevcut veritabanı için kök seviyesinde UNC yolunu döndürür.

Syntax

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

Arguments

FileTable_name
FileTable'ın adı. FileTable_namenvarchar türündendir. Bu isteğe bağlı bir parametredir. Varsayılan değer mevcut veritabanıdır. schema_name belirtmek de isteğe bağlıdır. Varsayılan parametre değerini kullanması için FileTable_name NULL verebilirsiniz

@option
Yolun sunucu bileşeninin nasıl biçimlendirileceğini tanımlayan bir tamsayı ifadesi. @option aşağıdaki değerlerden birine sahip olabilir:

Değer Description
0 Sunucu adını NetBIOS formatına dönüştürülmüş olarak döndürür, örneğin:

\\SERVERNAME\MSSQLSERVER\MyDocumentDatabase

Bu varsayılan değerdir.
1 Sunucu adını dönüştürmeden döndürür, örneğin:

\\ServerName\MSSQLSERVER\MyDocumentDatabase
2 Tam sunucu yolunu döndürür, örneğin:

\\ServerName.MyDomain.com\MSSQLSERVER\MyDocumentDatabase

Dönüş Türü

nvarchar(4000)

Veritabanı Always Açık erişilebilirlik grubuna ait olduğunda, FileTableRootPath fonksiyonu bilgisayar adı yerine sanal ağ adını (VNN) döndürür.

Genel Açıklamalar

FileTableRootPath fonksiyonu, aşağıdaki koşullardan biri geçerliyse NULL döndürür:

  • FileTable_name değeri geçerli değildir.

  • Arayan, belirtilen tabloya veya mevcut veritabanına referans vermek için yeterli izne sahip değildir.

  • database_directory FILESTREAM seçeneği mevcut veritabanı için ayarlanmamıştır.

Daha fazla bilgi için bkz. FileTable'larda Dizinler ve Yollarla Çalışma.

En İyi Uygulamalar

Kod ve uygulamaları mevcut bilgisayar ve veritabanından bağımsız tutmak için, mutlak dosya yollarına dayanan kod yazmaktan kaçının. Bunun yerine, aşağıdaki örnekte gösterildiği gibi, FileTableRootPath ve GetFileNamespacePath fonksiyonlarını birlikte kullanarak bir dosyanın çalışma zamanında tam yolunu elde edin. Varsayılan olarak, GetFileNamespacePath fonksiyonu veritabanı için kök yolun altındaki dosyanın göreceli yolunu döndürür.

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

Security

Permissions

FileTableRootPath fonksiyonu şunları gerektirir:

  • Belirli bir DosyaTablo'nun kök yolunu almak için DosyaTablo'da SEÇİN izni.

  • db_datareader veya daha yüksek bir izin, mevcut veritabanı için kök yolunu almak için.

Examples

Aşağıdaki örnekler, FileTableRootPath fonksiyonunun nasıl çağrılacağını göstermektedir.

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');