본문 바로가기

mssql35

[MSSQL]서비스 재시작(w.에이전트 재시작) MSSQL 서비스를 오래 시작해둠으로 인해 생기는 문제를 방지하기 위해 자동 서비스 재시작을 도입했습니다. 아래와 같이 배치파일을 만들어 관리에 적용하였습니다. @echo off rem time set ST_TIME=%date%_%time:~0,2%.%time:~3,2%.%time:~6,2% rem backup set LOG=D:\LOG\LOG_%ST_TIME%.log echo "MSSQL RESTART가 진행중입니다..." echo ========================================================== >> %LOG% echo [RESTSRT] %ST_TIME% >> %LOG% echo ==============================================.. 2022. 5. 11.
[MSSQL]나만 빼고 다나가 세션 정리! DB 작업을 하기 전에 내 세션을 제외하고 모두 나가게 하고 싶다면 아래 쿼리를 활용 할 수 있다. @@SPID는 내 세션의 SPID를 가져오는 것이다. --■■ DISCONNECT ALL SESSION WITHOUT MINE!! DECLARE @DB_NAME VARCHAR(100) DECLARE @QUERY VARCHAR(MAX) SET @DB_NAME = DB_NAME() --■ KILL THEM ALL KKK SELECT @QUERY = @QUERY + 'KILL ' + CONVERT(VARCHAR(5), SPID) + ';' FROM MASTER.SYS.SYSPROCESSES WHERE DBID = DB_ID(@DB_NAME) AND SPID > 50 AND SPID @@spid EXEC (@QU.. 2022. 5. 10.
[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.