COLLATION 확인Collation 종류 보기SELECT * FROM ::fn_helpcollations() --DB CollationSELECT SERVERPROPERTY('collation') --DB Collation ListSELECT name, collation_name FROM sys.databases;--Column Collation ListSELECT name, collation_name FROM sys.columns COLLATION 변경--DB Collation 변경ALTER DATABASE CollateDb COLLATE Korean_Wansung_CI_AI GO --Table Column Collation 이 다를 경우--"칼럼 'xxx'는 데이터베이스 데이타 정렬에 종속되어 ..
[DB] SQL SERVER
SQL Server 인스턴스 내에 있는 모든 데이터베이스(또는 테이블)의 이름을 반환하며 이 이름을 참조하여 지정된 반복문을 수행 한다. sp_MSforeachdb구문exec sp_MSforeachdb 'use [?] select * from sys.database_files' 결과 예시 sp_MSforeachtable구문exec sp_MSforeachtable 'select count(*) from ?' 결과예시 출처: https://iheedol.tistory.com/entry/spMSforeachdb-spMSforeachtable [iHeedol:티스토리]
Version : SQL Server 2000, 2005, 2008, 2008R2, 2012 Fill Factor 옵션은 SQL Server에서 인덱스를 생성 할 때 각 페이지를 얼마나 채울지 지정하는 옵션이다. 대부분의 사용자들은 Fill Factor에 대한 정의는 잘 알고 있으나 몇 가지 사실에 대해서는 많이들 오해하는 부분이 있어 간단히 정리해 보고자 한다. Fill Factor 의 기본값은 100 이다?Fill Factor의 기본값은 0 이다. 사실 0과 100은 동일한 기능으로 작동 한다. Fill Factor의 옵션을 80으로 지정하면 80%의 비율로 채우기를 한다. 이미 생성된 인덱스에 Fill Factor 옵션을 변경하면 자동으로 적용 된다?Fill Factor의 비율에 따른 분할은 인덱스..
A. 사용자 쿼리에 대해 예상되는 개선 사항이 가장 높은 누락된 인덱스 10개 찾기SELECT TOP 10 * FROM sys.dm_db_missing_index_group_stats ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans) DESC; B. 특정 누락된 인덱스 그룹의 개별 누락된 인덱스 및 해당 열 정보 찾기SELECT migs.group_handle, mid.* FROM sys.dm_db_missing_index_group_stats AS migs INNER JOIN sys.dm_db_missing_index_groups AS mig ON (migs.group_handle = mig.index_..
1. 현재 MSSQL의 상태 조회 쿼리MSSQL 인스턴스에 connect 되어 있는 세션 정보 확인SELECT s.login_time , s.host_name , s.session_id , s.program_name , [DB Name] = db_name(st.dbid) , s.login_name , s.status , [CPU Time used by session (ms)] = s.cpu_time , [# of Pages In MEM] = s.memory_usage , [Total Scheduled Time (ms)] = s.total_scheduled_time , [Since Session established Time (ms)] = s.total_elapsed_time , s.last_request..
SQL Server에서 저장프로시저가 잘 수행되다가 갑자기 실행 시간이 급등한 경우가 있다. 다양한 이유가 있지만 대부분 이런 현상이 나타날 때 일반 적인 상황은 파라미터 스니핑과 관련이 있다. 1. 파라미터 스니핑이란?파라미터 스니핑(Parameter Sniffing)은 SQL Server에서 프로시저를 처음 호출 할 때(또는 SQL Server 재실행) 생성된 실행 계획을 플랜 캐시에 저장한 뒤 이후 프로시저가 호출되면 실행계획을 세우지 않고 재사용한다. 그래서 저장프로시저를 사용하면 성능상 이점이 있다. 하지만 어느 검색 조건을 먼저 실행하는지에 따라 성능에 좋지 않은 영향을 미치는 경우가 있다. SQL Server가 최고의 계획을 선택 하는 방법은 비용을 추정하는 것이다. 그래서 가장 좋은 쿼리 ..