본문 바로가기

MSSQL

[DB] SQL Server 2005 .NET CLR 통합기능 출처 : http://technet.microsoft.com/ko-kr/cc487838.aspxSQL Server 2005 .NET CLR 통합기능개요SQL 서버 2005에서는 .NET Framework2.0의 Common Language Runtime 기술을 이용하여 매우 향상된 데이터베이스 프로그램을 구현 할 수 있습니다. 이는 Microsoft Visual C#, Microsoft Visual Basic.NET, Microsoft Visual C++ 등의 CLR 언어를 통해서 저장프로시저, 사용자정의 함수, 트리거를 생성할 수 있을 뿐 아니라, 사용자 정의 데이터타입 및 집계의 생성을 가능하게 합니다.TSQL의 그 능력의 한계TSQL은 RDBMS만을 위한 언어이기 때문에 DML, DDL외의 프로그래.. 더보기
[DB] MSSQL DBA GUIDE - 데이터베이스 관리 MSSQL DBA GUIDE - 데이터베이스 관리[출처] MSSQL DBA GUIDE - 데이터베이스 관리|작성자 판다 데이터베이스 생성 수칙1. 트랜잭션 로그 파일은 로그 전용 드라이브에 배치합니다. 데이터 파일들과 트랜잭션 로그 파일은 서로 다른 디스크에 배치합니다. 모든 데이터베이스는 최소 하나의 주 데이터 파일(Primary Data File)과 하나의 트랜잭션 로그 파일로 구성됩니다. 트랜잭션 로그 파일은 별도의 드라이브에 배치합니다. [따라하기] 주 데이터 파일은 D 드라이브에 배치하고 트랜잭션 로그 파일은 E 드라이브에 배치하는 데이터베이스 생성하기 확장명은 파일의 용도를 정확하게 구분 할 수 있도록 주 데이터 파일은 .mdf, 보조 데이터파일은 .ndf, 트랜잭션 로그 파일은 .ldf를 사.. 더보기
[DB] MSSQL SSMS 단축키 모음 SSMS 단축키 모음입니다 더보기
[DB] MSSQL 2005 저장프로시져 모니터하기 -- 1.저장프로시져별 실행수 뽑기 select db_name(st.dbid) DBName,object_schema_name(st.objectid,dbid) SchemaName,object_name(st.objectid,dbid) StoredProcedure,sum(qs.execution_count) Execution_countfrom sys.dm_exec_cached_plans cpjoin sys.dm_exec_query_stats qs on cp.plan_handle=qs.plan_handlecross apply sys.dm_exec_sql_text(cp.plan_handle)stwhere DB_Name(st.dbid) is not null and cp.objtype = 'proc'group by D.. 더보기
[DB] MS-SQL 동적 관리 뷰 활용 - 실행중인 프로세스 확인하기 sys.dm_exec_requests 동적 관리 뷰를 이용하여 서버에서 실행되고 있는 모든 세션들의 정보를 확인할 수 있습니다. 사용자에게 서버에 대한 VIEW SERVER STATE 권한이 있으면 SQL Server 인스턴스에서 실행 중인 모든 세션을 볼 수 있고, 그렇지 않으면 현재 세션만 볼 수 있습니다. SELECT r.session_id ,status ,wait_type ,substring(qt.text,r.statement_start_offset/2, (case when r.statement_end_offset = -1 then len(convert(nvarchar(max), qt.text)) * 2 else r.statement_end_offset end - r.statement_start_.. 더보기
[DB] MS-SQL Job Agent 관련 쿼리 SQL Server Agent Job Setup and Configuration Information SELECT [sJOB].[job_id] AS [JobID] , [sJOB].[name] AS [JobName] , [sDBP].[name] AS [JobOwner] , [sCAT].[name] AS [JobCategory] , [sJOB].[description] AS [JobDescription] , CASE [sJOB].[enabled] WHEN 1 THEN 'Yes' WHEN 0 THEN 'No' END AS [IsEnabled] , [sJOB].[date_created] AS [JobCreatedOn] , [sJOB].[date_modified] AS [JobLastModifiedOn] , [s.. 더보기
[DB] MSSQL 트랜잭션 로그파일 크기 줄이기 MSSQL 트랜잭션 로그파일 크기 줄이기 * MSSQL 2008 의 경우 USE [DataBase]; GO -- Truncate the log by changing the database recovery model to SIMPLE. ALTER DATABASE [DataBase] SET RECOVERY SIMPLE; GO -- Shrink the truncated log file to 1 MB. DBCC SHRINKFILE ([DataBase_Log], 1); GO -- Reset the database recovery model. ALTER DATABASE [DataBase] SET RECOVERY FULL; GO * MSSQL 2005 의 경우 use [DB명]; sp_helpfile; 더보기
오라클(oracle)과 MS-SQL 함수, 쿼리 차이점 출처 : http://mt1716.egloos.com/10590565 쿼리 오라클9i MS-SQL2000 값 대체 DECODE ex) DECODE(컬럼명, 'A', 'OK', 'B', 'NO', 컬럼명) CASE WHEN (오라클도 있음) ex) CASE WHEN 컬럼명 = 'A' THEN 'OK' WHEN 컬럼명 = 'B' THEN 'NO' ELSE 컬럼명 END 문자열 자르기 SUBSTR ex) SUBSTR('ANSDDD', 1, 2) = 'AN' SUBSTRING ex) SUBSTRING('ANSDDD', 1,2) = 'AN' 시스템시간 SYSDATE GETDATE() 널값제어 NVL ex) NVL(컬럼명,0) => 컬럼값이 널이면 0으로 대체 isNULL ex) isNULL(컬럼명,0) => 컬럼.. 더보기
[DB] MSSQL DATETIME INDEX QUERY Datetime 필드에 index가 걸려 있을 경우, 해당 날의 모든 데이터를 가져오는 쿼리를 할 때 기본적으로 WHERE절에 '2010-08-25' 라고 비교하면 MS-SQL이 자동으로 TYPE CAST를 합니다. 그리고, 아래와 같이 왼쪽값을 변형하면 INDEX를 사용하지 못합니다. 틀린 쿼리 : select * from testtable where convert(datetime, rdate, 112) = '20100825' 올바른 쿼리 : select * from testtable where rdate between convert(datetime, '2010-08-25 00:00:00.000') and convert(datetime, '2010-08-25 23:59:59.997') 마지막 conve.. 더보기
[DB] MS-SQL2005 스키마(Schema) 관리 아래 내용의 출처는 http://www.dbguide.net/db.db?cmd=view&boardUid=13958&boardConfigUid=9&categoryUid=216&boardIdx=74&boardStep=1 입니다. ---------------------------------------------------------------------------------------------------- 스키마는 테이블, 뷰, 함수, 프로시저 등을 포함하는 보안 개체입니다. 사용자는 직접 테이블 이나 뷰와 같은 데이터베이스 개체들을 직접 소유하는 대신 이러한 개체들이 포함되어 있는 스키마를 소유함으로써 각 개체들에 대한 권한을 얻게 됩니다. 사용자와 스키마가 분리 되어 있기 때문에, 사용자가 삭제 또는 변.. 더보기