[DATABASE/SQLSERVER] 프로세스 CPU 점유율 조회하기
■ 프로세스의 CPU 점유율을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT TOP 10 * FROM master.dbo.sysprocesses AS A ORDER BY A.cpu DESC; |
■ 프로세스의 CPU 점유율을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT TOP 10 * FROM master.dbo.sysprocesses AS A ORDER BY A.cpu DESC; |
■ 에러 메시지를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 |
SELECT A.message_id AS ID ,A.[text] AS Name FROM sys.messages AS A WITH(NOLOCK) WHERE A.language_id = 1042; |
■ HASHBYTES 함수를 사용해 해시값을 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT HASHBYTES('SHA', 'TEST') AS HASH_KEY; |
※ 지원 알고리즘 : 'MD2', 'MD4', 'MD5', 'SHA', 'SHA1',
■ 실행된 저장 프로시저 상태를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 |
SELECT A.* FROM sys.dm_exec_procedure_stats AS A; |
■ 저장 프로시저 리스트를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 |
SELECT A.* FROM sys.objects AS A WHERE A.type_desc = 'SQL_STORED_PROCEDURE' ORDER BY A.modify_date; |
■ 날짜 포맷을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT FORMAT(CURRENT_TIMESTAMP, 'yyyyMMdd hhmmss fff'); |
※ 2008 R2 버전 이상에서 사용 가능하다.
■ OBJECT_ID 함수를 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 |
SELECT * INTO #temp1 FROM PhotoBook; IF OBJECT_ID('tempdb..#temp1') IS NOT NULL BEGIN DROP TABLE #temp1; END; |
■ CTE 재귀 호출을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
WITH CTE (ParentID, ID, [Level], [Path]) AS ( SELECT A.ParentID AS ParentID, A.ID AS ID , 1 AS [Level] , CONVERT(NVARCHAR(MAX), '/' + A.Name) AS [Path] FROM Menu AS A WITH(NOLOCK) WHERE A.ParentID = -1 UNION ALL SELECT A.ParentID AS ParentID, A.ID AS ID , B.[Level] + 1 AS [Level] , CONVERT(NVARCHAR(MAX), B.[Path] + '/' + A.Name) AS [Path] FROM Menu AS A WITH(NOLOCK) JOIN CTE AS B ON B.ID = A.ParentID ) SELECT * FROM CTE AS A ORDER BY A.[Path]; |
■ 날짜 포맷을 사용하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 |
SELECT CONVERT(VARCHAR(10),GETDATE(),120) -- '2014-10-20' SELECT CONVERT(VARCHAR(10),GETDATE(),111) -- '2014/10/20' SELECT CONVERT(VARCHAR(8 ),GETDATE(),112) -- '20141020' |
■ 마지막 추가 데이터의 Identity 값을 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT @@IDENTITY; |
※ 데이터 추가를 한번도 하지 않은 경우 NULL
■ 에러 발생시 에러 번호를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT @@ERROR; |
■ 쿼리 실행시 영향을 받은 행 수를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT @@ROWCOUNT; |
■ 현재 사용중인 트랜잭션 수를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT @@TRANCOUNT; |
■ 30일 이내 작성된 데이터를 조회하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
DECLARE @Date DATETIME; SET @Date = GETDATE(); SELECT * FROM PhotoBook AS A WHERE A.MenuID = 44 AND A.CategoryName = '자연' AND DATEDIFF(D, A.DateTimeWritten, @Date) > -1 AND DATEDIFF(D, A.DateTimeWritten, @Date) < 30 ORDER BY A.ID DESC; |
■ 기본 키를 설정하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
ALTER TABLE [테이블명] ADD CONSTRAINT [인덱스명] PRIMARY KEY(컬럼명1, 컬럼명2); |
■ ROUND 함수를 사용해 소수점 이하를 버리는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
SELECT ROUND(98.65, 0, 1); |
■ Identity 속성을 갖는 테이블/컬럼을 찾는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 |
SELECT B.name AS [Table] ,A.name AS [Colum] FROM syscolumns A JOIN sysobjects B ON B.id = A.id WHERE A.status = 128 -- Identity 컬럼은 0x80 값을 갖는다. AND B.name NOT LIKE 'queue_messages_%' ORDER BY B.name ASC ,A.name ASC; |
■ 특정 테이블 컬럼 정보를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_columns @table_name = '테이블명'; |
■ 특정 테이블 정보를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_tables @table_name = '테이블명'; |
■ 테이블 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_tables null,null,null, "'TABLE'"; |
■ 뷰 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_tables null, null, null, "'VIEW'"; |
■ 테이블/뷰 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_tables; |
■ 데이터베이스 정보를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_helpdb @dbname= '데이터베이스명'; |
■ 데이터베이스 리스트를 구하는 방법을 보여준다. ▶ 예제 코드 (SQL)
1 2 3 |
EXECUTE sp_helpdb; |
■ 테이블 존재 여부를 조사하는 방법을 보여준다. ▶ 테이블 (SQL)
1 2 3 4 5 6 |
SELECT COUNT(*) AS TableCount FROM SYSOBJECTS AS A WHERE A.xtype = 'U' AND A.name = '테이블명'; |
▶ 임시 테이블 (SQL)
1 2 3 4 5 |
SELECT COUNT(*) AS TemporaryTableCount FROM tempdb.dbo.SYSOBJECTS AS A WHERE A.name LIKE '%테이블명%'; |