# Configure variables below for connecting to the SQL database ################################################ $CSVFileName = "D:\OneDrive - State of North Dakota\ServiceNow\RitmDump-Application Server.csv" $SQLInstance = "itdintsql22p1.nd.gov\intsql22p1" $SQLDatabase = "ITD-Systems-Automation" $SQLTable = "ServiceNow_RitmDump_ApplicationServerMK2" $SQLTempDatabase = "ITD-Systems-Automation" $SQLTempTable = "ServiceNow_RitmDump_ApplicationServerMK2_temp" ############################################################################################ # Nothing to change below this line, comments provided if you need/want to change anything ############################################################################################ ############################################## # Prompting for SQL credentials ############################################## #$SQLCredentials = Get-Credential -Message "Enter your SQL username & password" #$SQLUsername = $SQLCredentials.UserName #$SQLPassword = $SQLCredentials.GetNetworkCredential().Password $SQLCredentials = $PrvCred ############################################## # Start of time taken benchmark ############################################## $Start = Get-Date ############################################## # Checking if SqlServer module is already installed, if not installing it ############################################## $SQLModuleCheck = Get-Module -ListAvailable SqlServer if ($SQLModuleCheck -eq $null) { Write-Host "SqlServer Module Not Found - Installing" # Not installed, trusting PS Gallery to remove prompt on install Set-PSRepository -Name PSGallery -InstallationPolicy Trusted # Installing module Install-Module -Name SqlServer –Scope CurrentUser -Confirm:$false -AllowClobber } ############################################## # Importing SqlServer module ############################################## Import-Module SqlServer ############################################## # Creating Temp SQL Table ############################################## "Creating SQL Table $SQLTempTable for CSV Import" $SQLCreateTempTable = "USE [ITD-Systems-Automation] CREATE TABLE $SQLTempTable ( sys_id char(32) PRIMARY KEY, number char(11), opened_at datetime, requested_for varchar(255), sys_updated_on datetime, short_description varchar(max), active varchar(255), activity_due varchar(255), additional_assignee_list varchar(255), additional_comments varchar(max), add_change_disaster_recovery varchar(255), agency_name varchar(255), application_info varchar(255), application_name varchar(255), approval_history varchar(max), assigned_to varchar(255), assignment_group varchar(255), backordered varchar(255), billable varchar(255), business_duration varchar(255), business_service varchar(255), calendar_duration varchar(255), cat_item varchar(255), cat_item_display_name varchar(255), cidr_block varchar(255), closed_at datetime, closed_by varchar(255), close_notes varchar(max), cmdb_ci varchar(255), comments varchar(max), configuration_item varchar(255), contact_type varchar(255), contract varchar(255), correlation_display varchar(255), correlation_id varchar(255), data_center varchar(255), disaster_recovery_requirements varchar(255), disk_10 varchar(255), disk_11 varchar(255), disk_12 varchar(255), disk_13 varchar(255), disk_14 varchar(255), disk_15 varchar(255), disk_16 varchar(255), disk_1_os varchar(255), disk_2_swap_disk varchar(255), disk_3 varchar(255), disk_4 varchar(255), disk_5 varchar(255), disk_6 varchar(255), disk_7 varchar(255), disk_8 varchar(255), disk_9 varchar(255), dr_protection varchar(255), due_date varchar(255), environment varchar(255), escalation varchar(255), estimated_delivery datetime, expected_start varchar(255), follow_up varchar(255), group_list varchar(255), host_name varchar(255), impact varchar(255), knowledge varchar(255), licensing_restrictions varchar(255), location varchar(255), made_sla varchar(255), memory_gb varchar(255), opened_by varchar(255), operating_system varchar(255), order_guide varchar(255), parent varchar(255), pa_zone varchar(255), price varchar(255), priority varchar(255), processors varchar(255), quantity_sourced varchar(255), reassignment_count varchar(255), received varchar(255), recurring_frequency varchar(255), recurring_price varchar(255), replaces_vm varchar(255), request_type varchar(255), required_date varchar(255), require_hosting_quote varchar(255), route_reason varchar(255), sc_catalog varchar(255), secure varchar(255), server_name varchar(255), server_type varchar(255), service_offering varchar(255), skills varchar(255), sla_due varchar(255), special_instructions varchar(255), stage varchar(255), startup_priority varchar(255), state varchar(255), support_hours varchar(255), sys_class_name varchar(255), sys_created_by varchar(255), sys_created_on datetime, sys_domain varchar(255), sys_domain_path varchar(255), sys_mod_count varchar(255), sys_tags varchar(255), sys_updated_by varchar(255), target_os_version_linux varchar(255), target_os_version_windows varchar(255), target_platform varchar(255), task_effective_number varchar(255), team_lead varchar(255), time_worked varchar(255), universal_request varchar(255), upon_approval varchar(255), upon_reject varchar(255), urgency varchar(255), user_input varchar(255), u_approval_flag varchar(255), u_change_incident varchar(255), u_effective_date varchar(255), u_on_hold_reason varchar(255), vlan_id varchar(255), vm_work_needed varchar(255), v_alt_contact varchar(255), v_approval_charge_code varchar(255), v_approval_department varchar(255), v_approval_department_code varchar(255), v_approval_division varchar(255), v_approval_division_code varchar(255), v_manager varchar(255), v_requested_by varchar(255), v_requested_for varchar(255), v_user_email varchar(255), v_user_in_servicenow varchar(255), v_user_phone varchar(255), watch_list varchar(255), work_end varchar(255), work_notes varchar(max), work_start varchar(255) );" #Invoke-Sqlcmd -Query $SQLCreateTempTable -ServerInstance $SQLInstance -Username $SQLUsername -Password $SQLPassword #Invoke-ITDSqlCmdJob -ServerInstance $SInstance -Database ITD-Systems-Automation -Credential $PrvCred -Query Invoke-ITDSqlCmdJob -ServerInstance $SqlInstance -Database ITD-Systems-Automation -Credential $PrvCred -Query $SQLCreateTempTable ############################################## # Importing CSV and processing data ############################################## $CSVImport = Import-Csv -Path $CSVFileName $CSVRowCount = $CSVImport.Count ############################################## # ForEach CSV Line Inserting a row into the Temp SQL table ############################################## "Inserting $CSVRowCount rows from CSV into SQL Table $SQLTempTable" ForEach ($CSVLine in $CSVImport) { Write-Warning -Message ("Start " + $CSVLine.number) # Setting variables for the CSV line, ADD ALL 170 possible CSV columns here $sys_id = $CSVLine.sys_id $number = $CSVLine.number $opened_at = $CSVLine.opened_at $requested_for = $CSVLine.requested_for $sys_updated_on = $CSVLine.sys_updated_on $short_description = $CSVLine.short_description $active = $CSVLine.active $activity_due = $CSVLine.activity_due $additional_assignee_list = $CSVLine.additional_assignee_list $additional_comments = $CSVLine.additional_comments $add_change_disaster_recovery = $CSVLine.add_change_disaster_recovery $agency_name = $CSVLine.agency_name $application_info = $CSVLine.application_info $application_name = $CSVLine.application_name $approval_history = $CSVLine.approval_history $assigned_to = $CSVLine.assigned_to $assignment_group = $CSVLine.assignment_group $backordered = $CSVLine.backordered $billable = $CSVLine.billable $business_duration = $CSVLine.business_duration $business_service = $CSVLine.business_service $calendar_duration = $CSVLine.calendar_duration $cat_item = $CSVLine.cat_item $cat_item_display_name = $CSVLine.cat_item_display_name $cidr_block = $CSVLine.cidr_block $closed_at = $CSVLine.closed_at $closed_by = $CSVLine.closed_by $close_notes = $CSVLine.close_notes $cmdb_ci = $CSVLine.cmdb_ci $comments = $CSVLine.comments $configuration_item = $CSVLine.configuration_item $contact_type = $CSVLine.contact_type $contract = $CSVLine.contract $correlation_display = $CSVLine.correlation_display $correlation_id = $CSVLine.correlation_id $data_center = $CSVLine.data_center $disaster_recovery_requirements = $CSVLine.disaster_recovery_requirements $disk_10 = $CSVLine.disk_10 $disk_11 = $CSVLine.disk_11 $disk_12 = $CSVLine.disk_12 $disk_13 = $CSVLine.disk_13 $disk_14 = $CSVLine.disk_14 $disk_15 = $CSVLine.disk_15 $disk_16 = $CSVLine.disk_16 $disk_1_os = $CSVLine.disk_1_os $disk_2_swap_disk = $CSVLine.disk_2_swap_disk $disk_3 = $CSVLine.disk_3 $disk_4 = $CSVLine.disk_4 $disk_5 = $CSVLine.disk_5 $disk_6 = $CSVLine.disk_6 $disk_7 = $CSVLine.disk_7 $disk_8 = $CSVLine.disk_8 $disk_9 = $CSVLine.disk_9 $dr_protection = $CSVLine.dr_protection $due_date = $CSVLine.due_date $environment = $CSVLine.environment $escalation = $CSVLine.escalation $estimated_delivery = $CSVLine.estimated_delivery $expected_start = $CSVLine.expected_start $follow_up = $CSVLine.follow_up $group_list = $CSVLine.group_list $host_name = $CSVLine.host_name $impact = $CSVLine.impact $knowledge = $CSVLine.knowledge $licensing_restrictions = $CSVLine.licensing_restrictions $location = $CSVLine.location $made_sla = $CSVLine.made_sla $memory_gb = $CSVLine.memory_gb $opened_by = $CSVLine.opened_by $operating_system = $CSVLine.operating_system $order_guide = $CSVLine.order_guide $parent = $CSVLine.parent $pa_zone = $CSVLine.pa_zone $price = $CSVLine.price $priority = $CSVLine.priority $processors = $CSVLine.processors $quantity_sourced = $CSVLine.quantity_sourced $reassignment_count = $CSVLine.reassignment_count $received = $CSVLine.received $recurring_frequency = $CSVLine.recurring_frequency $recurring_price = $CSVLine.recurring_price $replaces_vm = $CSVLine.replaces_vm $request_type = $CSVLine.request_type $required_date = $CSVLine.required_date $require_hosting_quote = $CSVLine.require_hosting_quote $route_reason = $CSVLine.route_reason $sc_catalog = $CSVLine.sc_catalog $secure = $CSVLine.secure $server_name = $CSVLine.server_name $server_type = $CSVLine.server_type $service_offering = $CSVLine.service_offering $skills = $CSVLine.skills $sla_due = $CSVLine.sla_due $special_instructions = $CSVLine.special_instructions $stage = $CSVLine.stage $startup_priority = $CSVLine.startup_priority $state = $CSVLine.state $support_hours = $CSVLine.support_hours $sys_class_name = $CSVLine.sys_class_name $sys_created_by = $CSVLine.sys_created_by $sys_created_on = $CSVLine.sys_created_on $sys_domain = $CSVLine.sys_domain $sys_domain_path = $CSVLine.sys_domain_path $sys_mod_count = $CSVLine.sys_mod_count $sys_tags = $CSVLine.sys_tags $sys_updated_by = $CSVLine.sys_updated_by $target_os_version_linux = $CSVLine.target_os_version_linux $target_os_version_windows = $CSVLine.target_os_version_windows $target_platform = $CSVLine.target_platform $task_effective_number = $CSVLine.task_effective_number $team_lead = $CSVLine.team_lead $time_worked = $CSVLine.time_worked $universal_request = $CSVLine.universal_request $upon_approval = $CSVLine.upon_approval $upon_reject = $CSVLine.upon_reject $urgency = $CSVLine.urgency $user_input = $CSVLine.user_input $u_approval_flag = $CSVLine.u_approval_flag $u_change_incident = $CSVLine.u_change_incident $u_effective_date = $CSVLine.u_effective_date $u_on_hold_reason = $CSVLine.u_on_hold_reason $vlan_id = $CSVLine.vlan_id $vm_work_needed = $CSVLine.vm_work_needed $v_alt_contact = $CSVLine.v_alt_contact $v_approval_charge_code = $CSVLine.v_approval_charge_code $v_approval_department = $CSVLine.v_approval_department $v_approval_department_code = $CSVLine.v_approval_department_code $v_approval_division = $CSVLine.v_approval_division $v_approval_division_code = $CSVLine.v_approval_division_code $v_manager = $CSVLine.v_manager $v_requested_by = $CSVLine.v_requested_by $v_requested_for = $CSVLine.v_requested_for $v_user_email = $CSVLine.v_user_email $v_user_in_servicenow = $CSVLine.v_user_in_servicenow $v_user_phone = $CSVLine.v_user_phone $watch_list = $CSVLine.watch_list $work_end = $CSVLine.work_end $work_notes = $CSVLine.work_notes $work_start = $CSVLine.work_start $SQLInsert = "USE [$SQLTempDatabase] INSERT INTO $SQLTempTable (sys_id, number, opened_at, requested_for, sys_updated_on, short_description, active, activity_due, additional_assignee_list, additional_comments, add_change_disaster_recovery, agency_name, application_info, application_name, approval_history, assigned_to, assignment_group, backordered, billable, business_duration, business_service, calendar_duration, cat_item, cat_item_display_name, cidr_block, closed_at, closed_by, close_notes, cmdb_ci, comments, configuration_item, contact_type, contract, correlation_display, correlation_id, data_center, disaster_recovery_requirements, disk_10, disk_11, disk_12, disk_13, disk_14, disk_15, disk_16, disk_1_os, disk_2_swap_disk, disk_3, disk_4, disk_5, disk_6, disk_7, disk_8, disk_9, dr_protection, due_date, environment, escalation, estimated_delivery, expected_start, follow_up, group_list, host_name, impact, knowledge, licensing_restrictions, location, made_sla, memory_gb, opened_by, operating_system, order_guide, parent, pa_zone, price, priority, processors, quantity_sourced, reassignment_count, received, recurring_frequency, recurring_price, replaces_vm, request_type, required_date, require_hosting_quote, route_reason, sc_catalog, secure, server_name, server_type, service_offering, skills, sla_due, special_instructions, stage, startup_priority, state, support_hours, sys_class_name, sys_created_by, sys_created_on, sys_domain, sys_domain_path, sys_mod_count, sys_tags, sys_updated_by, target_os_version_linux, target_os_version_windows, target_platform, task_effective_number, team_lead, time_worked, universal_request, upon_approval, upon_reject, urgency, user_input, u_approval_flag, u_change_incident, u_effective_date, u_on_hold_reason, vlan_id, vm_work_needed, v_alt_contact, v_approval_charge_code, v_approval_department, v_approval_department_code, v_approval_division, v_approval_division_code, v_manager, v_requested_by, v_requested_for, v_user_email, v_user_in_servicenow, v_user_phone, watch_list, work_end, work_notes, work_start) VALUES('$sys_id', '$number', '$opened_at', '$requested_for', '$sys_updated_on', '$short_description', '$active', '$activity_due', '$additional_assignee_list', '$additional_comments', '$add_change_disaster_recovery', '$agency_name', '$application_info', '$application_name', '$approval_history', '$assigned_to', '$assignment_group', '$backordered', '$billable', '$business_duration', '$business_service', '$calendar_duration', '$cat_item', '$cat_item_display_name', '$cidr_block', '$closed_at', '$closed_by', '$close_notes', '$cmdb_ci', '$comments', '$configuration_item', '$contact_type', '$contract', '$correlation_display', '$correlation_id', '$data_center', '$disaster_recovery_requirements', '$disk_10', '$disk_11', '$disk_12', '$disk_13', '$disk_14', '$disk_15', '$disk_16', '$disk_1_os', '$disk_2_swap_disk', '$disk_3', '$disk_4', '$disk_5', '$disk_6', '$disk_7', '$disk_8', '$disk_9', '$dr_protection', '$due_date', '$environment', '$escalation', '$estimated_delivery', '$expected_start', '$follow_up', '$group_list', '$host_name', '$impact', '$knowledge', '$licensing_restrictions', '$location', '$made_sla', '$memory_gb', '$opened_by', '$operating_system', '$order_guide', '$parent', '$pa_zone', '$price', '$priority', '$processors', '$quantity_sourced', '$reassignment_count', '$received', '$recurring_frequency', '$recurring_price', '$replaces_vm', '$request_type', '$required_date', '$require_hosting_quote', '$route_reason', '$sc_catalog', '$secure', '$server_name', '$server_type', '$service_offering', '$skills', '$sla_due', '$special_instructions', '$stage', '$startup_priority', '$state', '$support_hours', '$sys_class_name', '$sys_created_by', '$sys_created_on', '$sys_domain', '$sys_domain_path', '$sys_mod_count', '$sys_tags', '$sys_updated_by', '$target_os_version_linux', '$target_os_version_windows', '$target_platform', '$task_effective_number', '$team_lead', '$time_worked', '$universal_request', '$upon_approval', '$upon_reject', '$urgency', '$user_input', '$u_approval_flag', '$u_change_incident', '$u_effective_date', '$u_on_hold_reason', '$vlan_id', '$vm_work_needed', '$v_alt_contact', '$v_approval_charge_code', '$v_approval_department', '$v_approval_department_code', '$v_approval_division', '$v_approval_division_code', '$v_manager', '$v_requested_by', '$v_requested_for', '$v_user_email', '$v_user_in_servicenow', '$v_user_phone', '$watch_list', '$work_end', '$work_notes', '$work_start');" # Running the INSERT Query #Invoke-Sqlcmd -Query $SQLInsert -ServerInstance $SQLInstance -Username $SQLUsername -Password $SQLPassword Invoke-ITDSqlCmdJob -ServerInstance $SQLInstance -Database $SQLDatabase -Query $SQLInsert -Credential $PrvCred # End of ForEach CSV line below } # End of ForEach CSV line above ############################################## # Merging data from Temp Table to Target Table using SQL MERGE ############################################## "Merging SQL Table Data from $SQLTempTable to $SQLTable" # For more info, I.E to add DELETE as part of the MERGE, read: https://www.essentialsql.com/introduction-merge-statement/ $SQLMerge = "MERGE [$SQLDatabase].[dbo].[$SQLTable] Target USING [$SQLTempDatabase].[dbo].[$SQLTempTable] Source ON (Target.sys_id = Source.sys_id) WHEN MATCHED THEN UPDATE SET Target.sys_id = Source.sys_id, Target.number = Source.number, Target.opened_at = Source.opened_at, Target.requested_for = Source.requested_for, Target.sys_updated_on = Source.sys_updated_on, Target.short_description = Source.short_description, Target.active = Source.active, Target.activity_due = Source.activity_due, Target.additional_assignee_list = Source.additional_assignee_list, Target.additional_comments = Source.additional_comments, Target.add_change_disaster_recovery = Source.add_change_disaster_recovery, Target.agency_name = Source.agency_name, Target.application_info = Source.application_info, Target.application_name = Source.application_name, Target.approval_history = Source.approval_history, Target.assigned_to = Source.assigned_to, Target.assignment_group = Source.assignment_group, Target.backordered = Source.backordered, Target.billable = Source.billable, Target.business_duration = Source.business_duration, Target.business_service = Source.business_service, Target.calendar_duration = Source.calendar_duration, Target.cat_item = Source.cat_item, Target.cat_item_display_name = Source.cat_item_display_name, Target.cidr_block = Source.cidr_block, Target.closed_at = Source.closed_at, Target.closed_by = Source.closed_by, Target.close_notes = Source.close_notes, Target.cmdb_ci = Source.cmdb_ci, Target.comments = Source.comments, Target.configuration_item = Source.configuration_item, Target.contact_type = Source.contact_type, Target.contract = Source.contract, Target.correlation_display = Source.correlation_display, Target.correlation_id = Source.correlation_id, Target.data_center = Source.data_center, Target.disaster_recovery_requirements = Source.disaster_recovery_requirements, Target.disk_10 = Source.disk_10, Target.disk_11 = Source.disk_11, Target.disk_12 = Source.disk_12, Target.disk_13 = Source.disk_13, Target.disk_14 = Source.disk_14, Target.disk_15 = Source.disk_15, Target.disk_16 = Source.disk_16, Target.disk_1_os = Source.disk_1_os, Target.disk_2_swap_disk = Source.disk_2_swap_disk, Target.disk_3 = Source.disk_3, Target.disk_4 = Source.disk_4, Target.disk_5 = Source.disk_5, Target.disk_6 = Source.disk_6, Target.disk_7 = Source.disk_7, Target.disk_8 = Source.disk_8, Target.disk_9 = Source.disk_9, Target.dr_protection = Source.dr_protection, Target.due_date = Source.due_date, Target.environment = Source.environment, Target.escalation = Source.escalation, Target.estimated_delivery = Source.estimated_delivery, Target.expected_start = Source.expected_start, Target.follow_up = Source.follow_up, Target.group_list = Source.group_list, Target.host_name = Source.host_name, Target.impact = Source.impact, Target.knowledge = Source.knowledge, Target.licensing_restrictions = Source.licensing_restrictions, Target.location = Source.location, Target.made_sla = Source.made_sla, Target.memory_gb = Source.memory_gb, Target.opened_by = Source.opened_by, Target.operating_system = Source.operating_system, Target.order_guide = Source.order_guide, Target.parent = Source.parent, Target.pa_zone = Source.pa_zone, Target.price = Source.price, Target.priority = Source.priority, Target.processors = Source.processors, Target.quantity_sourced = Source.quantity_sourced, Target.reassignment_count = Source.reassignment_count, Target.received = Source.received, Target.recurring_frequency = Source.recurring_frequency, Target.recurring_price = Source.recurring_price, Target.replaces_vm = Source.replaces_vm, Target.request_type = Source.request_type, Target.required_date = Source.required_date, Target.require_hosting_quote = Source.require_hosting_quote, Target.route_reason = Source.route_reason, Target.sc_catalog = Source.sc_catalog, Target.secure = Source.secure, Target.server_name = Source.server_name, Target.server_type = Source.server_type, Target.service_offering = Source.service_offering, Target.skills = Source.skills, Target.sla_due = Source.sla_due, Target.special_instructions = Source.special_instructions, Target.stage = Source.stage, Target.startup_priority = Source.startup_priority, Target.state = Source.state, Target.support_hours = Source.support_hours, Target.sys_class_name = Source.sys_class_name, Target.sys_created_by = Source.sys_created_by, Target.sys_created_on = Source.sys_created_on, Target.sys_domain = Source.sys_domain, Target.sys_domain_path = Source.sys_domain_path, Target.sys_mod_count = Source.sys_mod_count, Target.sys_tags = Source.sys_tags, Target.sys_updated_by = Source.sys_updated_by, Target.target_os_version_linux = Source.target_os_version_linux, Target.target_os_version_windows = Source.target_os_version_windows, Target.target_platform = Source.target_platform, Target.task_effective_number = Source.task_effective_number, Target.team_lead = Source.team_lead, Target.time_worked = Source.time_worked, Target.universal_request = Source.universal_request, Target.upon_approval = Source.upon_approval, Target.upon_reject = Source.upon_reject, Target.urgency = Source.urgency, Target.user_input = Source.user_input, Target.u_approval_flag = Source.u_approval_flag, Target.u_change_incident = Source.u_change_incident, Target.u_effective_date = Source.u_effective_date, Target.u_on_hold_reason = Source.u_on_hold_reason, Target.vlan_id = Source.vlan_id, Target.vm_work_needed = Source.vm_work_needed, Target.v_alt_contact = Source.v_alt_contact, Target.v_approval_charge_code = Source.v_approval_charge_code, Target.v_approval_department = Source.v_approval_department, Target.v_approval_department_code = Source.v_approval_department_code, Target.v_approval_division = Source.v_approval_division, Target.v_approval_division_code = Source.v_approval_division_code, Target.v_manager = Source.v_manager, Target.v_requested_by = Source.v_requested_by, Target.v_requested_for = Source.v_requested_for, Target.v_user_email = Source.v_user_email, Target.v_user_in_servicenow = Source.v_user_in_servicenow, Target.v_user_phone = Source.v_user_phone, Target.watch_list = Source.watch_list, Target.work_end = Source.work_end, Target.work_notes = Source.work_notes, Target.work_start = Source.work_start WHEN NOT MATCHED BY TARGET THEN INSERT (sys_id, number, opened_at, requested_for, sys_updated_on, short_description, active, activity_due, additional_assignee_list, additional_comments, add_change_disaster_recovery, agency_name, application_info, application_name, approval_history, assigned_to, assignment_group, backordered, billable, business_duration, business_service, calendar_duration, cat_item, cat_item_display_name, cidr_block, closed_at, closed_by, close_notes, cmdb_ci, comments, configuration_item, contact_type, contract, correlation_display, correlation_id, data_center, disaster_recovery_requirements, disk_10, disk_11, disk_12, disk_13, disk_14, disk_15, disk_16, disk_1_os, disk_2_swap_disk, disk_3, disk_4, disk_5, disk_6, disk_7, disk_8, disk_9, dr_protection, due_date, environment, escalation, estimated_delivery, expected_start, follow_up, group_list, host_name, impact, knowledge, licensing_restrictions, location, made_sla, memory_gb, opened_by, operating_system, order_guide, parent, pa_zone, price, priority, processors, quantity_sourced, reassignment_count, received, recurring_frequency, recurring_price, replaces_vm, request_type, required_date, require_hosting_quote, route_reason, sc_catalog, secure, server_name, server_type, service_offering, skills, sla_due, special_instructions, stage, startup_priority, state, support_hours, sys_class_name, sys_created_by, sys_created_on, sys_domain, sys_domain_path, sys_mod_count, sys_tags, sys_updated_by, target_os_version_linux, target_os_version_windows, target_platform, task_effective_number, team_lead, time_worked, universal_request, upon_approval, upon_reject, urgency, user_input, u_approval_flag, u_change_incident, u_effective_date, u_on_hold_reason, vlan_id, vm_work_needed, v_alt_contact, v_approval_charge_code, v_approval_department, v_approval_department_code, v_approval_division, v_approval_division_code, v_manager, v_requested_by, v_requested_for, v_user_email, v_user_in_servicenow, v_user_phone, watch_list, work_end, work_notes, work_start) VALUES (Source.sys_id, Source.number, Source.opened_at, Source.requested_for, Source.sys_updated_on, Source.short_description, Source.active, Source.activity_due, Source.additional_assignee_list, Source.additional_comments, Source.add_change_disaster_recovery, Source.agency_name, Source.application_info, Source.application_name, Source.approval_history, Source.assigned_to, Source.assignment_group, Source.backordered, Source.billable, Source.business_duration, Source.business_service, Source.calendar_duration, Source.cat_item, Source.cat_item_display_name, Source.cidr_block, Source.closed_at, Source.closed_by, Source.close_notes, Source.cmdb_ci, Source.comments, Source.configuration_item, Source.contact_type, Source.contract, Source.correlation_display, Source.correlation_id, Source.data_center, Source.disaster_recovery_requirements, Source.disk_10, Source.disk_11, Source.disk_12, Source.disk_13, Source.disk_14, Source.disk_15, Source.disk_16, Source.disk_1_os, Source.disk_2_swap_disk, Source.disk_3, Source.disk_4, Source.disk_5, Source.disk_6, Source.disk_7, Source.disk_8, Source.disk_9, Source.dr_protection, Source.due_date, Source.environment, Source.escalation, Source.estimated_delivery, Source.expected_start, Source.follow_up, Source.group_list, Source.host_name, Source.impact, Source.knowledge, Source.licensing_restrictions, Source.location, Source.made_sla, Source.memory_gb, Source.opened_by, Source.operating_system, Source.order_guide, Source.parent, Source.pa_zone, Source.price, Source.priority, Source.processors, Source.quantity_sourced, Source.reassignment_count, Source.received, Source.recurring_frequency, Source.recurring_price, Source.replaces_vm, Source.request_type, Source.required_date, Source.require_hosting_quote, Source.route_reason, Source.sc_catalog, Source.secure, Source.server_name, Source.server_type, Source.service_offering, Source.skills, Source.sla_due, Source.special_instructions, Source.stage, Source.startup_priority, Source.state, Source.support_hours, Source.sys_class_name, Source.sys_created_by, Source.sys_created_on, Source.sys_domain, Source.sys_domain_path, Source.sys_mod_count, Source.sys_tags, Source.sys_updated_by, Source.target_os_version_linux, Source.target_os_version_windows, Source.target_platform, Source.task_effective_number, Source.team_lead, Source.time_worked, Source.universal_request, Source.upon_approval, Source.upon_reject, Source.urgency, Source.user_input, Source.u_approval_flag, Source.u_change_incident, Source.u_effective_date, Source.u_on_hold_reason, Source.vlan_id, Source.vm_work_needed, Source.v_alt_contact, Source.v_approval_charge_code, Source.v_approval_department, Source.v_approval_department_code, Source.v_approval_division, Source.v_approval_division_code, Source.v_manager, Source.v_requested_by, Source.v_requested_for, Source.v_user_email, Source.v_user_in_servicenow, Source.v_user_phone, Source.watch_list, Source.work_end, Source.work_notes, Source.work_start);" #Invoke-Sqlcmd -Query $SQLMerge -ServerInstance $SQLInstance -Username $SQLUsername -Password $SQLPassword Invoke-ITDSqlCmdJob -ServerInstance $SqlInstance -Database $SQLDatabase -Query $SQLMerge -Credential $PrvCred ############################################## # Dropping Temp Table using SQL DROP ############################################## "Dropping SQL Table $SQLTempTable as no longer needed" $SQLDrop = "USE [$SQLTempDatabase] DROP TABLE $SQLTempTable;" #Invoke-Sqlcmd -Query $SQLDrop -ServerInstance $SQLInstance -Username $SQLUsername -Password $SQLPassword Invoke-ITDSqlCmdJob -ServerInstance $SqlInstance -Database $SQLDatabase -Query $SQLDrop -Credential $PrvCred ##############################################