Chad Miller と Hey Scripting Guy の関数invoke-sqlcmd2とwrite-datatableを使用して、クエリの結果をデータ テーブルに保存し、それを SQL テーブルに書き込みます。
私が実行しているコードは次のとおりです。
$dt = invoke-sqlcmd2 -serverinstance $_.server -query "exec master.dbo.sp_who" -As 'Datatable'
write-datatable -serverinstance "myserverhere" -DATABASE "dbainfo" -tablename "who_sp_results" -DATA $dt
データテーブルにフィールドを追加したい - 変更できない SP を実行していて、サーバー名を追加したい。並行して実行しているため、ステージング テーブルを使用できません。既存のデータ テーブルを変更するか、新しいデータ テーブルに移動する必要があります。
- データテーブルをコピー/変更して追加の列を取得し、それを別の変数に設定するにはどうすればよいですか?
- ループしているので、2 番目のデータテーブルを使用する場合、foreach ループ内で次の実行の前にそれを「切り捨てる」またはクリアするにはどうすればよいですか?
更新: $dt から 1 行を追加 | select-object * 、および $dt | メンバーを取得
spid : 1
ecid : 0
status : background
loginame : sa
hostname :
blk : 0
dbname :
cmd : RESOURCE MONITOR
request_id : 0
RowError :
RowState : Unchanged
Table : {sa, sa, sa, sa...}
ItemArray : {1, 0, background , sa...}
HasErrors : False
$dt | の結果は次のとおりです。取得メンバー:
TypeName: System.Data.DataRow
Name MemberType Definition
---- ---------- ----------
AcceptChanges Method System.Void AcceptChanges()
BeginEdit Method System.Void BeginEdit()
CancelEdit Method System.Void CancelEdit()
ClearErrors Method System.Void ClearErrors()
Delete Method System.Void Delete()
EndEdit Method System.Void EndEdit()
Equals Method bool Equals(System.Object obj)
GetChildRows Method System.Data.DataRow[] GetChildRows(string relationName), System.Data.DataRow[] GetChildRows(...
GetColumnError Method string GetColumnError(int columnIndex), string GetColumnError(string columnName), string Get...
GetColumnsInError Method System.Data.DataColumn[] GetColumnsInError()
GetHashCode Method int GetHashCode()
GetParentRow Method System.Data.DataRow GetParentRow(string relationName), System.Data.DataRow GetParentRow(stri...
GetParentRows Method System.Data.DataRow[] GetParentRows(string relationName), System.Data.DataRow[] GetParentRow...
GetType Method type GetType()
HasVersion Method bool HasVersion(System.Data.DataRowVersion version)
IsNull Method bool IsNull(int columnIndex), bool IsNull(string columnName), bool IsNull(System.Data.DataCo...
RejectChanges Method System.Void RejectChanges()
SetAdded Method System.Void SetAdded()
SetColumnError Method System.Void SetColumnError(int columnIndex, string error), System.Void SetColumnError(string...
SetModified Method System.Void SetModified()
SetParentRow Method System.Void SetParentRow(System.Data.DataRow parentRow), System.Void SetParentRow(System.Dat...
ToString Method string ToString()
Item ParameterizedProperty System.Object Item(int columnIndex) {get;set;}, System.Object Item(string columnName) {get;s...
blk Property System.String blk {get;set;}
cmd Property System.String cmd {get;set;}
dbname Property System.String dbname {get;set;}
ecid Property System.Int16 ecid {get;set;}
hostname Property System.String hostname {get;set;}
loginame Property System.String loginame {get;set;}
request_id Property System.Int32 request_id {get;set;}
spid Property System.Int16 spid {get;set;}
status Property System.String status {get;set;}