블로그 이미지
bedbmsguru

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
  • total
  • today
  • yesterday
2018. 10. 26. 21:49 SQL SERVER

SELECT
       DB_NAME() AS 'DB 명'
       ,d. name AS '파일그룹명'
       ,e. tSize AS '전체사이즈(mb)'
       ,SUM( used_page_count)*8 /1024.0 AS '현재사이즈(mb)'
       ,e. tSize-SUM (used_page_count)* 8 /1024.0 AS '남은사이즈(mb)'
       ,cast(( SUM(used_page_count )*8/ 1024.0)*100 /e. tSize AS DECIMAL( 10,2 ))AS '사용량(%)'
FROM sys .objects AS a   JOIN sys.dm_db_partitiON_stats AS b
ON a .object_id = b .object_id
JOIN  sys .sysindexes AS c
ON a .object_id = c .id
AND b .index_id = c .indid
JOIN sys .filegroups AS d
ON c .groupid = d .data_space_id
JOIN ( SELECT data_space_id ,SUM( size)*8 /1024.0 AS 'tSize'
           FROM sys .databASe_files WHERE data_space_id <> 0 GROUP BY data_space_id) AS e
ON d .data_space_id = e .data_space_id       
GROUP BY d. name,c .groupid, e.tSize

'SQL SERVER' 카테고리의 다른 글

링크드 서버(linked Server)  (0) 2018.10.26
Linked Server 연결 테스트(TEST)  (0) 2018.10.26
Find Missing Index  (0) 2018.10.26
서비스팩(SERVICE PACK) 제거  (0) 2018.10.26
현재 Transaction Log를 사용중인쿼리 확인  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:49 SQL SERVER

SELECT
  migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) AS improvement_measure,
  'CREATE INDEX [missing_index_' + CONVERT (varchar, mig.index_group_handle) + '_' + CONVERT (varchar, mid.index_handle)
  + '_' + LEFT (PARSENAME(mid.statement, 1), 32) + ']'
  + ' ON ' + mid.statement
  + ' (' + ISNULL (mid.equality_columns,'')
    + CASE WHEN mid.equality_columns IS NOT NULL AND mid.inequality_columns IS NOT NULL THEN ',' ELSE '' END
    + ISNULL (mid.inequality_columns, '')
  + ')'
  + ISNULL (' INCLUDE (' + mid.included_columns + ')', '') AS create_index_statement,
  migs.*, mid.database_id, mid.[object_id]
FROM sys.dm_db_missing_index_groups mig
INNER JOIN sys.dm_db_missing_index_group_stats migs ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details mid ON mig.index_handle = mid.index_handle
WHERE migs.avg_total_user_cost * (migs.avg_user_impact / 100.0) * (migs.user_seeks + migs.user_scans) > 10
ORDER BY migs.avg_total_user_cost * migs.avg_user_impact * (migs.user_seeks + migs.user_scans) DESC

posted by bedbmsguru
2018. 10. 26. 21:48 maridb&mysql

mysql> show variables; 서버의 variables(설정사항)출력
mysql> show variables like 'have_inno%' 조건에 맞는 variables만 출력
mysql> show databases; database목록
mysql> show tables; 현재DB의 테이블목록(temporary table은 출력하지 않음)
mysql> show tables from db명; 지정된 db명이 소유한 테이블목록
mysql> show tables like 'mem%'; 조건에 맞는 테이블목록만 출력
mysql> show index from 테이블명; 인덱스 보기
mysql> show columns from 테이블명; 테이블구조(describe 테이블명, explain 테이블명)
mysql> show table status; 현재 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show table status from db명; 지정된 DB의 테이블들의 상태(row수,table type,row길이,..)
mysql> show create table 테이블명; 해당 테이블 생성 SQL문 출력
mysql> rename table 테이블1 to 테이블2; 테이블명 변경(ALTER TABLE 테이블1 RENAME TO 테이블2)
mysql> rename table 테이블1 to 테이블2, 테이블3 to 테이블4; rename multiple tables
mysql> rename table db1명.테이블명 to db2명.테이블명; 테이블을 다른 DB로 이동
mysql> alter table 테이블명 add 컬럼명 데이터타입; 컬럼추가
mysql> alter table 테이블명 del 컬럼명; 컬럼제거
mysql> alter table 테이블명 modify 컬럼명 컬럼타입; 컬럼명에 지정된 컬럼타입의 변경
mysql> alter table 테이블명 change old컬럼명 new컬럼명 컬럼타입 컬럼명 변경
mysql> alter table 테이블명 type=innodb; 테이블type변경
mysql> create table 테이블명(..) type=heap min_rows=10000; 10000row를 수용할 수 있을 만큼 메모리할당(heap type이므로)
mysql> select version(); MySQL서버버전 출력
mysql> create table 테이블2 as select * from 테이블1; 테이블1과 동일한 테이블 생성(with 데이터, as는 생략가능)
mysql> create table 테이블2 as select * from 테이블1 where 1=2; 테이블1과 동일한 구조의 테이블 생성(without 데이터, 1=2는 0으로 할수도 있다.)
mysql> insert into 테이블2 select * from 테이블1; 테이블1의 데이터를 테이블2에 insert

