MSSQL

    [MSSQL] 쿼리 바로가기(단축키) 지정하기

    [MSSQL] 쿼리 바로가기(단축키) 지정하기

    MSSQL옵션에 쿼리 단축키를 지정해서 사용 할 수 있다 1. [도구] > [옵션] 선택 2. [환경] > [키보드] > [쿼리 바로 가기] 선택 3. 옵션 설정 자주 사용하는 쿼리를 작성 후 확인 버튼 클릭 사용법 테이블명 -- 테이블선택후 옵션에 설정된 단축키를 눌러 실행 단축키 참고 sp_helpIndex : 테이블 인덱스 정보 보기 select top 10 * from : 상위 10개행 조회 sp_spaceused : 테이블 정보 보기 sp_helptext : 프로시저 스크립트 출력

    [DBeaver] 설치 및 실행 (Window10)

    [DBeaver] 설치 및 실행 (Window10)

    회사에서 다양한 DBMS를 확장함에 따라 통합으로 사용하면서 좋은 무료 툴 (tool) 이 필요 했다. 주로 mssql , mysql 을 사용하고 있고 oracle도 확장 하는 상황이다 MYSQL은 HeidiSQL도 사용해 보고 Workbanch도 사용 해보았지만 DBeaver 만큼 효율적인 TOOL은 없는거 같아 소개 해볼까 경험상 DBeaver가 좋은 점은 ssh 적용이 가능하다는거다 (HeidiSQL은 지원이 안되니 참고) Tool 설치 하기 dbeaver 사이트에 접속해서 다운로드 (https://dbeaver.io/download/) Download | DBeaver Community Download Tested and verified for MS Windows, Linux and Mac OS ..

    [MSSQL] 대량 데이터 내보내기(Export )

    [MSSQL] 대량 데이터 내보내기(Export )

    간혹 테이블 데이터를 대량으로 내보내거나 일괄로 데이터를 이전 해야 할 경우가 있다. SQL Management Studio 에 태스크(task)라는 기능을 활용하면 쉽고 편하게 Data Export 할 수 있다 1. [데이터베이스선택] > [오른쪽 마우스 클릭] 2. [태스크] > [데이터내보내기 클릭] 3. SQL Server 가져오기 및 내보내기 마법사 > [NEXT 클릭] 4. [데이터 원본 선택] > [내용입력] > [NEXT 클릭] 5. [대상 선택] > [계정정보 입력] > [데이터베이스 선택] > [NEXT 클릭] 6. [테이블 데이터 복사 or 쿼리 선택] > [NEXT 클릭] 7. [원본 테이블 및 뷰 선택] > [NEXT 클릭] 8. [패키지 저장 및 실행] > [NEXT 클릭] 9...

    [MSSQL] Collation(데이터 정렬)  확인 및 변경

    [MSSQL] Collation(데이터 정렬) 확인 및 변경

    개발자에게 테이블의 데이터를 넣으니 한글이 깨진다는 문의가 왔다.. 확인해보니 DB Server 설정 시 기본 Collation(데이터 정렬) SQL_Latin1_General_CP1_CI_AS 로 되어 있었다 클라우드 환경인 AWS, Azure 등 에서 기본 Server Collation 이 SQL_Latin1_General_CP1_CI_AS 로 설정되어 있는 것 같다 1. 현상 테이블을 만들고 한글을 INSERT 하니 한글이 지원하지 않는 (깨지는) 현상이 나타남 2. 발생원인 데이터베이스 생성시 Collation(데이터 정렬)을 따로 설정하지 않아 한글 지원이 되지 않았음 -- COLLATE 확인 SELECT* FROMSYS.DATABASES 해당 쿼리 실행을 하면 아래와 같은 결과가 나온다 쿼리 ..

    [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;

    SQL 정렬 가독성 높여주는 웹사이트

    SQL 정렬 가독성 높여주는 웹사이트

    바쁘게 작업을 하다 보면 여의치 않은 상황으로 정렬이 안맞거나 할때가 있다. 혼자 보는 쿼리는 상관없지만 상부에게 보고 하거나 외부로 전달 할때 사소한 부분이 신경 쓰일때가 있다. 내가 이용하는 SQL Formatter 사이트를 공유 할까 한다 사이트 들어가보면 알겠지만 어렵지 않다. 작성한 쿼리를 입력하고 DATABASE 와 OUTPUT 선택 후 포맷을 누르면 자동 변환된다. 그래도 가장 좋은건 정렬 규약이 습관화 되어 작업하는게 제일 좋은듯 하다.. 참고 SQL 가동성 높여주는 사이트 url : https://www.dpriver.com/pp/sqlformat.htm Instant SQL Formatter www.dpriver.com

    [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..