본문 바로가기

mssql36

데이터베이스 MDF LDF 이동 데이터베이스를 만들면서 NEXT만 누른다면, db는 C:\MSSQL경로에 생깁니다. DB사이즈가 작으면 큰상관 없지만, 데이터가 크거나 관리해야하는 DB가 많다면 데이터는 시스템드라이브외에 저장용 디스크에 두는것이 좋습니다. DB 생성 시에 FILE 에서 위치를 변경해서 생성하면 되지만, 이미 생성된 DB라면 아래와 같이 변경할 수 있습니다. select name, physical_name from sys.master_files where database_id = DB_ID(N'DB인스턴스 명') 으로 DB파일 위치를 알수 있습니다. 1. SSMS에서 DB 인스턴스 분리 USE [master] EXEC SP_DETACH_DB 'DB인스턴스 명','true' 2. 물리 파일 이동 MDF, LDF 파일을 이.. 2021. 10. 15.
[MSSQL]형상 자르기 geometry 함수 STGeomFromText 는 mssql dbms 모든 제품군에서 사용가능한 형상 차집합 연산입니다. 연산 테스트 결과는 아래와 같습니다. 두개의 사각형을 하나 기준으로 STDifference하면 동일하게 겹쳐지는 부분을 제외한 형상이 반환 됩니다. STDiffrence https://docs.microsoft.com/en-us/sql/t-sql/spatial-geometry/stdifference-geometry-data-type?view=sql-server-ver15 2021. 9. 30.
[MSSQL] datetime vs datetime2 타입 차이 DATETIME2는 DATETIME 에 비해 날짜 표현 범위가 넓으면서 정확도가 높고, 정밀도에 따라 저장공간의 절약이 가능한데이터 타입니다. SQL Server2008부터 지원되는 데이터 타입이며, DATETIME 에 비해 권고되는 데이터 타입입니다. 1. DATETIME 은 0001 년도 부터 표현이 불가한데 DATETIME2는 0001년 부터 표현이 가능합니다. 2. DATETIME은 0.00333초 단위 정확도이지만 DATETIME2는 100NANOSECONDS까지 정밀합니다. 3. 정밀도에 따라 저장용량 절약이 가능합니다.(datetime2(3), datetime2(4) 는 7바이트 미만은 6바이트 초과는 8바이트) larger range of values (0001-01-01 through 9.. 2021. 8. 25.
[MSSQL]병렬처리의 조건 요약 : 최단거리 찾을때는 CPU CORE개수 많은 데서 인덱스 없애고, 처리하세요 공간연산을 처리하다 보면 연산 시간이 많이 걸릴때가 있습니다. 특히 최단거리 찾기 문제를 해결할때 거리내에 해당되는 모든 객체를 검사하기 때문에 시간이 오래 걸립니다. 이때 병렬처리를 이용해 튜닝을 합니다. 그런데 병렬처리를 작동 시키는게 최적화기(optimizer)에게 MAXDOP로 힌트를 줘도 안될때도 있습니다. 병렬처리는 mssql 입장에서는 기댈곳이 없을 때 cpu에 기대는 것입니다. 그래서 강제로 발동 시기기 위해서는 index를 사용하지 않게 하는것이 방법이 될 수 있습니다. (KEY, INDEX 삭제) 그리고 ORDER BY, TOP 절에 따라 동작 여부가 갈리기도 하구요. 그래서 항상 쿼리 플랜을 확인하고,.. 2021. 7. 8.