본문 바로가기

sql

SQL Formatter SQL 자동 정렬 해주는 웹 사이트 SQL Formatter https://www.dpriver.com/pp/sqlformat.htm Instant SQL Formatter www.dpriver.com 들어갈 때 마다 세팅 하는것이 번거로워서 위와 같이 즐겨찾기 등록 후 수정을 통해서 Javascript 로 설정값을 세팅하도록 했습니다. URL 칸에는 아래와 같이.. javascript:document.all.dbvendor.value = 'mysql';document.all.keywordcs.value = 'Unchanged';document.all.tablenamecs.value = 'Unchanged';document.all.columnnamecs.value = 'Unchanged';document.all.functioncs.valu.. 더보기
저장하지 않은 쿼리 확인 하는 방법 , 강제 종료 시 쿼리 복구 때때로 ssms가 강제 종료 된다거나 저장하지 않고 닫았을 때 SQL 쿼리를 복구 해야하는 경우 아래의 쿼리에서 일정 시간동안 쿼리 확인이 가능합니다. Use SELECT execquery.last_execution_time AS [Date Time], execsql.text AS [Script] FROM sys.dm_exec_query_stats AS execquery CROSS APPLY sys.dm_exec_sql_text(execquery.sql_handle) AS execsql ORDER BY execquery.last_execution_time DESC 참조 Url : qastack.kr/programming/15034832/recover-unsaved-sql-query-scripts 더보기
SQL Server 에이전트에 등록된 작업 목록 조회 SQL Server 에이전트에 등록된 작업 목록을 조회 하는 SQL 입니다. SELECT A.name, case description when '설명이 없습니다.' then '' else description end as description, CASE convert( nvarchar(3), [freq_type], 3 ) WHEN 4 THEN N' 매일' WHEN 8 THEN N' 매주 ' + CASE WHEN [freq_interval] & 1 = 1 THEN N'일' ELSE '' END + CASE WHEN [freq_interval] & 2 = 2 THEN ' 월' ELSE '' END + CASE WHEN [freq_interval] & 4 = 4 THEN ' 화' ELSE '' END + CA.. 더보기
백업 혹은 복구중인 데이터베이스 진행률 확인 백업 혹은 복구 중인 데이터 베이스의 진행 상태나 진행률을 확인하는 SQL 입니다. 경과된 시간 , 남은 시간 , 예상 소요 시간등을 확인 할 수 있습니다. SELECT r.session_id,r.command ,cast(CONVERT(NUMERIC(6,2),r.percent_complete) as varchar) + ' %' AS [Percent Complete] ,CONVERT(VARCHAR(20),DATEADD(ms,r.estimated_completion_time,GetDate()),20) AS [ETA Completion Time] ,CONVERT(NUMERIC(10,2),r.total_elapsed_time/1000.0/60.0) AS [Elapsed Min] ,CONVERT(NUMERIC(1.. 더보기
프로시저(sp)에서 사용하는 테이블 목록 , 특정 테이블을 참조하는 프로시저 목록 테이블의 속성이 변경되었을 때 혹은 컬럼 속성이 변경되었을 때 아니면 테이블의 용도나 정체(?)를 알 수 없을 때 관련된 sp를 확인하기 위해서 개인적으로 자주 사용하는 SQL 입니다. 특정 프로시저에서 사용하는 테이블 목록을 조회하는 SQL 문입니다. -- 프로시저에서 사용하는 테이블 목록 ;WITH stored_procedures AS ( SELECT oo.name AS table_name, o.name, ROW_NUMBER() OVER(partition by o.name,oo.name ORDER BY o.name,oo.name) AS row FROM sysdepends d INNER JOIN sysobjects o ON o.id=d.id INNER JOIN sysobjects oo ON oo.id=.. 더보기
MSSQL 차등백업 방법 및 SQL 차등 백업은 전체 백업 마지막 시점을 기준으로 이후에 수정된 내용을 백업는 방법입니다. 기본적인 내용과 SQL문을 공유합니다. -- 전체 백업 BACKUP DATABASE [test] TO DISK = N'D:\Backup\test_full.bak' WITH NOFORMAT, NOINIT, NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO -- 차등백업 1 BACKUP DATABASE [test] TO DISK = N'D:\Backup\test_1.bak' WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = N'test-전체 데이터베이스 백업', SKIP, NOREWIND, NOUNLOAD, STATS .. 더보기
특정 컬럼명에 대한 테이블 및 속성 검색하는 쿼리 SQL 특정 컬럼명에 대한 테이블 및 속성 검색하는 쿼리 SQL select table_name ,column_name ,column_default, data_type , character_maximum_length ,character_octet_length From information_schema .columns where column_name='cityCd' order by character_maximum_length desc 더보기
PHP 보안코딩 - Prepared Statements MYSQL 샘플 소스 Prepared Statements MYSQL 샘플 소스코드 기본적으로 보안을 위해 사용한다고만 알고있었으나 w3schools 자료를 보면 Prepared Statements 는 3가지 장점을 갖습니다. 준비된 명령문은 쿼리 준비가 한 번만 수행되므로 구문 분석 시간을 줄입니다 (명령문이 여러 번 실행 되더라도) 바인딩 된 매개 변수는 전체 쿼리가 아닌 매번 매개 변수 만 보내야하므로 서버 대역폭을 최소화합니다. Prepared statements는 나중에 다른 프로토콜을 사용하여 전송되는 매개 변수 값이 올바르게 이스케이프 될 필요가 없으므로 SQL injection에 매우 유용합니다. 원래 명령문 템플리트가 외부 입력에서 파생되지 않으면 SQL 삽입이 발생할 수 없습니다. $dbconn = new m.. 더보기