[DB] SQL SERVER

SQL Server에서 저장프로시저가 잘 수행되다가 갑자기 실행 시간이 급등한 경우가 있다. 다양한 이유가 있지만 대부분 이런 현상이 나타날 때 일반 적인 상황은 파라미터 스니핑과 관련이 있다. 1. 파라미터 스니핑이란?파라미터 스니핑(Parameter Sniffing)은 SQL Server에서 프로시저를 처음 호출 할 때(또는 SQL Server 재실행) 생성된 실행 계획을 플랜 캐시에 저장한 뒤 이후 프로시저가 호출되면 실행계획을 세우지 않고 재사용한다. 그래서 저장프로시저를 사용하면 성능상 이점이 있다. 하지만 어느 검색 조건을 먼저 실행하는지에 따라 성능에 좋지 않은 영향을 미치는 경우가 있다. SQL Server가 최고의 계획을 선택 하는 방법은 비용을 추정하는 것이다. 그래서 가장 좋은 쿼리 ..
서비스 계정이나 사용 중인 계정 중에서 비밀번호 만료 정책을 적용하지 않아야 하는 서비스 계정이나 DBA 계정에 대해서 정책 해제 하는 쿼리. * 서버가 하나만 있을 경우 SSMS에서 쉽게 변경할 수 있음. DB 접속 -> Security -> Logins -> Properties 에서Enforce password expiration 해제  ** Enforce password policy 도 해제할 경우, 자릿수, 기호포함 등 설정되어 있는 패스워드 구성 정책도 해제됩니다. * 여러대의 서버에 대해서 한번에 조회하고 싶을 때, Navigation 창 -> Registered Servers 에서 쿼리로 조회 가능(서버를 다중 선택하고 쿼리창(ctrl+n) 열면 다중 조회 가능함.)select name, i..
특정 계정의 특정 데이터베이스에서 권한 부여가 정상적으로 되지 않음.  Database -> Security -> Users -> [계정] 에 X 표시  *** Schema 구성시 권한이 잘못 설정됨. 해당 계정으로 생성하면서 Schema owner가 다르게 매핑되어 있음.  오류가 발생하는 데이터베이스의 스키마 속성에서 소유주를 동일하게 매핑해 주면 정상적으로 계정 활성화 및 권한 부여 됨.
Standard, Enterprise Edition 설치 시에는 자동으로 설정되는 부분이지만 Developer 로 설치하면 추가로 설정해야 접속이 가능합니다.  설정 방법1) Win + R (실행창)  2) SQLServerManager16.msc * 명령어는 버전에 따라 차이가 있음.   SQL Server 2008 ---> SQLServerManager10.msc   SQL Server 2012 ---> SQLServerManager11.msc   SQL Server 2014 ---> SQLServerManager12.msc   SQL Server 2016 ---> SQLServerManager13.msc   SQL Server 2017 ---> SQLServerManager14.msc   SQL S..
MSSQL User, Role 구조 1)SELECT princ.name AS [User_Name], princ.type_desc AS [User_Type], perm.permission_name, perm.state_desc AS [Permission_State], OBJECT_NAME(perm.major_id) AS [Table_Name]FROM sys.database_principals princ LEFT JOIN sys.database_permissions perm ON princ.principal_id = perm.grantee_principal_idWHERE princ.type_desc NOT IN ('DATABASE_ROLE', ..
SQL Server의 배치를 조회하는 쿼리.SELECT [jobs].name as [jobname] , description , CASE convert(nvarchar(3),[sSCH].[enabled]) WHEN 1 THEN N'Y' WHEN 0 THEN N'N' END AS [IsEnabled] , CASE WHEN convert(nvarchar(3),[freq_type],3) = 64 THEN N'SQL Server 시작 시 마다' WHEN convert(nvarchar(3),[freq_type],3) = 128 THEN N'서버가 유휴 할때마다' WHEN convert(nvarchar(3),[freq_typ..
mewoni
'[DB] SQL SERVER' 카테고리의 글 목록