MSSQL DML 로그 저장 설정
1. 감사 사양 설정 및 실행
-- 서버 수준에서 감사 사양 생성
USE master
CREATE SERVER AUDIT ServerAudit
TO FILE (FILEPATH = 'D:\MSSQL\AuditLogs\');
-- 서버 감사 사양을 시작
USE master
ALTER SERVER AUDIT ServerAudit
WITH (STATE = ON);
-- 데이터베이스 수준에서 감사 사양 생성
use MYDATABASENAME
CREATE DATABASE AUDIT SPECIFICATION DatabaseAuditSpec
FOR SERVER AUDIT ServerAudit
ADD (INSERT, UPDATE, DELETE ON DATABASE::MYDATABASENAME BY PUBLIC);
-- 데이터베이스 감사 사양을 시작
use MYDATABASENAME
ALTER DATABASE AUDIT SPECIFICATION DatabaseAuditSpec
WITH (STATE = ON);
--------------------------------------------------------------------------------------------
2. 감사 사양 종료 및 삭제
-- 감사 사양 종료 및 삭제
USE master
ALTER SERVER AUDIT ServerAudit
WITH (STATE = OFF);
-- 서버 감사 사양 삭제
USE master
DROP SERVER AUDIT ServerAudit;
-- 데이터베이스 감사 사양을 종료
use MYDATABASENAME
ALTER DATABASE AUDIT SPECIFICATION DatabaseAuditSpec
WITH (STATE = OFF);
-- 데이터베이스 감사 사양 삭제
use MYDATABASENAME
DROP DATABASE AUDIT SPECIFICATION DatabaseAuditSpec;
--------------------------------------------------------------------------------------------
3. 감사 사양 로그 조회
-- 감사 로그 파일 조회 (로컬 시간으로 변환)
SELECT
DATEADD(HOUR, DATEDIFF(HOUR, GETUTCDATE(), GETDATE()), event_time) AS local_event_time,
server_instance_name,
database_name,
schema_name,
object_name,
statement
FROM sys.fn_get_audit_file('D:\MSSQL\AuditLogs\*.sqlaudit', DEFAULT, DEFAULT);
--------------------------------------------------------------------------------------------
4. 에이전트 작업 스케쥴 등록 : 매일 오전 00:00 신규 파일 생성
작업명 : DailyAuditLogRotation
-- T-SQL 작성
DECLARE @currentDateTime NVARCHAR(50);
DECLARE @auditFilePath NVARCHAR(500);
DECLARE @sqlCmd NVARCHAR(MAX);
DECLARE @innerSqlCmd NVARCHAR(MAX);
-- 현재 시간 문자열 생성
SET @currentDateTime = REPLACE(CONVERT(NVARCHAR, GETDATE(), 120), ':', '');
-- 감사 로그 파일 경로 설정 (예: D:\MSSQL\AuditLogs\AuditLog_YYYYMMDD_HHMMSS.audit)
SET @auditFilePath = 'D:\MSSQL\AuditLogs\AuditLog_' + @currentDateTime + '.audit';
-- 새로운 감사 로그 파일 생성을 위한 동적 SQL 명령 준비
SET @innerSqlCmd = '
ALTER SERVER AUDIT ServerAudit
WITH (STATE = OFF);
ALTER SERVER AUDIT ServerAudit
WITH (STATE = ON);
';
-- 동적 SQL 명령 실행
EXEC sp_executesql @innerSqlCmd;
'Database > MS-SQL' 카테고리의 다른 글
MSSQL 업그레이드 (1) | 2022.11.04 |
---|---|
AlwaysOn 가용성 그룹 구축 # 2 : Windows Server 2016 + MS SQL 2016 / None AD (1) | 2020.07.07 |
AlwaysOn 가용성 그룹 구축 # 1 : Windows Server 2016 + MS SQL 2016 / None AD (6) | 2020.07.03 |
SQL DB 암호화 / TDE(Transparent Data Encryption) (0) | 2018.12.07 |
MS-SQL CPU 사용량이 높은 쿼리문 확인 (0) | 2018.06.22 |
MSSQL 업그레이드
# MSSQL 버전 업그레이드 테스트
1. 기존 MSSQL 2014 를 MSSQL 2017 로 업그레이드 테스트
현재 버전 : Microsoft SQL Server 2014 (SP1-GDR) (KB4019091) - 12.0.4237.0 (X64)
2. MSSQL 2017 iso 파일 삽입 후 setup.exe 실행
3. 이전 버전의 SQL Server 에서 업그레이드 선택 후 순차 진행.
업그레이드 진행 중에는 SQL 및 에이전트 서비스가 중지되었다가 재실행 되므로, 실제 운영 중인 DB 서버에서 진행시 외부 연결 차단 후 진행을 권장.
4. 상위 버전의 SSMS 설치
설치 된 SQL 버전보다 낮은 버전의 SSMS 로 작업시 오류 발생함.
참고 : https://gunnm.tistory.com/40
5. DB 버전 및 데이타 확인
변경 된 버전 : Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)
'Database > MS-SQL' 카테고리의 다른 글
MSSQL DML 로그 저장 설정 (0) | 2024.06.28 |
---|---|
AlwaysOn 가용성 그룹 구축 # 2 : Windows Server 2016 + MS SQL 2016 / None AD (1) | 2020.07.07 |
AlwaysOn 가용성 그룹 구축 # 1 : Windows Server 2016 + MS SQL 2016 / None AD (6) | 2020.07.03 |
SQL DB 암호화 / TDE(Transparent Data Encryption) (0) | 2018.12.07 |
MS-SQL CPU 사용량이 높은 쿼리문 확인 (0) | 2018.06.22 |
오라클 12c 제거 (윈도우 환경)
오라클 12c 설치를 해봤으니깐, 삭제 하는 것도 테스트를 한다.
기본은 11g 삭제때와 동일하다.
# 1
오라클 프로그램 항목들 중에서, Universal Installer 를 실행한다.
프로그램이 실행되면, "제품 설치 해제" 를 클릭한다.
설치 되어 있는 제품 체크 후, 제거 버튼 누른다.
그러면 11g 때와 마찬가지로 경고창 호출 된다. 배치 파일 실행해서 삭제하라는 얘기다. 한결 같은 오라클이다.
# 2
경고창이 시키는대로 배치 파일 실행하러 경로 이동한다.
D:\app\Administrator\product\12.2.0\dbhome_1\deinstall
CMD 를 관리자 모드로 실행해서 배치 파일 실행하던, 파일 탐색기에서 deinstall.bat 를 관리자 권한으로 실행하던 알아서 하면 된다.
나는 그냥 CMD 에서 한다.
뭐 하라고 나오면 그냥 Default 로 쭉쭉 진행하면 된다.
몇 분 지나니깐 삭제 다 됐다고 나온다.
# 3
CMD 에서 sqlplus 실행 및 1521 리스너 체크해도 아무것도 안나온다.
서비스 목록에서도 안 보인다. 안 보이는데 캡처하면 무쓸모니깐 생략한다.
11g 때와 마찬가지로, 완전 삭제를 위해서 오라클 폴더 및 관련 레지스트리까지 삭제한다.
레지스트리 편집기 실행 후, 찾기 : oracle 입력 후, F3 계속 누르면서 나오는 오라클 12c 관련 항목 다 삭제해버리면 된다.
java 나 oledb 관련 삭제하면 안 됨.
리부팅 1회 하면 끝난다.
뭐 삭제도 어려운거 아니니깐 그냥 해보면 된다.
'Database > Oracle' 카테고리의 다른 글
오라클 12c 설치 (윈도우 환경) (2) | 2020.08.05 |
---|---|
[오라클] 오라클 클라이언트 제거 (0) | 2016.12.08 |
[오라클] Oracle 11g R2 x64 클라이언트 설치 (0) | 2016.12.08 |
[오라클] 오라클 11g 제거 (윈도우 환경) (0) | 2016.08.12 |
[오라클] 오라클 11g 설치 (윈도우 환경) (0) | 2016.08.12 |