Когда я пытаюсь выполнить SQL-запрос начинается с «WITH», я получаю следующую ошибку
Запрос:
WITH BMC_Dependency_IP_Endpoint AS (
SELECT ER.SOURCE_RECONCILIATIONIDENTITY, ER.CLASSID
,re.DNSHOSTNAME,re.NETWORKLOCATION,re.IPSUBNET,re.NETWORKZONE,re.NETWORKENVIRONMENT,re.SUBNETMASK,re.NAME
FROM BMC_CORE_BMC_DEPENDENCY er
INNER JOIN (SELECT * FROM BMC_CORE_BMC_IPENDPOINT WHERE DATASETID = 'BMC.ASSET' AND COALESCE(MARKASDELETED,0) <> 1) re
ON (er.DESTINATION_RECONCILIATIONIDEN = RE.RECONCILIATIONIDENTITY)
WHERE er.DESTINATION_CLASSID = 'BMC_IPENDPOINT' AND er.SOURCE_CLASSID = 'BMC_COMPUTERSYSTEM' AND er.DATASETID = 'BMC.ASSET' AND COALESCE(er.MARKASDELETED,0) <> 1 AND er.classid = 'BMC.CORE:BMC_HOSTEDACCESSPOINT'
),
APP_PORTFOLIO_APPID AS
(
select DISTINCT APPID, APPLICATION_OWNER_NAME, APP_SUP_CONTACT_NAME, AppSupDelegateName, PRODUCT_CATEGORIZATION_TIER_1, PRODUCT_CATEGORIZATION_TIER_2, PRODUCT_CATEGORIZATION_TIER_3
, IT_SERVICE
FROM PCT_PRODUCT_CATALOG
WHERE APPID IS NOT NULL AND STATUS = 1
)
SELECT c.HOSTNAME, c.SERIALNUMBER, dbo.FN_ADJUSTED_DATE(c.LastScanDate) as LASTSCANDATE,c.Environment, c.AWS_State, c.CME_Live_State, c.PrimaryIPAddress, c.Location, c.PRIMARYAPPID, c.Category, c.RFB, c.OSName, c.OSType, OSversion, OSPatchLevel, c.PatchSlot, c.Nextgen, c.CME_Managed, c.CME_Chef
,COALESCE(ip.name,c.PrimaryIPAddress) AS IP
,ap.PRODUCT_CATEGORIZATION_TIER_3 as Application
FROM BMC_CORE_BMC_ComputerSystem c
LEFT OUTER JOIN BMC_Dependency_IP_Endpoint ip
ON ip.SOURCE_RECONCILIATIONIDENTITY = c.ReconciliationIdentity
LEFT OUTER JOIN APP_PORTFOLIO_APPID ap
ON ap.APPID = c.PRIMARYAPPID
WHERE c.DATASETID = 'BMC.ASSET' AND COALESCE(c.MARKASDELETED,0) <> 1
Ошибка:
Исключение вызывает "Fill" с аргументом (ами) "1": "Тайм-аут выполнения истек. Время ожидания истекло до завершения операции или сервер не отвечает."
Попытка выполнитьотдельные блоки в запросе, который работает нормально
$SQLServer = "XXXX,YYY"
$SQLDBName = "AAAAA"
$uid ="readonly"
$pwd = "read"
$SQLquery = [System.IO.File]::ReadAllText("C:\PC\sql.txt")
write-host "SQL Query : $SqlQuery"
$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)
$DataSet.Tables[0] | Export-Csv "C:\PC\new.csv"
Ожидаемые результаты:
CSV-файл со всеми значениями
Фактические результаты:
Вызов исключения«Заполните» аргументом (ами) «1»: «Время ожидания истекло. Время ожидания истекло до завершения операции или сервер не отвечает».