'maridb&mysql' 카테고리의 다른 글

mariabackup 을 이용한 mariadb 백업  (0) 2018.12.12
mariadb 계정, 권한 관련  (0) 2018.10.27
procedure 생성 템플릿  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:47 SQL SERVER


2Active 클러스터환경
  1. SQL SERVER 설치파일준비 (서비스팩 삭제도중에 필요함)
  2. 클러스터 노드 STANDBY로 이동 
  3. appwiz.cpl의 설치된 업데이트에서 SQL SERVER 서비스팩 제거
  4. INSTANCE를 모두 반대편 NODE로 이동
  5. appwiz.cpl의 설치된 업데이트에서 SQL SERVER 서비스팩 제거
  6. Instance를 각각 노드로 재배치

posted by bedbmsguru
2018. 10. 26. 21:46 SQL SERVER

-- Purpose: Report active transactions by space or duration.-- Author: I. Stirk.

-- Do not lock anything, and do not get held up by any locks.SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

-- What SQL statements are currently using the transaction logs?SELECT tst.session_id
  , es.original_login_name
  , DB_NAME(tdt.database_id) AS DatabaseName
  , DATEDIFF(SECOND, tat.transaction_begin_time, GETDATE()) AS [TransDuration(s)]
  , tdt.database_transaction_log_record_count AS SpaceUsed
  , CASE tat.transaction_state
      WHEN 0 THEN 'The transaction has not been completely initialized yet'
      WHEN 1 THEN 'The transaction has been initialized but has not started'
      WHEN 2 THEN 'The transaction is active'
      WHEN 3 THEN 'The transaction has ended'
      WHEN 4 THEN 'The commit process has been initiated on the distributed tran'
      WHEN 5 THEN 'The transaction is in a prepared state and waiting resolution'
      WHEN 6 THEN 'The transaction has been committed'
      WHEN 7 THEN 'The transaction is being rolled back'
      WHEN 8 THEN 'The transaction has been rolled back'
      ELSE 'Unknown'
  END AS TransactionState
  , SUBSTRING(TXT.text, ( er.statement_start_offset / 2 ) + 1,
       ( ( CASE WHEN er.statement_end_offset = -1
                     THEN LEN(CONVERT(NVARCHAR(MAX), TXT.text)) * 2
                     ELSE er.statement_end_offset
              END - er.statement_start_offset ) / 2 ) + 1) AS CurrentQuery
  , TXT.text AS ParentQuery
  , es.host_name
  , CASE tat.transaction_type
      WHEN 1 THEN 'Read/Write Transaction'
      WHEN 2 THEN 'Read-Only Transaction'
      WHEN 3 THEN 'System Transaction'
              WHEN 4 THEN 'Distributed Transaction'
              ELSE 'Unknown'
  END AS TransactionType
  , tat.transaction_begin_time AS StartTime
FROM sys.dm_tran_session_transactions AS tst
       INNER JOIN sys.dm_tran_active_transactions AS tat
              ON tst.transaction_id = tat.transaction_id
       INNER JOIN sys.dm_tran_database_transactions AS tdt
              ON tst.transaction_id = tdt.transaction_id
       INNER JOIN sys.dm_exec_sessions es
              ON tst.session_id = es.session_id
       INNER JOIN sys.dm_exec_requests er
              ON tst.session_id = er.session_id
       CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) TXT
