본문 바로가기
728x90
반응형

개발자 이야기/SQL8

[extract SP list] extract stored procedure list to html format #SP #extract #list /* SP추출 */ --변수 DECLARE @SqlVersion AS CHAR(4) DECLARE @maxi AS INT , @maxj AS INT DECLARE @i AS INT , @j AS INT DECLARE @Output VARCHAR(4000),@description VARCHAR(4000) CREATE TABLE #Tables (id int identity(1, 1), Object_id int, name varchar(155), type varchar(20), [definition] varchar(MAX)) CREATE TABLE #Parameters (id int identity(1,1), name varchar(155), type Varchar(155)) --SQL 버전뽑기 IF (sub.. 2022. 6. 14.
[inquire SQL history] inquire excuted query history #inquire #history -- Microsoft SQL Server Management Studio에서 직접 실행했던 쿼리들만 보여준다. SELECT db_name(st.dbid) DBName, object_schema_name(objectid, st.dbid) SchemaName, object_name(objectid, st.dbid) SPName, qs.total_elapsed_time, creation_time, last_execution_time, text FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.plan_handle)st JOIN sys.dm_exec_cached_plans cp ON qs.plan_handle = cp.plan_handle 2022. 6. 14.
[DATETIME] tips for datetime #tip #mssql #datetime SELECT CONVERT(VARCHAR, GETDATE(), 120) -- 지정된 두 날짜를 더하여 새 날짜를 반환한다. SELECT DATENAME(날짜부분, 날짜) -- 두 날짜 사이의 간격을 계산하여 지정된 단위(시간, 일, 주 등)로 반환한다. SELECT DATEDIFF(날짜부분,시작날짜, 종료날짜) -- 지정한 날짜 부분을 문자열로 반환한다. SELECT DATENAME(날짜부분, 날짜) -- 지정한 날짜의 지정한 날짜 부분에 해당하는 정수를 반환한다. SELECT DATEPART(날짜부분, 날짜) -- 현재 시스템 날짜 및 시간을 반환한다. SELECT GETDATE() -- 현재 UTC(Universal Time Coordinate) 시간을 반환한다. SELECT GETUTCDATE() .. 2022. 6. 14.
[TIP_MSSQL] tips for mssql #tip #mssql #helptext #depends #refreshview - object의 정의 exec sp_helptext N'NAME' - object의 종속성 정보 in current DB exec sp_depends N'NAME' - view의 메타데이터 업데이트 exec sp_refreshview N'VIEW_NAME' - 테이블 존재시 삭제 IF OBJECT_ID('dbo.Scores', 'U') IS NOT NULL DROP TABLE dbo.Scores; - 임시 테이블 존재시 삭제 IF OBJECT_ID('tempdb.dbo.#T', 'U') IS NOT NULL DROP TABLE #T; - DB List SELECT name FROM master.dbo.sysdatabases EXEC sp_databases - Encryption & Decryption .. 2022. 6. 14.
2022년 최고의 오픈 소스 데이터 기술 MySQL은 35.2%로 가장 많이 사용되는 오픈 소스 데이터 기술이었고 PostgreSQL은 32.5%, MongoDB는 28%였습니다. MariaDB와 Cassandra는 각각 21%와 19.2%로 상위 5위를 차지했습니다. 1. MySQL 2022년 설문조사에서 응답자의 35.2%가 MySQL 을 사용한다고 보고 했습니다. 이는 응답자의 64%가 MySQL을 사용한다고 밝힌 2020년 보고서보다 훨씬 낮은 수치입니다. MySQL 사용이 감소하고 있다는 징후가 있지만 이 수치가 나타내는 것보다 훨씬 더 점진적이라고 생각합니다. DB-Engines 순위 를 보면 이 기간 동안 점진적으로 하락하고 있음을 알 수 있습니다. 2. 포스트그레SQL 2022년 응답자의 32.5%가 PostgreSQL 을 사용한.. 2022. 6. 3.
PostgreSQL: 베큠(VACUUM)을 실행해야되는 이유 그리고 성능 향상 간단 설명 베큠(Vacuum)은 PostgreSQL의 쓰레기 데이터를 정리하여 쾌적하게 청소하라는 명령인데, 쉽게 "디스크 조각 모음"이라고 생각하면된다. 베큠을 해야되는 이유 데이터는 물리적으로 디스크에 저장되고 읽어서 보여주는데, 데이터를 갱신(UPDATE) 혹은 삭제(DELETE) 시에 디스크에 있던 기존 정보를 갱신하거나 삭제하지 않습니다. 기존 정보는 변경되었다는 표시를 남기고 새롭게 디스크에 갱신(UPDATE)된 정보를 기록합니다. 삭제(DELETE) 했어도 디스크 용량은 줄어들지 않으며 갱신(UPDATE) 시에는 새로운 행이 추가되기 때문에 디스크 용량이 증가하게되는거죠. 이런 개념은 MVCC(다중 버전 동시성 제어) 구현에 따른 튜플(Tuple) 개념때문에 그렇습니다. 다시 쉽게 말하면 트.. 2022. 5. 15.
[SQL Server / MS-SQL] 서버 메모리 제한 및 권장 메모리 설정 (min / max server memory) MSSQL 서버는 OS 에서 메모리를 요청하지 않으면 한 번 호출한 메모리를 반환하지 않고 계속 점유한다. 이에 MSSQL 을 사용하다보면 MSSQL 서버가 90% 이상 메모리를 차지하는 경우를 볼 수 있다. 이로 인해 다른 프로세스들이 메모리를 충분히 사용하지 못하여 시스템 성능이 떨어질 수 있으며, 서버에 과부하가 발생하여 문제가 생기기도 한다. 이를 방지하기 위해 MSSQL 에서 최대 서버 메모리 (max server memory) 를 설정하여 메모리를 제한시켜줄 수 있다. 만약, MSSQL 의 메모리 제한을 따로 하지 않았다면 최대 서버 메모리 (max server memory) 는 2,147,483,647(MB) 로 되어있다. 이는 OS 에서 메모리를 요청하지 않으면 메모리를 다 점유하겠다란 말.. 2022. 4. 4.
SQL Server 2008 데이터베이스를 강제로 오프라인으로 전환하는 방법 누가 이미 사용하고 있는지에 관계없이 데이터베이스를 강제로 오프라인으로 전환하려면 어떻게합니까? 나는 시도했다 : ALTER DATABASE database-name SET OFFLINE; 그러나 7 분 후에도 여전히 멈 춥니 다. 시나리오를 테스트해야하므로 이것을 원합니다. 가능하다면? 답변 접속을 끊다 USE master GO ALTER DATABASE YourDatabaseName SET OFFLINE WITH ROLLBACK IMMEDIATE GO 온라인으로 USE master GO ALTER DATABASE YourDatabaseName SET ONLINE GO 답변 WITH ROLLBACK IMMEDIATE이미 사용중인 항목이나 사용자에 관계없이 다른 연결을 부팅 하려면을 사용해야 합니다. 또.. 2022. 3. 16.
728x90
반응형