일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 악동뮤지션
- .NET Framework 4.5
- 설치 실패
- 윈도우 usb 설치
- 드래곤플라이트
- 7설치
- 0나누기 에러
- SAS 서버
- MDF 용량
- 파일접근
- Log 줄이기
- 상태값
- CS5.5 설치 실패
- 시스템폴더
- ms-sql 2008 설치 실패
- CS5 설치 실패
- SCSI서버
- 반환값
- EnableIEHosting
- INPUTBUFFER
- smartclient
- 폴더접근
- TABLE LOCK
- DBCC
- 권한얻기
- 매력있어
- 백업 용량
- LDF 용량
- DB 용량 줄이기
- 어세신
- Today
- Total
목록DataBase (6)
TK's 컴퓨터 이야기
가끔 DB를 조회하다보면, 0 나누기 에러때문에 에러가 뜨는 경우가 있다. 쿼리 맨 상단에 다음 옵션을 추가하자. SET ANSI_WARNINGS OFF; SET ARITHIGNORE ON; SET ARITHABORT OFF; 그럼 에러 항목들은 0으로 조회가 된다.
declare @page int, @page_row int, @start int, @end int set @page=1 //조회할 페이지 set @page_row=20 //페이지당 노출 게시물 수 set @start = (@page-1) * @page_row + 1 //조회될 페이지의 시작 row set @end=(@page-1) * @page_row + @page_row; //끝 row /* 이놈은 Base View를 만드는 과정임.. with절을 별개로 사용할때는 위 문장이 세미콜론(;)으로 종료되어야함!! */ with view_table as( select row_number() over(order by num desc) as idx, * from Notice ) /* 실제 노출될 게시물을 조회 ..
관리자 계정을 커넥션에 사용한 경우 파라메터값을 변조하여 SQL Injection 가능. 예 http://localhost/param=';EXEC xp_cmdshell 'net user guest /active:yes'-- // guest 활성화 http://localhost/param=';EXEC xp_cmdshell 'net user guest test'-- // guest 계정 password 변경(test) http://localhost/param=';EXEC xp_cmdshell 'net localgroup Administrators guest /add'-- // 관리자그룹에 guest 추가 원격접속이 허용되어있다면 이때 GUEST 계정으로 로그인 가능. xp_cmdshell 프로시져 삭제 1)..
SP_LOCK --LOCK 리스트 SP_WHO2 [SPID] --SPID 정보 DBCC INPUTBUFFER([SPID]) --SPID에서 실제 실행되고있는 쿼리정보 KILL [SPID] --SPID 죽이기. ※ 디테일한 정보를 원할때는... SP_LOCK 프로시저를 CREATE TABLE 후에 INSERT해서, (프로시저는 INTO문이 안먹는 관계로...) OBJECTNAME(OBJECTID)를 한 결과가 TABLE일 경우에 TABLE LOCK이 걸려있는 상태. 그리고, MODE가 'X'인 경우 다른 사용자의 엑세스가 거부된다는 얘기도있음...
-- 실제로 LOG 사이즈 축소가 필요할때 사용하는 쿼리 2000용-- USE [DB명] BACKUP LOG [DB명] WITH TRUNCATE_ONLY DBCC SHRINKFILE([log파일명], 50) --50은 적용할 용량 --2008용-- USE [DB명] ALTER DATABASE [DB명] SET RECOVERY SIMPLE; DBCC SHRINKFILE([log파일명], 50) ALTER DATABASE [DB명] SET RECOVERY FULL; --select * from sys.database_files -- MDF용량 줄이기 -- -- 동작원리 : Drive에서 DB에 할당한 용량(여유공간포함)에서 가용공간을 최적화해서 용량을 환원하는 형태 DBCC SHRINKDATABASE([DB..
EXEC SP_MSFOREACHDB 'USE [?]; DECLARE @STR_SQL VARCHAR(4000) SET @STR_SQL = ''실행시킬 쿼리'' EXECUTE(@STR_SQL)' 이 녀석을 해부해보자... SP_MSFOREACHDB 이놈은 현재 서버에 존재하는 모든 DB에 접근할 수 있는 시스템 프로시저다. 일반적인 쿼리들은 EXEC SP_MSFOREACHDB 'USE [?]; 쿼리' 로 작업이 가능하다. 이녀석을 실행하면 서버에 존재하는 모든 DB에 접근해서 쿼리를 날려준다. 만약 저걸 그대로 복사해서 실행한다면 (물론 그럴 사람은 없겠지만...) DB갯수만큼 줄1:'쿼리' 근처의 구문이 잘못되었습니다. 이딴식의 에러를 뱉어내겠지만 말이다. 중요한건 Create Function나 Creat..