--ORDER BY tdt.database_transaction_log_record_count DESC -- log space size.ORDER BY [TransDuration(s)] DESC -- transaction duration.

posted by bedbmsguru
2018. 10. 26. 21:44 SQL SERVER

Select the data in excel and press Ctrl + C
  1. Select the data in Excel and press Ctrl + C
  2. In SQL Server Management Studio right click the table and choose Edit Top 200 Rows
  3. Scroll to the bottom and select the entire empty row by clicking on the row header
  4. Paste the data by pressing Ctrl + V

'SQL SERVER' 카테고리의 다른 글

서비스팩(SERVICE PACK) 제거  (0) 2018.10.26
현재 Transaction Log를 사용중인쿼리 확인  (0) 2018.10.26
최근에 수정된 Object찾기  (0) 2018.10.26
user가 가지고 있는 권한 확인  (0) 2018.10.26
Linked server List  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:41 Zabbix

#####################Windows Agent Install######################

//방화벽OPEN  WIN2012이상만 powershell로 가능
New-NetFirewallRule -DisplayName "Zabbix PORT" -Direction Inbound -LocalPort 10050 -Protocol TCP -Action Allow

//window용 agent
//설치후 서비스에서 시작 필요
c:\zabbix\zabbix_agentd.exe -i -c c:\zabbix\zabbix_agentd.conf





#####################Linux Agent Install######################
--Repositry 설치(Agent버전에 따라 URL이다름)
sudo rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-.el7.x86_64.rpm
sudo yum install zabbix-agent

--Config파일 수정
sudo vi /etc/zabbix/zabbix_agentd.conf
Server=10.10.10.10
ServerActive=10.10.10.10
Hostname=현재설정 서버호스트
HostMetadataItem=system.uname (호스트네임자동등록위해)


--방화벽오픈
sudo firewall-cmd --permanent --add-port=10050/tcp --zone=public
sudo firewall-cmd --reload

--Agent시작
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

'Zabbix' 카테고리의 다른 글

Postgresql 모니터링  (0) 2019.02.19
Linux DISK IO 모니터링  (0) 2018.11.30
SAN Switch 모니터링 적용  (0) 2018.10.26
brocade SAN fc port zabbix 모니터링  (0) 2018.10.26
오라빅스 TableSpace 모니터링 쿼리 수정  (0) 2018.09.13
posted by bedbmsguru
2018. 10. 26. 21:40 maridb&mysql

DELIMITER $$
drop procedure if exists usp_process_vmware_hostinfo $$
CREATE  PROCEDURE `usp_process_vmware_hostinfo`(
)
BEGIN
     #에러가 생기면 무시하라는 코드
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING
BEGIN
ROLLBACK;
END;

#여기에코드를 입력
END
$$
DELIMITER ;

'maridb&mysql' 카테고리의 다른 글

mariadb 계정, 권한 관련  (0) 2018.10.27
mysql DB관리용 쿼리  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
posted by bedbmsguru
2018. 10. 26. 21:40 maridb&mysql

delimiter $$
DROP FUNCTION IF EXISTS getVMwareIPAddress$$
CREATE FUNCTION `getVMwareIPAddress`(
`p_guest_id` int
)
RETURNS varchar(500)

BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE temp_ip_address varchar (500);
DECLARE result_ip_string varchar (500);



END
$$
delimiter ;

'maridb&mysql' 카테고리의 다른 글

mysql DB관리용 쿼리  (0) 2018.10.26
procedure 생성 템플릿  (0) 2018.10.26
Foreign key 정보조회 및 삭제  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
mariadb 설치  (0) 2017.12.26
posted by bedbmsguru
2018. 10. 26. 21:39 maridb&mysql

모든 테이블의 FOREIGN KEY 정보 조회
SELECT constraint_name, table_name, referenced_table_name FROM information_schema.REFERENTIAL_CONSTRAINTS

FOREIGN KEY 정보 삭제
ALTER TABLE 테이블이름 DROP FOREIGN KEY 제약조건이름

'maridb&mysql' 카테고리의 다른 글

procedure 생성 템플릿  (0) 2018.10.26
Function 템플릿  (0) 2018.10.26
mariadb (mysql)백업  (0) 2018.10.26
mariadb 설치  (0) 2017.12.26
innobackupex dependency 오류 해결  (0) 2017.12.21
posted by bedbmsguru