2011-06-23 46 views
0

我有以下问题:SQL Server功能网络访问权限问题

我写了C#汇编SqlServer函数,必须删除,复制或移动内部网络计算机上的文件。

的代码如下:网络服务下赢得2008服务器上

public Class FunzioniIO 
{ 
    [SqlFunction()] 
    public static SqlString DeleteFile (SqlString PathFile) 
    { 
     try 
     { 
      File.Delete(PathFile.Value); 
      return new SqlString("True"); 
     } 
     catch (Exception ex) 
     { 
      return new SqlString(ex.Message + " \n" + ex.StackTrace); 
     } 
    } 
} 

Sql Server中运行。

当我特林访问的另一个网络大型机给予他像

'\\\192.168.0.xx\SharedFolder\file.txt' 

它返回以下错误的共享路径一个文件:

Access to the path '\\192.168.0.xx\SharedFolder\file.txt' is denied.

这我想是因为它尝试像NetworkService一样访问权限,并且拒绝来自FileHosting计算机。

我试图给予远程计算机上的共享权利,比如NetworkService没有成功,最后给每个人,但是siuation是相同的。

问题是我必须做什么使sql server能够远程访问文件?

+0

请不要冷笑!!! –

+1

你是如何在SQL中定义你的程序集的?您是否使用过'EXTERNAL_ACCESS',如果是,服务帐户是否有权限使用'EXTERNAL_ACCESS'运行? –

+0

是权限与外部访问 – Piercarlo

回答

1

本地网络服务实际上是DOMAIN\MACHINENAME$共享。因此,在该份额的底层NTFS/Samba上共享上的此帐户的权限

+1

当然最好为服务创建一个新的域帐户,而不是提升NetworkService下运行的*任何*权限 –

+0

@Alex K .:当然好点 – gbn

+0

对不起但是我不太明白这意味着我Mus创建新的用户喜欢ComputerName其中ComputerName我的MACHINENAME的SQL Server? – Piercarlo