DBMS/MSSQL

    [MSSQL] .NET Framework에서 사용자 코드를 실행할 수 없습니다. "clr enabled" 구성 옵션을 설정하십시오

    SQL SERVER 설치 후 clr 을 활성화하지 않을경우 오류가 발생한다. 나의 경우 .net 으로 만든 함수를 실행 했을 경우 이다 (대부분 암복호화 어셈블리였음) 에러내용 ".NET Framework에서 사용자 코드를 실행할 수 없습니다. "clr enabled" 구성 옵션을 설정하십시오" 발생원인 SQL서버에서 CLR이 작동하지 않을 경우 생기는 에러 해결 [1] clr 활성화 확인 SELECT* FROMsys.configurations WHEREname = 'clr enabled' [2] clr 을 활성화 EXEC sp_configure 'clr enabled' , '1'; RECONFIGURE;

    [MSSQL] 쿼리 대문자 소문자 변경 단축키

    [MSSQL] 쿼리 대문자 소문자 변경 단축키

    쿼리문 작성 후 단축키를 이용하여 일괄로 대문자, 소문자 변경 해야 할 경우가 있다 대소문자 변경시 아래 단축키를 사용하자. 대문자 변환방법 단축키 : Ctrl+Shift+U 소문자 변환방법 단축키 : Ctrl+Shift++L

    [MSSQL] 저장 프로시저 일괄 조회 권한 주는 쿼리

    [MSSQL] 저장 프로시저 일괄 조회 권한 주는 쿼리

    특정 사용자에게 전체 SP 조회권한을 주어야 할때가 있다. 디자인 툴로도 가능 하지만 쿼리로도 가능 하기에 쿼리로 권한 부여를 해보았다. USE DB명 DECLARE @Name NVARCHAR(128) DECLARE @UserID NVARCHAR(10) SET @Name=''; SET @UserID='사용자 ID'; DECLARE ProcCursor CURSOR FOR SELECT Name FROM sys.procedures OPEN ProcCursor FETCH NEXT FROM ProcCursor INTO @Name WHILE @@FETCH_STATUS = 0 BEGIN EXEC ('GRANT VIEW DEFINITION ON OBJECT :: [' + @Name + '] TO ' + @UserID ..

    [MSSQL] 트리거(Trigger) 잘못 설정하여 로그인 되지 않을 때

    [MSSQL] 트리거(Trigger) 잘못 설정하여 로그인 되지 않을 때

    ISMS 대응 으로 LogOn Trigger를 사용했는데 를 잘못된 설정으로 로그인이 되지 않은 경우가 있었다. sysadmin 계정, 윈도우 계정 등 모든 계정으로 시도 해도 SQL SERVER 접근이 되지 않았다. 내 마음의 사직서를 꺼내야 하는순간이다.. 지금 생각해도 아찔하다.. 다행히 해결 방안을 찾았지만 트리거 사용은 나는 여전히 조심스럽다.. 해결 방안 command 창을 실행 (윈도우+R) sqlcmd로 sql server에 로그인 트리거 삭제 go 입력 sqlcmd - S localhost -d master -A DROP TRIGGER TriggerName ON ALL SERVER GO

    [MSSQL]  테이블(Table) 용량 확인 쿼리

    [MSSQL] 테이블(Table) 용량 확인 쿼리

    운영 하는 사이트가 활성화 됨에 따라 Data 양이 증가 되고 Table 을 주기적으로 관리를 하지 않으면 속도지연의 이슈로 발생이 될 수 있다. 나의 경우 Log, History 등 과 같은 추적목적인 경우 최소 6개월 의 Data 만 보관 할 수 있도록 하고 있다. 간혹 Table 관리가 되지 않아 Query를 통해 용량 확인 해야 하는 경우가 있어 정리 해 볼까 한다. -- [1] 디비정보 확인 EXEC SP_HELPDB 조회하고자하는 DB명 -- [1] 테이블 크기 exec sp_spaceused 테이블명; 전체 테이블의 용량을 확인 하고자 할때 아래 Query로 활용 하면 유용하다 -- 테이블 용량 조회 DECLARE@SIZE INT-- 관리대상 테이블 크기(KB) DECLARE @LOW BIG..

    [MSSQL] 미러링 DB 상태 조회

    [MSSQL] 미러링 DB 상태 조회

    /* mirroring_state :0 = 일시 중지됨 1 = 다른 파트너와 연결이 끊어짐 2 = 동기화 중 3 = 장애 조치(Failover) 보류 중 4 = 동기화됨 5 = 파트너가 동기화되지 않았습니다. 지금은 장애 조치를 수행할 수 없습니다. 6 = 파트너가 동기화되었습니다. 장애 조치를 수행할 수 있습니다. mirroring_role1 = 주 서버 2 = 미러 서버 mirroring_connection_timeout미러링 연결 제한 시간(초)입니다. 이 값은 파트너 또는 미러링 모니터 서버가 사용할 수 없는 것으로 간주되기 전에 해당 서버의 응답을 대기하는 시간(초)입니다. 기본 제한 시간 값은 10초입니다. */ DECLARE @dbid INT SET @dbid = 0; --## [1] 데이터..

    [MSSQL] 미러링 계정 설정

    [MSSQL] 미러링 계정 설정

    Microsoft 에서는 사용자 구분을 UID(User ID) , SID(Secure ID) 로 구분을 한다. Database Mirror 구성 후 동일한 사용자 계정을 주서버, 보조서버에 생성 후 File Over 테스트 를 진행하면 SID 값이 일치 하지 않아 로그인이 되지 않는다. 1. 주서버 계정 생성 주서버 에 접속 후 아래 링크의 순서대로 계정 생성을 한다. [MSSQL] MS SQL 로그인 계정 생성 SQL Server 계정은 SQL Server 설치 시 모든 권한을 갖고 시스템계정 (sa) 과 사용자 계정으로 분류 할 수 있다 시스템 계정 (sa) 로 로그인 한 후 사용자 계정을 생성 해보도록 한다 1. DB에 접속 후 [보안] hotinme35.tistory.com 2. 주서버 계정 si..

    [MSSQL] Database Mirroring 보안 구성 마법사

    [MSSQL] Database Mirroring 보안 구성 마법사

    미러링 구성 1. [주 서버 접속] > [미러링 하고자 하는 데이터 베이스 선택] > [속성 클릭] 2. [미러링 탭 클릭] > [보안 구성 클릭] 3. [다음] 클릭 4. [다음] 클릭 5. [다음 클릭] 6. 주 서버 인스턴스 정보 확인 [다음 클릭] 7. 미러 서버 인스턴스 정보 확인 [연결 클릭] 8. 미러 서버 정보 연결 9. 미러서버 정보 확인 > [다음 클릭] 10. 미러링 모니터 서버 인스턴스 정보 확인 및 연결 11. [다음 클릭] 12. 서버 인스턴스 정보 확인 후 [마침 클릭] 13. 데이터베이스 미러링 보안 구성 마법사 구성 완료 확인 14. 미러링시작 15. 미러링 확인

    [MSSQL] MS SQL 로그인 계정 생성

    [MSSQL] MS SQL 로그인 계정 생성

    SQL Server 계정은 SQL Server 설치 시 모든 권한을 갖고 시스템계정 (sa) 과 사용자 계정으로 분류 할 수 있다 시스템 계정 (sa) 로 로그인 한 후 사용자 계정을 생성 해보도록 한다 1. DB에 접속 후 [보안] > [로그인] 접근 2. [보안] > [로그인] > [오른쪽 마우스] 클릭 > [새 로그인] 클릭 3. 로그인 방식 Windows / SQL Server 중 선택 4. SQL Server 인증 방식선택 하여 계정 생성 5. 계정 정보를 입력 > [확인] 클릭 6. 사용자 매핑 데이터베이스 역할 멤버 자격 db_accessadmin : Windows 로그인, Windows 그룹 및 SQL Server 로그인에 대한 액세스를 추가, 제거할 수 있음 db_backupoperato..

    [MSSQL] mssql 누락된 인덱스

    [MSSQL] mssql 누락된 인덱스

    누락된 인덱스란? 인덱스가 생성되어 있지만 사용되지 않는 인덱스를 말한다 누락된 인덱스 확인쿼리 SELECT A.AVG_USER_IMPACT * A.AVG_TOTAL_USER_COST * A.USER_SEEKS AS AVG_IMPACT , DB_NAME(C.DATABASE_ID) AS DB_NM , OBJECT_NAME(C.OBJECT_ID, C.DATABASE_ID) AS TABLE_NM , C.EQUALITY_COLUMNS , C.INEQUALITY_COLUMNS , C.INCLUDED_COLUMNS , C.STATEMENT , 'USE [' + DB_NAME(C.DATABASE_ID) + ']; CREATE INDEX MRDENNY_' + REPLACE(REPLACE(REPLACE(REPLACE (..