#author("2020-03-12T05:32:13+00:00","default:admin","admin") -テーブルの特定の位置にカラムを追加する ... SQL Serverではできない!ダサッ! --[[SQL ServerのT-SQLでテーブルの特定の位置にカラム (列、項目) を追加する:https://urashita.com/archives/13652]] --SQL Management Studioでやるしかない *実行SQL [#v2885d29] -[[sys.dm_exec_sql_text (Transact-SQL):https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-sql-text-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15]] -[[sys.dm_exec_query_stats (Transact-SQL):https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15]] -[[現在実行中のSQLを調べる:https://haradago.hatenadiary.org/entry/20130325/p1]] -[[SQL Server で実行された SQL を SQL で取得する方法:https://www.projectgroup.info/tips/SQLServer/MSSQL_00000042.html]] -現在実行中のSQLを表示 select sql.text as クエリ, db.name as DB, req.session_id, req.status, req.command, (req.total_elapsed_time/1000) as 経過時間_秒, req.start_time as 処理開始日時 from sys.dm_exec_requests req cross apply sys.dm_exec_sql_text(req.sql_handle) sql, sys.databases db where db.database_id = req.database_id -指定日時以降に実行されたSQLを表示 SELECT st.text ,last_execution_time FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st WHERE last_execution_time >= '2020/03/12 12:00:00' ORDER BY last_execution_time -CPU の平均時間で順位付けされた上位5つのクエリに関する情報 SELECT TOP 5 total_worker_time/execution_count AS [Avg CPU Time], SUBSTRING(st.text, (qs.statement_start_offset/2)+1, ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) AS statement_text FROM sys.dm_exec_query_stats AS qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS st ORDER BY total_worker_time/execution_count DESC; *Tips [#ka23c672] -[[複数の列で in 句を使いたい:https://odashinsuke.hatenablog.com/entry/2015/12/13/103651]] **変数 [#ca325574] -[[SQL Server: 変数にSELECTした結果を代入する方法:https://ameblo.jp/hiro628/entry-11025756474.html]] -[[sql-server – クエリ結果を変数に格納し、それをストアドプロシージャ内で変更する:https://codeday.me/jp/qa/20190301/293218.html]] -[[SELECT した結果をカーソルを使用してループ処理をする方法:https://www.projectgroup.info/tips/SQLServer/SQL/SQL000028.html]] **SQL [#e8512fe6] ***データコピー [#e56be143] insert [コピー先DB].dbo.[テーブル名] select [コピー元DB].dbo.[テーブル名]