본문 바로가기
Backend 개발자/StackOverflow

MSSQL 맥북용 M1 추천 Tool Legacy 분석 Mssql 프로시저 검색하기

by by 앵과장 2022. 9. 8.
반응형

어쩌다보니 Legacy 분석을 Mssql Procedures 까지 하고 있어서 

돈버는건 역시 쉬운게 없다는걸 다시한번 느끼는 중입니다.

 

Mssql 을 사용하기 위한 Mac 용 Mssql Tool 추천

2가지를 공유드립니다. 

 

저도 사용감이 많지 않아서 Mssql 맥북용 Tool만 소개해드리고 

프로시저 분석을 위한 프로시저 찾기 실행하기 정도로 정리를 해볼까 합니다.

 

Mac 용 Mssql Database 접근 Tool

 

DBeaver

https://dbeaver.io/download/

 

Download | DBeaver Community

Download Tested and verified for MS Windows, Linux and Mac OS X. Install: Windows installer – run installer executable. It will automatically upgrade version (if needed). MacOS DMG – just run it and drag-n-drop DBeaver into Applications. Debian package

dbeaver.io

자세한 내용은 직접 사용하시면서 천천히 익혀보시기 바랍니다.

 

Azure Data Studio

https://docs.microsoft.com/ko-kr/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver16 

 

Azure Data Studio 다운로드 및 설치 - Azure Data Studio

Windows, macOS, 또는 Linux용 Azure Data Studio를 다운로드 및 설치합니다. 이 문서에서는 릴리스 날짜, 버전 번호, 시스템 요구 사항 및 다운로드 링크를 제공합니다.

docs.microsoft.com

 

Intellij Database 

 

intellij 에서 제공하는 MSSQL 용 드라이브를 다운받아서 접속을 시도하면 접근됩니다.

intellij 에 익숙하시다면 해당 UI/UX가 가장 심플하면서 익숙합니다.

 

Create a connection 으로 접속해서 사용하시면됩니다.

해당 Tool 도 직접 사용하면서 본인에게 잘맞는 스타일로 사용하시기 바랍니다.

 

모두 사용해봤는데 가볍게 접근하기에는 Intellij 가 별도로 또 DB용 Tool을 설치하지 않아도 되서 접근하는데 좋은데

아무래도 Mssql이다보니 마이크로소프트 진형에서 제공하는 Azure Data Studio 좀더 Mssql을 사용하는데 적합한 느낌도 들었습니다.

 

Mssql 분석을 위한 Legacy 에서 사용하는 명령어 모음 

 

프로시저 검색

Legacy 분석을 하다보면 코드레벨에 있는 프로시저명으로 Mssql에 프로시저로 작업된 검색쿼리를 

코드레벨로 이동해야하는 작업이 발생하다보니 아래 프로시저검색을 사용하게 되는것 같습니다.

SELECT OBJECT_NAME(object_id), 
 OBJECT_DEFINITION(object_id)
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%찾을 내용%'

 

Database가 너무많아서 도대체 어디에 프로시저가 있는지 찾기힘들다면

모든 Database에 검색을 날리는 방법입니다.

Database가 10개있다면 10개에 모두 날려서 존재하는Database에 프로시저 를 반환합니다.

EXEC
sys.sp_msforeachdb
'SELECT ''?'' DatabaseName, Name FROM [?].sys.procedures WHERE Name LIKE ''%프로시저이름%''';

 

 

프로시저 찾은후 Query보기
sp_helptext 프로시저이름;

검색한 프로시저가 존재한다면 위에 명령어로 프로시저안에 비지니스를 확인하는 명령어 입니다.

 

Join된 Database ColumnName ,ColumnDesc, ColumnType 검색하기

프로시저 에 관련된 Join정보들을 확인하는 방법

exec sp_help_SpColumnComment '프로시저이름'

SQL CRUD 만들기

프로시저로 특정 테이블 SELECT, INSERT, UPDATE 자동화로 생성해줍니다.

exec sp_help_utilMaker '프로시저이름'
Database 조회하기

Database 를 조회하는 명령어 입니다.

SELECT name, database_id, create_date
FROM sys.databases;