Server/SQL Server

    [MSSQL] Database복구 후 계정 Mapping

    MSSQL의 다른 서버에서 사용하던 DB를 복구한뒤 해당 DB와 Mapping되던 사용자를 추가하고 나서도 접속이 안되는 경우가 있습니다. 이건 이름만 같을뿐 다른 사용자로 인식하기 때문인데, 따라서 추가된 사용자가 같은 사용자라는걸 인식시켜줄 필요가 있습니다. 이때 sp_change_users_login procedure를 사용해 사용자를 Mapping시켜 줍니다. EXEC sp_change_users_login 'Auto_Fix', 'user_name'

    [MSSQL] Database 명명 규칙 (Naming Rule)

    Microsoft에서 직접 권고하고 있는 특정한 명명규칙이 있는지는 확인할 수 없었습니다. 그러나 Microsoft가 배포하고 있는 AdventureWorks나 Northwind Sample Database를 통해서 어떠한 형식으로 Database의 개체들이 명명되었는지를 살펴보니 아래와 같은 규칙을 찾을 수 있었습니다. 1. DB, Table, Column등 전체적인 기본 명명규칙은 Pascal Case로서 대문자로 시작합니다. ex) AdventureWorks, BusinessEntityAddress, StateProvinceID 2. Procedure는 소문자 usp로 시작합니다. ex) uspGetBillOfMaterials uspGetManagerEmployees 3. Function은 소문자 ..

    [MSSQL] MS 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 관리

    [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 어셈블리 등록

    [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을 생성합니다. ..