'mssql'에 해당되는 글 3건
- 2011.04.15 Database 트렌젝션 로그 줄이기
- 2008.06.30 서브쿼리 안쪽에서 Order by를 쓸경우
- 2008.05.07 오늘날자에 해당하는 주의 월요일, 금요일 날자 가지고 오기
2011. 4. 15. 10:54
Database 트렌젝션 로그 줄이기
2011. 4. 15. 10:54 in 개발관련/Database
DB 트렌젝션 로그 줄이기
-- 2000용
--BACKUP LOG VALLY_SERVER WITH TRUNCATE_ONLY
--DBCC SHRINKFILE(로그이름,1)
-- 2008용
-- 일단 DB Recovery모델을 full 에서 simple로 변경하여야 한다
select name,recovery_model_desc from sys.databases
select name,recovery_model_desc from sys.databases
Alter database DB이름 SET Recovery simple
select name,size from sys.database_files
DBCC SHRINKFILE (N'DB이름_log' , 1)
-- 2008용 테이블별 용량확인쿼리
SELECT CONVERT(VARCHAR(30), MIN(O.NAME)) AS TABLENAME, LTRIM(STR(SUM(RESERVED) * 8192.0 / 1024.0 / 1024.0, 15,0)) AS TABLESIZE
FROM SYSINDEXES I INNER JOIN SYSOBJECTS O ON (O.ID = I.ID)
WHERE I.INDID IN (0, 1, 255) AND O.XTYPE = 'U'
GROUP BY I.ID
2008. 6. 30. 20:27
서브쿼리 안쪽에서 Order by를 쓸경우
2008. 6. 30. 20:27 in 개발관련/Database
그런 경우가 없는것이 좋은것이고,
되도록 없게 가야 하겠지만, 부득이하게 쓰게 될 경우가 있다.
SQL Server에서는 서브쿼리에 order by를 못쓰게 오류가 나오는데, 이때는 order by가 들어가야 하는 쿼리에
Top을 100%로 지정해 주면 해결 가능하다
-- 오류발생
Select aaa,bbb
(
Select aaa,count(cccc) as ddd from tblTest group by aaa order by ddd
) asdf
-- 해결
Select aaa,bbb
(
Select top 100 percent aaa,count(cccc) as ddd from tblTest group by aaa order by ddd
) asdf
물론, 성능이나 그런거 일단 접어두고 어쩔수 없는 경우에만 생각할것.
(성능에 대해선 확인해 보지 않았음)
2008. 5. 7. 11:09
오늘날자에 해당하는 주의 월요일, 금요일 날자 가지고 오기
2008. 5. 7. 11:09 in 개발관련/Database
오늘 날자에 해당하는 주에 월요일 날자와 금요일 날자를 가지고 오는 Select 쿼리
Select dateadd(dw, 2-Datepart(dw,getdate()),getdate()),dateadd(dw, 6-Datepart(dw,getdate()),getdate())
- 제한사항 :
1. 시스템 설정이 일요일이 1번으로 되어 있어야 함
2. 시간은 알아서 띠어 낼것
Select dateadd(dw, 2-Datepart(dw,getdate()),getdate()),dateadd(dw, 6-Datepart(dw,getdate()),getdate())
- 제한사항 :
1. 시스템 설정이 일요일이 1번으로 되어 있어야 함
2. 시간은 알아서 띠어 낼것