Vb.net 如何使用SQLAgent帐户以外的权限从代码中运行批量插入?
我们有一些代码希望运行大容量插入sql命令,但由于安装的帐户SQLAgent对文件所在的文件夹没有权限,因此访问被拒绝。我不希望该帐户拥有该文件夹的权限,如果可以的话,我希望使用代理帐户 我不认为这有多大帮助,但下面是我们用来运行sql命令的vb代码:Vb.net 如何使用SQLAgent帐户以外的权限从代码中运行批量插入?,vb.net,sql-server-2008,bulkinsert,Vb.net,Sql Server 2008,Bulkinsert,我们有一些代码希望运行大容量插入sql命令,但由于安装的帐户SQLAgent对文件所在的文件夹没有权限,因此访问被拒绝。我不希望该帐户拥有该文件夹的权限,如果可以的话,我希望使用代理帐户 我不认为这有多大帮助,但下面是我们用来运行sql命令的vb代码: Dim sql As String = "BULK INSERT Visa From '@file' With (ROWTERMINATOR = '\n', FIELDTERMINATOR = '\t', KEEPNULLS)"
Dim sql As String = "BULK INSERT Visa From '@file' With (ROWTERMINATOR = '\n', FIELDTERMINATOR = '\t', KEEPNULLS)"
sql = Replace(sql, "@period", _date)
sql = Replace(sql, "@file", FullPath)
DBExecute(sql)
如何使其工作?正如硬代码所写,您可以对每个作业步骤使用RunAs。基本上,你必须:
- 添加凭据-凭据意味着:“模拟此凭据”
- 添加代理-代理意味着:凭据和操作类型(子系统)之间的链接,如运行SSIS包、运行命令等
- 配置作业步骤以使用添加的代理
- 切换到SQL Server登录-危险,因为您必须在连接字符串中保存密码
- 使用.NET代码模拟用户-检查文章:并检查此项以获得非常好的安全提示
- 添加凭据-凭据意味着:“模拟此凭据”
- 添加代理-代理意味着:凭据和操作类型(子系统)之间的链接,如运行SSIS包、运行命令等
- 配置作业步骤以使用添加的代理
- 切换到SQL Server登录-危险,因为您必须在连接字符串中保存密码
- 使用.NET代码模拟用户-检查文章:并检查此项以获得非常好的安全提示