본문 바로가기

프로그래밍/TSQL60

[MSSQL] DB MODE 확인 및 변경 SQL에서 DB MODE를 SINGLE로 두면 하나의 세션만 연결할 수 있는 상태가 된다. SSMS 상에서 DB 인스턴스를 속성을 클릭하여 옵션에서 엑세스 제한을 통해 변경 가능하고, 아래 쿼리로도 변경이 가능하다. 현재 DB 상태가 SINGLE인지 MULTI 인지 확인 하는 방법은 여러가지가 있는데, 아래 사용한 방법중에 DATABASEPROPERTYEX 와 SP_DBOPTION을 통해서는 잘 확인이 되었지만, SERVERPROPERTY로는 확인이 안되었다. 분기하여 사용할때 참고 하시기 바란다. --■ TEST DB의 모드를 SINGLE 로 변경 ALTER DATABASE TEST SET SINGLE_USER WITH ROLLBACK IMMEDIATE; SELECT DATABASEPROPERTYEX(.. 2022. 5. 10.
데이터베이스 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]현재 DB의 SP를 다른 DB로 복사하는 SP(Stored Procedure) 현재 사용중인 동일 서버에서 다른 DB 인스턴스로 SP를 복사해야 할 때, 아래 SP를 참고하여 사용해 보세요. 열심히 만들었고, 테스트 결과 잘동작합니다. INPUT : 복사할 대상 db 인스턴스 명 제약 : 복사할 원본 db 에서 실행 동작 : 복사할 대상 db의 기존 SP 삭제, 복사할 원본 db SP 생성 구문을 수행 CREATE PROC [dbo].[COPY_SP] @DB_NAME VARCHAR(100) AS BEGIN DECLARE @SQL VARCHAR(MAX) --SP 삭제 SET @SQL =' DECLARE @SQL VARCHAR(MAX) DECLARE b CURSOR FOR SELECT ''DROP PROC DBO.'' + P.NAME FROM '+@DB_NAME+'.[sys].[pro.. 2021. 9. 30.
[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.