PowerShell SQL作业步骤出现网络错误

时间:2016-01-04 15:15:36

标签: sql sql-server powershell sql-server-2014 sql-job

这部分是我的代码,部分来自其他人在堆栈溢出方面的帮助。

$excelFile = "C:\ExcelTest\Test.csv"
$functionDirectory = "C:\foldername"


$csv = Import-csv $excelFile -Header FileName

Import-Module sqlps

foreach ($line in $csv) 
    {
    if(test-path -path ($functionDirectory + "\" + $line.FileName))
        {
        invoke-sqlcmd -inputfile "C:\foldername\filename.sql" -serverinstance "servername\instancename" -database "databasename"
        }
    }

我必须删除特定的serverinstance / servername以获取隐私权,但我已经多次检查了这两个,我不认为这就是问题所在。我一直收到错误

  

发生网络相关或实例特定错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。

我通过运行

从服务器获得了双重检查的服务器/实例名称
select @@servername + '\' + @@SERVICENAME

数据库名称显然很容易获得。我已经仔细检查了服务器是否已设置为进行远程连接(即使这是我的笔记本电脑上的本地数据库,而不是当前的远程服务器)。

我还有点想要检查的其他东西。

我读过你应该看看防火墙设置,但我不认为这些应该在我的机器上的本地服务器上有所作为。

我对SQL和powershell仍然有点新意,所以我为任何明显的语法或格式错误道歉(请指出,以便我可以纠正它们)。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

原来我需要删除实例名称并只使用服务器名称。