#author("2020-02-21T06:16:03+00:00","default:admin","admin")
#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.[テーブル名]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS