우연히 어떤쿼리들이 DB실행되는지 확인하다가 이상한 부분이 있어서 떠왔습니다.
(@1 varchar(8000))SELECT [컬럼] FROM [dbo].[테이블] WITH(nolock,readuncommitted) WHERE [키컬럼]=@1
(@1 numeric(11,0))SELECT [컬럼] FROM [테이블] WHERE [키컬럼]=@1
조회한 쿼리는
SELECT A.session_id
, text = ISNULL(ISNULL(CONVERT(VARCHAR(MAX), object_name(D.objectid, D.dbid)), D.text),'DBCC INPUTBUFFER(' + CONVERT(VARCHAR(10), A.session_id) + ')')
, D.objectid
, dbname = db_name(D.dbid)
, D.dbid
, A.status
, A.cpu_time
, A.memory_usage
, A.total_scheduled_time
, A.total_elapsed_time
, A.last_request_start_time
, A.last_request_end_time
, worker_time = DATEDIFF(SECOND, A.last_request_start_time, CASE WHEN A.status = 'running' THEN GETDATE() ELSE A.last_request_end_time END)
, completion_time = C.estimated_completion_time / 1000.0
, C.percent_complete
, A.reads
, A.writes
, A.logical_reads
, transaction_isolation_level = CASE A.transaction_isolation_level WHEN 0 THEN '0'
WHEN 1 THEN '1 - READ UNCOMMITTED'
WHEN 2 THEN '2 - READ COMMITTED'
WHEN 3 THEN '3 - REPEATABLE READ'
WHEN 4 THEN '4 - SERIALIZABLE'
WHEN 5 THEN '5 - SNAPSHOT' END
, A.lock_timeout
, A.deadlock_priority
, A.row_count
, A.prev_error
, B.num_reads
, B.num_writes
, B.last_read
, B.last_write
, B.net_packet_size
, C.command
, C.blocking_session_id
, C.wait_type
, C.wait_time
, C.last_wait_type
, C.wait_resource
, C.granted_query_memory
, A.host_name
, A.program_name
, A.client_interface_name
, A.login_name
, B.client_net_address
FROM sys.dm_exec_sessions A
LEFT OUTER JOIN sys.dm_exec_connections B ON A.session_id = B.session_id
LEFT OUTER JOIN sys.dm_exec_requests C ON A.session_id = C.session_id
OUTER APPLY sys.dm_exec_sql_text(B.most_recent_sql_handle) D
WHERE A.status = 'running'
위 쿼리로 조회했습니다.
DB에서 조회하는 쿼리가 아니고 특정서버에서 들어오는 쿼리같은데 고수분들의 조언 부탁드립니다..ㅠㅠ
Comment 1
-
pungki21
2017.01.24 11:56
자답이라고 하기엔 좀 뭐하지만 특정 테이블을 모니터링 하면서 위 쿼리 실행됐을때 같은 시간에 등록된 데이터가 있는지를 확인해보니 그 정상적인 데이터가 등록이 되어있더군요..
특정 쿼리를 MSSQL 에서 저런식으로 변경해서 처리를 하는거같은데 이거까지는 제 수준에서는 확인이 안됩니다.
고로 해킹시도는 아닌걸로 확인됩니다.
ㅎㅎㅎㅎ;; ㅠㅠ