我目前的工作是应该每天早晨连接到我的公司数据库中的PowerShell脚本,检查在SCCM未决软件批准申请,并发送电子邮件对相关人员一个SQL Server数据库,允许他们使用执行PowerShell脚本的链接接受或拒绝请求。如何连接到使用PowerShell的
我的问题是关于目前的第一步,这是连接到数据库。
我创建了一个SQL Server的帐户,与我能够连接到Microsoft SQL Server Management Studio中的服务器上,但不与我的脚本连接...
我发现这个代码在this website ,人们显然说,这是工作,但我总是得到一个超时错误,当我运行它:
Function GetPendingRequests {
param (
[string]$SQLServer,
[string]$SQLDBName,
[string]$uid,
[string]$pwd
)
$SqlQuery = "select * from [Database].[dbo].[UserApplicationRequests]"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; User Id = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$SqlConnection.Close()
return $DataSet.Tables[0]
}
顺便说一句,在[数据库]包含真正的数据库名和变量是正确的..我已经检查了以下几点:
- 服务器接受Windows和SQL Server身份验证
- 该帐户可以访问Microsoft SQL Server Management Studio中的数据库,并读取数据我想
- 方式的计算机检索服务器IP成功
有没有人知道我做错了什么,以及为什么这个PowerShell功能无法连接到数据库?
是SQL服务器上启用TCP/IP协议? –
是的,它启用了 –
你能使用[SSMS](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms)从客户机上运行查询,使用SQL帐户? –