Serach

2013년 10월 10일 목요일

디비 관리용 쿼리 모음

로그 남은 양 확인

DBCC SQLPERF(LOGSPACE)


로그 강제로 비우기
   
  2008 버젼 이후부터는 NO_LOG, TRUNCATE_ONLY 옵션이 안먹힌다.
  그러니까 아래와 같이 실행해주자
   
   
  ALTER DATABASE DB명 SET RECOVERY SIMPLE
  GO
   
  DBCC SHRINKFILE(로그명)
  GO
   
  EXEC sp_helpdb DB명    -- 용량 확인
  GO
   
  ALTER DATABASE DB명 SET RECOVERY FULL
  GO



디피 퍼포먼스 확인

SELECT DB_NAME(st.dbid) DBName
        ,OBJECT_NAME(st.objectid) StoredProcedure
        ,max(cp.usecounts) Execution_count
        ,sum(qs.total_worker_time) total_cpu_time
        ,sum(qs.total_worker_time) / (max(cp.usecounts) * 1.0)  avg_cpu_time
   
   FROM sys.dm_exec_cached_plans cp join sys.dm_exec_query_stats qs on cp.plan_handle = qs.plan_handle
        CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
   where DB_NAME(st.dbid) is not null and cp.objtype = 'Proc'
   group by DB_NAME(st.dbid), OBJECT_NAME(objectid) 
   order by sum(qs.total_worker_time) desc






Idemtity 확인, 초기값 변경

확인
use 데이터베이스명
DBCC CHECKIDENT('테이블명')

초기값변경
DBCC CHECKIDENT('테이블명',RESEED,'값')







랜덤값 뽑기 

order by NEWID()









디비 저장 경로 변경
--------------------------------------------------------------------------
alter database DB명 set offline
go


alter database DB명
modify file
(name = DB명,
filename = 'F:\SQL Data\파일명.mdf')
go


alter database DB명
modify file
(name = DB명_log,
filename = 'F:\SQL Data\파일명_log.ldf')
go


alter database DB명set online
go


sp_helpdb DB명
------------------------------------------------------------------------








프로시저 안에서 with(nolock)과 같은 효과 내기

create proc usp_GetLogon
 @uid int
 as
   set nocount on;
   set transaction isolation level read uncommitted;
   select SessionID from Logon where UserID=@uid
  go

댓글 없음:

댓글 쓰기