Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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\MyDocumentDatabaseBu 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');