sp_updatestats
'Develop > DB - mssql' 카테고리의 다른 글
대기 상태에 있는 wait, spid 확인 (0) | 2021.03.31 |
---|---|
백업 및 백업모델 조회 (0) | 2021.03.31 |
UPDATE STATS_STEP1_INDEX REORG (0) | 2021.03.30 |
세션상태 조회 (0) | 2021.03.30 |
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
sp_updatestats
대기 상태에 있는 wait, spid 확인 (0) | 2021.03.31 |
---|---|
백업 및 백업모델 조회 (0) | 2021.03.31 |
UPDATE STATS_STEP1_INDEX REORG (0) | 2021.03.30 |
세션상태 조회 (0) | 2021.03.30 |
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
IF OBJECT_ID('tempdb..#temp_index_rebuild') IS NOT NULL
DROP TABLE tempdb..#temp_index_rebuild
BEGIN TRY
--BEGIN TRAN
use DB명
SET NOCOUNT ON;
DECLARE @objectid INT;
DECLARE @indexid INT;
DECLARE @partitioncount BIGINT;
DECLARE @schemaname NVARCHAR(130);
DECLARE @objectname NVARCHAR(130);
DECLARE @indexname NVARCHAR(130);
DECLARE @partitionnum BIGINT;
DECLARE @partitions BIGINT;
DECLARE @frag FLOAT;
DECLARE @pagecount INT;
DECLARE @command NVARCHAR(4000);
DECLARE @page_count_minimum SMALLINT
SET @page_count_minimum = 10
DECLARE @fragmentation_minimum FLOAT
SET @fragmentation_minimum = 30.0
SELECT object_id AS objectid ,
index_id AS indexid ,
partition_number AS partitionnum ,
avg_fragmentation_in_percent AS frag ,
page_count AS page_count
INTO #temp_index_rebuild
FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL,
'LIMITED')
WHERE avg_fragmentation_in_percent > @fragmentation_minimum
AND index_id > 0
AND page_count > @page_count_minimum;
IF CURSOR_STATUS('global', 'partitions') >= -1
BEGIN
PRINT 'partitions CURSOR DELETED' ;
CLOSE partitions
DEALLOCATE partitions
END
DECLARE partitions CURSOR LOCAL
FOR
SELECT *
FROM #temp_index_rebuild;
OPEN partitions;
WHILE ( 1 = 1 )
BEGIN;
FETCH NEXT
FROM partitions
INTO @objectid, @indexid, @partitionnum, @frag, @pagecount;
IF @@FETCH_STATUS < 0
BREAK;
SELECT @objectname = QUOTENAME(o.name) ,
@schemaname = QUOTENAME(s.name)
FROM sys.objects AS o
JOIN sys.schemas AS s ON s.schema_id = o.schema_id
WHERE o.object_id = @objectid;
SELECT @indexname = QUOTENAME(name)
FROM sys.indexes
WHERE object_id = @objectid
AND index_id = @indexid;
SELECT @partitioncount = COUNT(*)
FROM sys.partitions
WHERE object_id = @objectid
AND index_id = @indexid;
SET @command = N'ALTER INDEX ' + @indexname + N' ON '
+ @schemaname + N'.' + @objectname + N' REBUILD';
IF @partitioncount > 1
SET @command = @command + N' PARTITION='
+ CAST(@partitionnum AS NVARCHAR(10));
EXEC (@command);
--print (@command); --uncomment for testing
PRINT N'Rebuilding index ' + @indexname + ' on table '
+ @objectname;
PRINT N' Fragmentation: ' + CAST(@frag AS VARCHAR(15));
PRINT N' Page Count: ' + CAST(@pagecount AS VARCHAR(15));
PRINT N' ';
END;
CLOSE partitions;
DEALLOCATE partitions;
DROP TABLE #temp_index_rebuild;
END TRY
BEGIN CATCH
PRINT 'ERROR ENCOUNTERED:' + ERROR_MESSAGE()
END CATCH
백업 및 백업모델 조회 (0) | 2021.03.31 |
---|---|
통계정보 업데이트 (0) | 2021.03.30 |
세션상태 조회 (0) | 2021.03.30 |
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
table 조각모음 (0) | 2020.07.03 |
SELECT P.spid, P.login_time, P.last_batch, P.status, P.program_name, P.cmd, C.client_net_address
FROM sys.sysprocesses AS P INNER JOIN sys.dm_exec_connections AS C
ON P.spid = C.session_id
통계정보 업데이트 (0) | 2021.03.30 |
---|---|
UPDATE STATS_STEP1_INDEX REORG (0) | 2021.03.30 |
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
table 조각모음 (0) | 2020.07.03 |
작업 스케줄러 일일체크 쿼리 (0) | 2020.06.15 |
1. MariaDB 설치
- 웹사이트 접속 다운로드 https://mariadb.org/download/ 10.1.26
2. my.conf 파일 복사
- Master 파일 복사 후 Slave 서버로 붙여넣기 Slave 서버 server_id=3 / read_only /
3. 계정생성
- create user 'repl'@'203.***.***.slave' identified by 'repl'; grant replication slave on *.* to 'repl'@'203.***.***.master'; flush privileges;
4. mysql dump 뜨기
- mysql dump mysqldump -u root -p --single-transaction --master-data=2 --extended-insert=1 --all-databases>파일명_repl.sql
5. dump 파일 이동
- dump 파일 이동 Master 서버에서 Slave 서버로 이동 pscp -P 1022 admin@203.***.***.master:/admin/20200208_repl.sql C:\Users\user\Downloads winSCP 로 Slave 서버로 이동
6. 파라미터 변경
- mysql> set global open_files_limit=5000 7. DB restore mysql> source 파일명.sql
8. Slave DB 셋팅 및 연결
- CHANGE MASTER TO MASTER_HOST='203.***.***.master', MASTER_USER='repl', MASTER_PASSWORD='repl', MASTER_PORT=13306 MASTER_LOG_FILE='mysql-bin.000001', -- dump파일에서 확인 가능 MASTER_LOG_POS=1424 ;
9. 슬레이브 replication start
- mysql> start slave\G;
10. Master & slave 상태확인
- mysql> show slave status;
MariaDB [information_schema]> show slave status\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 203.***.***.master Master_User: repl Master_Port: **** Connect_Retry: 60 Master_Log_File: mysql-bin.000196 Read_Master_Log_Pos: 9920425 Relay_Log_File: bizboxa_relaylog.000002 Relay_Log_Pos: 8838360 Relay_Master_Log_File: mysql-bin.000196 Slave_IO_Running: Yes Slave_SQL_Running: Yes
mysql> show master status;
MYSQL DB SIZE 조회 (0) | 2020.07.17 |
---|---|
mariaDB process kill (0) | 2020.06.15 |
Lock 매커니즘 (0) | 2020.02.02 |
SET STATISTICS PROFILE ON
SET STATISTICS IO ON
UPDATE STATS_STEP1_INDEX REORG (0) | 2021.03.30 |
---|---|
세션상태 조회 (0) | 2021.03.30 |
table 조각모음 (0) | 2020.07.03 |
작업 스케줄러 일일체크 쿼리 (0) | 2020.06.15 |
Index 조회 쿼리 (0) | 2020.06.15 |
SELECT table_schema "DB Name", ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB" FROM information_schema.tables GROUP BY table_schema;
MariaDB Master - Slave 간 Replication 구성 (0) | 2021.02.18 |
---|---|
mariaDB process kill (0) | 2020.06.15 |
Lock 매커니즘 (0) | 2020.02.02 |
DBCC ShowContig('test_table')
DBCC SHOWCONTIG이(가) ' test_table ' 테이블을 스캔하는 중...
테이블: 'nexen' (677577452); 인덱스 ID: 1, 데이터베이스 ID: 5
TABLE 수준 스캔이 수행되었습니다.
- 스캔한 페이지................................: 100
- 스캔한 익스텐트..............................: 17
- 전환된 익스텐트..............................: 16
- 익스텐트 당 평균 페이지 수........................: 5.9
- 스캔 밀도[최적:실제].......: 76.47% [13:17]
- 논리 스캔 조각화 상태 ..................: 0.00%
- 익스텐트 스캔 조각화 상태 ...................: 82.35%
- 페이지 당 사용 가능한 평균 바이트 수.....................: 138.6
- 평균 페이지 밀도(전체).....................: 98.29%
DBCC 실행이 완료되었습니다. DBCC에서 오류 메시지를 출력하면 시스템 관리자에게 문의하십시오.
항목 | 설명 |
스캔한 페이지 | 1페이지 = 8KB 이므로 스캔한 페이지는 800KB |
스캔한 익스텐트 | 익스텐트 = 1페이지 * 8 이므로 17 * 8KB * 8 = 1088 KB |
전환된 익스텐트 | 익스텐트를 스캔하면서 익스텐트와 익스텐트 사이를 옮겨간 횟수를 의미. |
익스텐트 당 평균 페이지 수 | 하나의 익스텐트는 8개의 페이지라고 볼 수 있는데 익스텐트가 조각나서 하나의 익스텐트에 평균 5.9개의 페이지가 있는 것. 8에 가까워야 좋음 |
wh스캔밀도 | 스캔밀도가 100% 이면 조각난 상태가 아니며 100% 미만이면 그 만큼 조각난 상태. 그러므로 위의 경우 약 25%가 조각난 상태라고 볼 수 있다. |
논리 스캔 조각화 상태 | 논리적인 조각화 상태를 의미합니다. 삽입, 갱신 등의 DML문에 의해서 인덱스의 트리구조가 전환된 것을 의미. |
익스텐트 스캔 조각화 상태 | 인덱스의 잎 페이지 스캔에서 순서가 바뀐 익스텐트의 비율. |
페이지 당 사용 가능한 평균 바이트 수 | 하나의 페이지는 최대 8060바이트가 저장될 수 있다. 이것은 페이지들이 사용할 수 있는 가용 페이지의 공간을 의미. 이 값이 클수록 페이지의 채우기 비율이 낮으므로 값이 작을수록 좋다. 이 값은 행 크기에 따라 달라지며 행 크기가 크면 값이 커진다. |
평균 페이지 밀도(전체) | 스캔한 페이지의 조각화 상태. 100%이면 조각난 상태가 아니며, 100% 미만이면 조각난 상태. 100%에 가까울 수록 좋다. |
세션상태 조회 (0) | 2021.03.30 |
---|---|
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
작업 스케줄러 일일체크 쿼리 (0) | 2020.06.15 |
Index 조회 쿼리 (0) | 2020.06.15 |
DB 조각모음 (0) | 2020.05.18 |
실행계획 결과화면에서 텍스트로 보기 (0) | 2020.10.08 |
---|---|
table 조각모음 (0) | 2020.07.03 |
Index 조회 쿼리 (0) | 2020.06.15 |
DB 조각모음 (0) | 2020.05.18 |
mssql 계정 비밀번호 변경 (0) | 2018.05.29 |
MariaDB Master - Slave 간 Replication 구성 (0) | 2021.02.18 |
---|---|
MYSQL DB SIZE 조회 (0) | 2020.07.17 |
Lock 매커니즘 (0) | 2020.02.02 |