Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Zwraca ścieżkę UNC na poziomie rootowym dla konkretnej Tabeli Plików lub dla bieżącej bazy danych.
Syntax
FileTableRootPath ( [ '[schema_name.]FileTable_name' ], @option )
Arguments
FileTable_name
Nazwa FileTable.
FileTable_name jest typu nvarchar. Jest to opcjonalny parametr. Domyślną wartością jest aktualna baza danych. Określenie schema_name jest również opcjonalne. Możesz przekazać NULL, aby FileTable_name użył domyślnej wartości parametru
@option
Wyrażenie całkowitoliczbowe, które definiuje, jak powinien być sformatowany komponent serwera ścieżki.
@option może mieć jedną z następujących wartości:
| Wartość | Description |
|---|---|
| 0 | Zwraca nazwę serwera przekonwertowaną na format NetBIOS, na przykład:\\SERVERNAME\MSSQLSERVER\MyDocumentDatabaseJest to wartość domyślna. |
| 1 | Zwraca nazwę serwera bez konwersji, na przykład:\\ServerName\MSSQLSERVER\MyDocumentDatabase |
| 2 | Zwraca pełną ścieżkę serwera, na przykład:\\ServerName.MyDomain.com\MSSQLSERVER\MyDocumentDatabase |
Zwracany typ
nvarchar(4000)
Gdy baza danych należy do grupy dostępności Always On, funkcja FileTableRootPath zwraca nazwę sieci wirtualnej (VNN) zamiast nazwy komputera.
Uwagi ogólne
Funkcja FileTableRootPath zwraca NULL, gdy spełniony jest jeden z następujących warunków:
Wartość FileTable_name nie jest ważna.
Wywołujący nie ma wystarczających uprawnień, aby odwołać się do określonej tabeli lub aktualnej bazy danych.
Opcja FILESTREAM database_directory nie jest ustawiona dla bieżącej bazy danych.
Aby uzyskać więcej informacji, zobacz Praca z katalogami i ścieżkami w tabelach plików.
Najlepsze praktyki
Aby utrzymać kod i aplikacje niezależne od bieżącego komputera i bazy danych, unikaj pisania kodu opartego na absolutnych ścieżkach plików. Zamiast tego uzyskaj pełną ścieżkę dla pliku w czasie działania, używając funkcji FileTableRootPath i GetFileNamespacePath razem, jak pokazano w poniższym przykładzie. Domyślnie funkcja GetFileNamespacePath zwraca względną ścieżkę pliku pod ścieżką główną bazy danych.
USE MyDocumentDatabase;
@root varchar(100)
SELECT @root = FileTableRootPath();
@fullPath = varchar(1000);
SELECT @fullPath = @root + file_stream.GetFileNamespacePath()
FROM DocumentStore
WHERE Name = N'document.docx';
Zabezpieczenia
Permissions
Funkcja FileTableRootPath wymaga:
WYBIERZ uprawnienia w FileTable, aby uzyskać ścieżkę główną konkretnej FileTable.
db_datareader lub wyższe uprawnienia do uzyskania ścieżki głównej dla bieżącej bazy danych.
Examples
Poniższe przykłady pokazują, jak wywołać funkcję 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');