Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Devolve o caminho UNC ao nível raiz para um FileTable específico ou para a base de dados atual.
Syntax
FileTableRootPath ( [ '[schema_name.]FileTable_name' ], @option )
Arguments
FileTable_name
O nome da FileTable.
FileTable_name é do tipo nvarchar. Este é um parâmetro opcional. O valor padrão é a base de dados atual.
Especificar schema_name também é opcional. Pode passar NULL para FileTable_name usar o valor padrão do parâmetro
@option
Uma expressão inteira que define como o componente servidor do caminho deve ser formatado.
@option pode ter um dos seguintes valores:
| Value | Description |
|---|---|
| 0 | Devolve o nome do servidor convertido para o formato NetBIOS, por exemplo:\\SERVERNAME\MSSQLSERVER\MyDocumentDatabaseEste é o valor padrão. |
| 1 | Devolve o nome do servidor sem conversão, por exemplo:\\ServerName\MSSQLSERVER\MyDocumentDatabase |
| 2 | Devolve o caminho completo do servidor, por exemplo:\\ServerName.MyDomain.com\MSSQLSERVER\MyDocumentDatabase |
Tipo de Retorno
nvarchar(4000)
Quando a base de dados pertence a um grupo de disponibilidade Always On, a função FileTableRootPath devolve o nome da rede virtual (VNN) em vez do nome do computador.
Observações gerais
A função FileTableRootPath devolve NULL quando uma das seguintes condições é verdadeira:
O valor da FileTable_name não é válido.
O chamador não tem permissão suficiente para consultar a tabela especificada ou a base de dados atual.
A opção FILESTREAM de database_directory não está definida para a base de dados atual.
Para obter mais informações, consulte Trabalhar com diretórios e caminhos em FileTables.
Melhores práticas
Para manter o código e as aplicações independentes do computador e da base de dados atuais, evite escrever código que dependa de caminhos absolutos de ficheiros. Em vez disso, obtenha o caminho completo de um ficheiro em tempo de execução usando as funções FileTableRootPath e GetFileNamespacePath em conjunto, como mostrado no exemplo seguinte. Por defeito, a função GetFileNamespacePath devolve o caminho relativo do ficheiro sob o caminho raiz da base de dados.
USE MyDocumentDatabase;
@root varchar(100)
SELECT @root = FileTableRootPath();
@fullPath = varchar(1000);
SELECT @fullPath = @root + file_stream.GetFileNamespacePath()
FROM DocumentStore
WHERE Name = N'document.docx';
Segurança
Permissions
A função FileTableRootPath requer:
SELECT permissão na FileTable para obter o caminho raiz de uma FileTable específica.
db_datareader ou superior permissão para obter o caminho raiz da base de dados atual.
Examples
Os exemplos seguintes mostram como chamar a função 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');