Server/SQL Server

    [MSSQL] MS SQL Server 다운로드및 설치/설정

    해당 포스팅에서 설명하는 MS SQL Server는 2019 Developer Edtion입니다. 인터넷에서 아래 주소로 이동합니다. SQL Server 다운로드 | Microsoft SQL Server 다운로드 | Microsoft 지금 Microsoft SQL Server 다운로드를 시작하세요. 내 데이터와 워크로드에 가장 적합한 SQL Server 체험판 또는 버전, 에디션, 도구 또는 커넥터를 선택하세요. www.microsoft.com 첫 화면에서 Devloper의 '다운로드'를 선택합니다. 다운로드된 파일을 선택하여 설치를 시작합니다. 설치는 Basic과 Custom중 둘중 하나로 시작할 수 있으며 Custom을 선택해 좀더 세분하된 설치 옵션으로 설치를 진행합니다. 설치미디어를 내려 받는 경..

    [MSSQL] 물리적 DB파일 변경

    Alter Database [논리적이름] Set Offline; --해당 DB의 파일복사(변경할 이름으로) Alter Database [논리적이름] Set Online; Alter Database [DB명] Modify File (Name = [논리적이름], FileName = '[물리적파일경로]'); Alter Database [DB명] Modify File (Name = [논리적이름(Log)], FileName = '[물리적파일경로(Log)]');

    [MSSQL] Database Offline

    특정 Database를 Offline 하기 위해 SSMS에서 mouse 우 click을 통해 'Take Offline'을 걸면 경우에 따라 시간이 너무 오래 걸리는 경우가 있습니다. 따라서 짧은 시간안에 해당 작업을 처리하려면 다음 절차를 따르면 됩니다. 1. Exec sp_who2 명령을 통해 offline 하고자 하는 DB를 사용 중인 사용자가 있는지를 확인합니다. 만약 사용자가 존재한다면 Kill 명령을 통해 해당 SPID를 지정하고 강제 종료하도록 합니다. 2. 아래 명령으로 offline을 시도합니다. ALTER DATABASE Crminfodb SET OFFLINE WITH ROLLBACK IMMEDIATE

    [SQL Server] Memory 관리

    MS SQL Server는 기본적으로 사용할 수 있는 메모리를 최대한 사용하도록 되어 있습니다. 문제는 사용한 메모리를 다시 반환하지 않는다는 건데 이 때문에서 DB서버상에 다른 Service가 영향을 받게 되는 경우라면 Memory를 제한하는 설정을 적용해줄 필요가 있습니다. Memory제한 설정은 현재 Server에 설치된 물리적 Memory에 따라 달라질 수 있는데 해당 내용에 관해서는 아래 표를 참고하시면 됩니다. Memory 설정값 2GB 1500 4GB 3200 6GB 4800 8GB 6400 12GB 10000 16GB 13500 24GB 21500 32GB 29000 48GB 44000 64GB 60000 72GB 68000 96GB 92000 128GB 124000 SQL Server E..

    [MS-SQL] http 요청 보내기

    --실행시 에러가 나면 아래 옵션을 활성화 합니다. --Exec sp_configure 'show advanced options', 1; --RECONFIGURE; --Exec sp_configure 'Ole Automation Procedures', 1; --RECONFIGURE; --더이상 필요하지 않으면 옵션을 되돌립니다. --Exec sp_configure 'show advanced options', 0; --Exec sp_configure 'Ole Automation Procedures', 0; --Declare @authHeader nvarchar(64); Declare @contentTypenvarchar(64); Declare @postDatanvarchar(2000); Declare @r..

    [SQL Server] .NET 어셈블리 등록

    C#으로 작성된 프로그램을 MS-SQL Server에서 동작할 수 있도록 하려면 MS-SQL Server의 어셈블리에 등록시켜주면 됩니다. 이 과정을 살펴보면 다음과 같습니다. 우선 Visual Studio에서 SQL Server Database Project를 생성합니다. 프로젝트명은 db_server로 하겠습니다. 당연히 이 이름은 임의로 잡아주셔도 됩니다. 프로젝트 생성 후 프로젝트-> 추가에서 SQL CLR C#을 선택합니다. 예제에서는 간단한 Function을 생성할 것이므로 SQL CLR C# User Defined Function을 선택합니다. Plus.cs 파일을 다음과 같이 수정합니다. 파일 내용은 2개의 정수값을 받아 합산한 결과를 반환하도록 하였습니다. 빌드 후 dll을 생성합니다. ..

    [MSSQL] 서버에서 지연되는(처리시간이 오래 걸리는) 쿼리(Query)찾기

    MS-SQL에서 어떤 쿼리를 처리할 때 처리시간이 너무 오래 걸리는 경우가 있습니다. 이는 서버 전체의 처리시간을 늘려 장애를 발생시키는 요인이 될 수 있는데 이런 경우 아래 쿼리를 SSMS에서 날려 처리시간이 오래 걸리는 쿼리를 찾아낼 수 있습니다. Select Distinct dm_ws.wait_duration_ms, dm_t.[TEXT], dm_ws.session_ID From sys.dm_os_waiting_tasks As dm_ws Inner Join sys.dm_exec_requests As dm_r On dm_ws.session_id = dm_r.session_id Inner Join sys.dm_exec_sessions As dm_es On dm_es.session_id = dm_r.ses..

    [SQL Server] 현재 주차및 주차에 해당하는 날짜 구하기

    -- 현재일에 해당하는 주차 -> 2019년 8월 12일은 8월달 몇주차인가? Select CEILING((DAY('2019-08-12') + DATEPART(DW, '20190801') - 1) / 7.0) -- 특정 주차의 날짜 -> 2019년 8월 3주차의 시작날짜와 끝날짜는? Declare @input Varchar(8); Set @input = '20190803'; Declare @firstday Date; Set @firstday=CONVERT(Date, Left(@input, 4) + '-' + SUBSTRING(@input, 5, 2) + '-01'); Declare @addweek Int; Set @addweek = CONVERT(Int, Right(@input, 2)) - 1; Sele..