IT/MS-SQL(49)
-
MSSQL 인덱스 조각 모음 쿼리
DBCC INDEXDEFRAG (AdventureWorks2012, 'Production.Product', PK_Product_ProductID); GO ex) DBCC INDEXDEFRAG ( DB Name, Table Name, Index Name) 자주 사용하는 테이블은 인덱스 조각화가 빠르기 때문에 스케줄로 걸어두는것이 좋다. 서비스를 멈추지 않고 조각모음을 할 수 있어서 효과적이다. https://docs.microsoft.com/ko-kr/sql/t-sql/database-console-commands/dbcc-indexdefrag-transact-sql?view=sql-server-ver15 DBCC INDEXDEFRAG(Transact-SQL) - SQL Server DBCC INDEXDE..
2022.01.07 -
[MSSQL] 가장 조각이 많이 난 인덱스 TOP 10
SELECT TOP 10 DB_NAME() AS DatabaseName , OBJECT_NAME(S.OBJECT_ID) AS TableName , I.NAME AS IndexName , ROUND(AVG_FRAGMENTATION_IN_PERCENT, 2) AS Fragmentation FROM SYS.DM_DB_INDEX_PHYSICAL_STATS(DB_ID(),NULL,NULL,NULL,NULL) AS S INNER JOIN SYS.INDEXES AS I ON S.OBJECT_ID = I.OBJECT_ID AND S.INDEX_ID = I.INDEX_ID WHERE S.DATABASE_ID = DB_ID('DB_NAME') -- 현재 데이터베이스 AND I.NAME IS NOT NULL -- HEAP은..
2022.01.04 -
[MSSQL] 특정일자 요일 구하기, 오늘 날짜 요일 구하기, DATEPART, 월화수목금토일
● MS-SQL 에서 요일 구하는법 MS-SQL 에서 오늘 요일 구하는 법은 생각보다 간단하다. SELECT DATEPART(WEEKDAY,GETDATE()) as DATEPART 입력후 실행하면 값은? 오늘이 화요일이라서 3이 나왔다. 자 그럼 다음으로 넘어가자!! 요일이 한글로 나오게 하려면 어떻게 해야할까? CASE문을 사용해서 요일을 출력해보도록 하자. 일요일을 기준으로 1은 일요일, 2는 월요일....... 7은 토요일이 출력된다. MSSQL DATEPART 활용법
2021.11.23 -
MSSQL 숫자만 조회/MS-SQL 문자만 조회/ISNUMERIC
● 숫자만 조회 SELECT COLUMN_A FROM TEST_TB WHERE 1=1 AND ISNUMERIC(COLUMN_A) = 1 ● 문자만 조회 SELECT COLUMN_A FROM TEST_TB WHERE 1=1 AND ISNUMERIC(COLUMN_A) = 0 ISNUMERIC : 데이터가 숫자인지 문자인지 구분 컬럼이 Varchar로 지정되있지만, ID(열)안에 있는 값이 순수한 숫자(int)인지, 아니면 문자열(String) 인지 구분할때는 조건문에 ISNUMERIC 을 준다. ISNUMERIC(열이름) = 1 --숫자형 ( int ) ISNUMERIC(열이름) = 0 --문자형 ( char )
2021.07.06 -
MSSQL DB 복구중 해결
Test_DB 데이터베이스를 복구하는 경우, 다음의 쿼리를 실행해 주세요. -- ## 응급모드 READ_ONLY로 로깅을 비활성화 하며 시스템 관리자만 액세스 가능. ALTER DATABASE Test_DB SET EMERGENCY; GO -- ## 데이터베이스를 단일 사용자 모드로 변경 ALTER DATABASE Test_DB SET SINGLE_USER; GO -- ## 데이터베이스를 복구. 데이터 손실이 일어날수 있음. DBCC CHECKDB (Test_DB, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS; GO -- ## 데이터베이스를 다시 복수 사용자 모드로 변경. ALTER DATABASE Test_DB SET MULTI_USER; GO
2021.05.13 -
MSSQL Create a Database Mail account 메일설정
MSSQL Create a Database Mail account MSSQL 메일 설정은 MSSQL - 관리 - 데이터베이스 메일에서 클릭해서 하는 방법도 있지만, 그냥 쿼리로 때려박는 방법도 있다. Mail Server 설정이 중요하니 꼭 확인해야 한다. Mail Server 가 없다면 naver나 Google 등을 화용하는 방법도 있다. 각 사이트 별 SMTP 설정을 확인해서 진행하면 된다. -- Create a Database Mail account EXECUTE msdb.dbo.sysmail_add_account_sp @account_name = 'test_mail', @description = 'Main account for Database Mail', @email_address = 'admin..
2021.03.02