반응형

DB관련/SQL Server 34

SQL Server 2014 Express 설치하기 (SSMS포함 Window 10 환경)

왜? SQL Server 2014를 설치하나요? 최신 버전의 SQL Server 2019까지 있습니다. 그러나, 무조건 최신 버전을 설치하게 된다고 좋은 것만은 아닙니다. 예를 들어 2019의 경우, 윈도우 32bit버전를 지원하고 있지 않습니다. 다양한 특성에 맞게 최신버전이 필요한 곳에는 최신 버전을, 특정 기능 이상은 Over spec으로 생각되면, 하위 버전을 사용하는 것도 나쁘지 않습니다. 그렇다고, 무조건 하위 버전을 사용하는 것, 또한 바람직하지 않습니다. 저사양 컴퓨터에서 운영을 해야 하는 경우에 하위 버전을 사용하고, 새로운 기술을 적용할때는, 최신 버전을 사용하는 것이 바람직한 결정이 될 수 있습니다. 시스템 규모와 상황에 맞게 SQL Server 버전을 선택하는 것도 개발자의 능력중에..

DB관련/SQL Server 2020.12.11

MSSQL에서 DB, LOG 축소 쿼리 / 공간 줄이기

출처: http://sqlmvp.tistory.com/1179 (SQL Server DBA 체크 리스트) DB의 공간 줄이기 1) DB 공간 줄이기 2) 쿼리 이용하기.구문DBCC SHRINKDATABASE( database_name | database_id | 0 [ , target_percent ] [ , { NOTRUNCATE | TRUNCATEONLY } ])[ WITH NO_INFOMSGS ] NOTRUNCATE 옵션 : 데이터를 정리만 할 뿐 파일의 크기를 줄이지 않는다. TRUNCATEONLY 옵션 : 데이터는 정리하지 않고 뒤의 남는 부분만 줄인다. 옵션 설정없이 디폴트로 사용하게 되면 위의 NOTRUNCATE 와 TRUNCATEONLY옵션이 차례대로 적용되어 실행 된다 이렇게 하여 DB의..

DB관련/SQL Server 2020.10.15

[SQL Server] SQL SERVER 에러로그(ERRORLOG) 삭제하기 - 디스크 정리

Windows SQL Server 서버를 운영하다 보면, C:드라이브가 계속적으로 부족함을 느낍니다. 이 경우, 디렉토리 별로 용량을 체크하는 TreeSize 프로그램을 통해서 체크해보면, TreeSize 프로그램 2009/10/14 - [무료Tools도구들] - 윈도우 폴더별 용량 체크하는 유틸리티 TreeSize - Free Version 대부분, Windows Update Data나, IIS의 Logs 또는 "SQL Server LOG"가 쓸데없이 공간을 차지하고 있을 때가 있습니다. (윈도우 Update Data를 함부로 삭제하게 되면, 업데이트가 안될 수 있으니 주의해야 합니다.) 저 같은 경우 확인해 보니. SQL SERVER의 LOG 중에 ERROLOG이 용량을 차지하고 있더군요. 그래서 이..

DB관련/SQL Server 2020.08.01

[MSSQL] 문자열 바꾸기 (치환) - REPLACE, STUFF, TRANSLATE (group by 에서 사용한 예제 포함)

MSSQL의 문자열 치환 함수는 REPLACE가 매우 유용합니다. 치환 속도와 결과가 괜찮습니다. 특히, 조건문이나 그룹 정렬 문에서 사용하면 참 유용하게 사용이 가능합니다. 아래의 "실전 예제 >>"에서 사용 예를 남겨봅니다. REPLACE 문자열 치환 - 특정 문자열 값을 바꿔주는 함수 (REPLACE, STUFF) --문법-- REPLACE('문자열','치환예정문자','치환할문자') --예시-- REPLACE('ABCDEFG','DEF','XXX') --MY_TABLE에서 이름(NM_KOR)을 '이'씨를 '김'씨로 바꿔서 출력-- SELECT REPLACE(NM_KOR,'이','김')AS 사원명 FROM MY_TABLE 실전 예제 >> "Event 10% OFF $1.49-$0.15"에서 "10% ..

DB관련/SQL Server 2020.02.28

(중요) MSSQL mdf log파일로 Detach->Atach 하기 (백업,복원)

Database를 사용하다 보면, Backup의 중요성을 너무 크게 느끼게 됩니다. MSSQL도 마찬가지이며, MSSQL의 Backup과 Restore 하는 방법이 여러 가지 있습니다만, 파일을 통한 방법을 남겨보도록 하겠습니다. MSSQL mdf log 파일로 복원하기 SQL Server에서 물리적인 DB파일인 *. mdf / *. log파일을 이용한 DB 이전 하기 (1) DB 선택 > 마우스 오른쪽 클릭 > Tasks > Detach... 처리 (2) mdf 파일과 log파일을 원하는 위치에 복사 (3) mdf 파일과 log파일의 Window 기본 User 권한에 모든 권한으로 변경 Attach이전에, user name에 MSSQL유저가 없습니다. Attach이후, user name이 MSSQLSE..

DB관련/SQL Server 2020.02.28

Cannot insert explicit value for identity column in table 'table' when IDENTITY_INSERT is set to OFF.

MSSQL에서 Identity_insert 오류가 나면서, 쿼리 입력이 안될때가 있습니다. 해당 오류는 컬럼을 ID증가 increment 가 되는 필드가 있을때, 생기는 오류입니다. 해당 오류를 해결하기 위해서는 다음과 같은 쿼리로 감싸줘야 합니다. SET IDENTITY_INSERT {테이블} ON 쿼리 SET IDENTITY_INSERT {테이블} OFF 예제 SET IDENTITY_INSERT Table1 ON INSERT INTO Table1 /*Note the column list is REQUIRED here, not optional*/ (OperationID, OpDescription, FilterID) VALUES (20, 'Hierachy Update', 1) SET IDENTITY_IN..

DB관련/SQL Server 2019.10.10

decimal 와 numeric의 차이 + Money Data Type (C#)

돈의 계산을 이용할때는, decimal을 사용하는 것이 바랍직합니다. 특히 C#에서는 decimal를 꼭 써줘야 합니다. (numeric이 없긴하죠) DB에서는 크게 차이를 못느낄 정도로 많은 차이가 없습니다. decimal[ (p[ ,s] )] and numeric[ (p[ ,s] )] Fixed precision and scale numbers. When maximum precision is used, valid values are from - 10^38 +1 through 10^38 - 1. The ISO synonyms for decimal are dec and dec(p, s). numericis functionally identical to decimal. p (precision) 정밀도 Th..

DB관련/SQL Server 2019.09.26

[MSSQL] SQL Server Management Studio 로 DB copy하기

MSSQL에 DB의 개발 작업을 하다보면, 같은 서버에 운영 DB과 똑같은 TEST DB과 필요한 경우가 있습니다. 이 경우 DB를 쉽게 복사하는 방법을 생각하다. 개인적으로 생각하기에 가장 쉬운 방법을 적어봅니다. DB 복사하기 (1) 신규 DB생성 (2) 오리지널 DB선택 (3) Tasks > Restore > Database..선택 (4) Restore에서 Source를 원본 DB선택 (5) Destination에 Target DB(신규 생성한 DB)를 선택 (6) Options에서 "Overwrite the existing database(WITH REPLACE)"를 선택하면 됩니다. 많은 분들이 DB복사를 하는 방법으로 보통 Backup를 해서 Restore를 하는 방법을 이용합니다. 그래도 파..

DB관련/SQL Server 2019.09.24

mssql 에서 sa 로그인 실패 오류 해결방법

SQL Server 2017 Express를 설치하다 보면, sa로 로그인하려고 할 때, sa로 로그인이 실패되는 경우가 있습니다. 우선, Authentication을 Windows Authentication 으로 변경해서 로그인을 했습니다. 보안 > 로그인 > sa 계정의 속성을 확인하지 > 상태 > 로그인이 사용 안 함(Disable)로 되어 있어서 사용(Enable) 수정했습니다. 그리고, 암호도 수정하고, "[v] 암호 정책 강제 적용"만 적용하고 나머지는 Unchecking 했습니다. 그렇게 접속을 해도 안되더군요. OMG;; 알고 보니. 기본으로 SQL Server가 Authentication이 Mixed로 되어 있지 않았습니다. 그래서 다시 Windows Authentication 으로 로그..

DB관련/SQL Server 2019.09.19

[SQL Server] sqlcmd로 간단한 쿼리 사용하기

MS의 SQL Server에서 Database의 쿼리(Query)를 사용할 때, 보통 SSMS(SQL Server Management Studio) 툴을 이용해서 작업을 하는데, 해당 SSMS가 설치되어 있지 않은 상황에서도, SQL Server에서 설치한 sqlcmd 콘솔 창으로, 쿼리(Query)를 이용할 수 있는 있습니다. sqlcmd 실행방법 윈도우 커맨드에서 sqlcmd라고 입력합니다. sqlcmd에서 쿼리를 통해 SQL Server의 버전 확인도 가능합니다. 그 외 원격(Remote)에 있는 SQL Server에도 접근도 가능합니다. sqlcmd -S [SERVERNAME\INSTANCE] -E sqlcmd -S [SERVERNAME\INSTANCE] –U [username] –P [passw..

DB관련/SQL Server 2019.08.02

MS SQL retore 에러 - Specified cast is not valid. (SqlMangerUI)

Microsoft SQL Server Management Studio 2008 R2 (SSMS.exe)에서 복원을 하려고 할때, 다음과 같은 "Specified cast is not valid" 에러가 발생한다면, 해당 DB백업 파일(.bak)이 버전이 다를 경우가 큽니다. DB백업 파일의 버전을 확인하려면, 다음과 같은 명령을 입력해 보시면 DatabaseVesrion이라는 항목에서 버전을 확인 할 수 있습니다. (참고 SQL 2014의 SSMS에서 확인) restore headeronly from DISK='D:\TEMP\DB_20190510T0824.bak' Microsoft SQL Server Internal Database Versions and Compatibility Levels http:/..

DB관련/SQL Server 2019.05.18

MS SQL DB 복원시 Access is denied.오류 발생시

SQL Server 2008 R2를 복원시 Access id denide가 나타난다면, System.Data.SqlClient.SqlError: The operating system returned the error '5(Access is denied.)' while attempting 'RestoreContainer::ValidateTargetForCreation' on 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DataLabTables.mdf'. Relocate all files folder를 선택해서 복원된 폴더를 바꿔주면 성공적으로 복원이 된다. 출처: https://stackoverflow.com/questions/7031792/sql-serv..

DB관련/SQL Server 2019.03.05

SQL Local DB 2017 (Express버전에서 LocalDB선택해서 설치) + SQL Operation Studio

프로그램에서 MSSQL Express의 용량이 커서, 설치에 항상 힘들었는데. 해당 부분의 MSSQLLocalDB로 설치하는 걸로 수정해 보았습니다. 해당 자료는 남겨봅니다. SQLLocalDB 2017 설치법 - 사용법 https://www.mssqltips.com/sqlservertip/5612/getting-started-with-sql-server-2017-express-localdb/ SQL Server 2017로 넘어오면서, 문제는 용량과 64비트 전용이 되었다는 점입니다. (32Bit은 미지원) 그러나, SQLocal은 용량이 적습니다. (약 40MB) SQL Local DB를 사용하면서 발생한 문제가 생겼는데, SQL Server Management Studio 17(2017용)의 용량의 ..

DB관련/SQL Server 2018.08.17

SQL Server2014 Standard 설치 및 삭제 DB Instance 수동 삭제하기

MS Window Server 2016 (x64)에 SQL Server 2014 Standard를 설치 방법 (우선적으로 Window update를 다 해주어야 합니다.) [우선적으로 설치준비 사항 (.Net) ] - Windows Feature (윈도우 설치 프로그램)중에 .Net Framework 3.5 (include .Net2.0 and .Net3.0)를 설치를 필요! SQL Server Standard의 경우, 다양한 기능들이 있는데. Database Engine Services만 설치해 보도록 한다. 윈도우 계정과, sa계정을 이용한 Mixed Mode를 사용하면 편리합니다. 여기서, DB가 저장소로 사용할 Directories를 선택할 수 있는데, "D:"드라이브 같이 특정 드라이브를 선택하..

DB관련/SQL Server 2018.08.15

SQL서버에서 paginate 만들기 쿼리

SQL 서버에서 페이지 나눔 처리에 대해 쿼리를 분석해 본다.SQL서버는 일반적으로 auto increment idx번호를 부여하지 않고 사용하여 설계되는 경우가 많습니다. Getting the total number of results and paginating are two different operations. For the sake of this example, let's assume that the query you're dealing with isSELECT * FROM Orders WHERE OrderDate >= '1980-01-01' ORDER BY OrderDateIn this case, you would determine the total number of results using:S..

DB관련/SQL Server 2018.05.08

mssql - sqlcmd명령으로 update query를 파일로 만들어 실행하기.

sqlcmd를 통해서 update를 bat파일로 만들기 (주의: sqlcmd.bat과 같이 명령어(sqlcmd)를 파일이름으로 사용하면 무한 loop가 발생합니다.) 1) query.sql 만들기업데이트등 실행할 명령의 파일을 만듭니다. 일반 sql management studio의 쿼리를 주듯이 하면 됩니다.USE {디비명} update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='1234';update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='2345'; 2) runQuery.bat 만들기@ECHO OFFsqlcmd -E -S localhost -i "c:\uni..

DB관련/SQL Server 2018.02.21

SQLServer ldf 로그 파일 줄이기 - SQL Server Management Studio 사용

초기 복원을 했는데도, ldf로그 파일이 생각외로 큰 경우가 있습니다. 디비명_log.ldf (LOG)파일 Shrink 하는 방법log파일이 크면, DB Backup을 하여도, Log 파일이 까지 백업이 되어서, 최종 백업 파일이 커집니다. [DB 설정 - Recovery model: Simple로 변경](1) DB선택후, Propeties선택(2) 설정에 Options에 Recovery model:에 Simple로 설정값 변경. [로그 파일 - Shrink(줄이기)](1) DB 선택후, Tasks > Shrink > Files선택(2) Log를 선택하고, OK를 선택하면, 로그가 삭제 됩니다. [Youtube: LOG 파일 Shrink]

DB관련/SQL Server 2018.02.07

sqlcmd 이용한 쿼리 확인하기 (Management Studio가 없을때)

SQL서버를 설치하고서, 급하게 해당 DB의 정보를 보고 싶을때가 있다. SQL Management Studio가 설치 되어 있다면 좋겠지만 그러지 않을때, 윈도우의 cmd 창에서 SQL Query를 실행해보자. c:\>sqlcmd 로 실행 예제 >> 명령 설명 1> USE 디비명; DB명을 입력해서 선택한다. 2> SELECT TOP (2) ID FROM 테이블 실행할 Query를 입력합니다. (2 Rows) 3> GO GO로 실행합니다. 위 예제 처럼, 실행하면 확인해 볼 수 있습니다. 종료하기 명령 설명 1> EXIT: sqlcmd 나가기 참고: https://docs.microsoft.com/en-us/sql/tools/sqlcmd-utility

DB관련/SQL Server 2017.12.09

MSSQL 컬럼 변경 ( 추가, 삭제, 속성변경, 컬럼명 변경 )

MSSQL 컬럼 변경에 따른 쿼리들MSSQL MSSQL 칼럼추가- ALTER TABLE 테이블명 ADD 컬럼명 데이타형 제약조건ex ) ALTER TABLE PRODUCT ADD P_NAME VARCHAR(20) NULL; = PRODUCT 테이블에 P_NAME 이라는 컬럼이 VARCHAR(20) 에 제약조건 NULL값 허용으로 컬럼추가된다. MSSQL 컬럼삭제 ( 복제된 칼럼, 인덱스로 사용하는 칼럼, 제약조건 지정된 칼럼 ... )- ALTER TABLE 테이블명 DROP COLUMN 컬럼명ex ) ALTER TABLE PRODUCT DROP COLUMN P_NAME = PRODUCT 테이블에 P_NAME 이라는 컬럼이 삭제된다. MSSQL 컬럼 속성 변경- ALTER TABLE 테이블명 ALTER ..

DB관련/SQL Server 2017.10.12

MSSQL 2000~2008 DB 테이블 명세서 작성해주는 출력 쿼리

개발일을 하다보면, DB 명세서를 만드는게 노가다 중에 노가다인데, 이 쿼리 실행해서 받은 내용을 HTML로 저장하니 놀라운 결과물이 나오네요. //:TODO 한글 주석이 깨짐니다. 해당 쿼리 실행 -> 결과물 HTML로 저장 끝. [Gray Theme] [Table th가 Yellow Theme] Yellow Theme [최종버전] Blue Theme (Update 2020-06-20) (업데이트 내용: index 위치 변경 = top부분을 여백이 있게 위치시킴) 오늘의 배움, 역시 검색을 잘하면, 일을 줄일 수 있네요. -_-;; [그림1. Gray Theme] [그림2. Blue Theme] 출처: http://whiteblank.tistory.com/70

DB관련/SQL Server 2017.06.30

[MSSQL] 문자열 자르기 - 구분자로 자르기, 길이로 자르기

MSSQL 문자 자르기문자를 자르는 부분은 정말 많이 쓰이는 것 중에 하나인데, WHERE절에서 사용시 속도를 항상 염두해 가면서 사용해야 하는 것도 중요하죠. 구분자로 자르기문자열: 'ABC\DE\FGH' -- '\' 기준으로 앞에서 자르기SELECT LEFT('ABC\DE\FGH', CHARINDEX('\', 'ABC\DE\FGH')-1);결과: ABC -- '\' 기준으로 중간에서 자르기SELECT SUBSTRING('ABC\DE\FGH', CHARINDEX('\', 'ABC\DE\FGH')+1, LEN('ABC\DE\FGH')-CHARINDEX('\', 'ABC\DE\FGH')-CHARINDEX('\', REVERSE('ABC\DE\FGH')));결과: DE -- '\' 기준으로 뒤에서 자르기SE..

DB관련/SQL Server 2017.06.30

날짜 포멧 convert명령 - MSSQL 2008 이상

날짜(Date) 형식의 값을 특정 문자(String) 포맷(Format)으로 바꾸는 방법을 소개한다.아래는 자주 사용하는 YYYY-MM-DD HH24:MI:SS 으로 변경하는 방법이다. CONVERT( [포맷(길이)], [날짜 값], [변환형식] ) select convert(varchar, getdate(), 120) --결과 : 2014-12-12 19:21:36 ; select convert(varchar(10), getdate(), 120) --결과 : 2014-12-12 ; select convert(varchar(16), getdate(), 120) --결과 : 2014-12-12 19:21 [이외의 날짜 변환형식]select convert(varchar, getdate(), 100) --mo..

DB관련/SQL Server 2017.06.29

MSSQL Server Version 별 제품

SQL Server VersionMSSQL 서버에 버전별 정보 입니다. (구글)버전 패턴SQL 제품11.0.x.xSQL Server 201210.50.x.xSQL Server 2008 R210.00.x.xSQL Server 20089.00.x.xSQL Server 2005 표 1: 각 SQL Server 버전에서 사용 가능한 최신 업데이트 버전최신 서비스 팩최신 누적 업데이트전체 버전 정보SQL Server 2016SQL Server 2016 SP1(13.0.4001.0 – 2016년 11월2016 RTM용 CU3 (13.0.2186.6 – 2016년 11월SQL Server 2016 빌드SQL Server 2014SQL Server 2014 SP2(12.0.5000.0 – 2016년 7월2014 SP2..

DB관련/SQL Server 2017.05.16

MSSQL 특정 테이블 백업하기

출처: MSSQL 테이블 단위 백업 MSSQL에서 특정 Table 백업하기 SQL Server Management Studio 실행 > DB선택 > 테스크 > 스크립트 생성 개체 선택 > 특정 데이터 베이스 개체 선택 테이블 > {백업할 테이블 선택} 스크립트 저장 방식 선택 (파일, 클립보드, 새 쿼리 창) > [고급] 선택 스크립팅할 데이터 형식 > 스키마 및 데이터 선택 데이터 량이 적으면, 새쿼리 창에 저장(용량이 크면 파일로 저장해야 전체가 백업이 된다.)

DB관련/SQL Server 2017.01.26

MSSQL 소숫점 자리수 맞추기

[ 소수점 자리수 맞추기 ] 돈 계산과 같은 경우 소수점의 자리수를 맞춰주는 것이 중요합니다. C# 프로그램에서는 Math.Round(값, 소주점자리수) 형식을 하면 소주점자리수까지 자동 Round처리를 하게 됩니다. MSSQL은 CONVERT나, CAST을 이용하면 좋습니다. SELECT CONVERT(NUMERIC(12,3) , 0.56) ,CAST(0.56 AS NUMERIC(12,3)) 결과 0.5600.560 참고: http://www.sqler.com/656866 [ TEXT type filed 줄 바꿈 없애기 ] TEXT 타입의 필드값에는 문자역 합치기 "+"와 같은 처리가 안된다. 더불어 간단한 REPLACE도 안된다.select replace(replace(colname, char(9),..

DB관련/SQL Server 2016.02.20

[error 메모] String or binary data would be truncated.

아래의 오류는 Insert문에서, 여러개의 select한 값을 바로 insert 할 때, data의 길이가 너무 길때, 나타나는 오류입니다. [ MS-SQL 오류 메시지 ]String or binary data would be truncated. 참고: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=38&MAEULNo=16&no=3751&ref=3751참고: error, string or binary data would be truncated when trying to insert (질문)1>2>3>4>5>.... Msg 8152, Level 16, State 4, Server SP1001, Line 1 string or binary data wou..

DB관련/SQL Server 2016.02.17

MS SQL SERVER 버전별 + Version List

MS SQL SERVERcompact 템플럴리 테이블 생성 불가. 서브쿼리 지원 MS SQL Local DB사용하기 (SQL 2012부터) ※ SQL LocalDB 설치 제약사항운영체제- Windows Vista SP2, Windows Server 2008 SP2 이상의 운영체제에서 지원합니다.- Windows XP, Windows Server 2003, 2003 R2는 지원하지 않습니다. 닷넷프레임워크- .NET Framework 4.0.2부터 지원을 합니다.- .NET Framework 버전 및 종속성: https://msdn.microsoft.com/ko-kr/library/bb822049(v=vs.110).aspx http://yunhyeon.tistory.com/365 DB connection ..

DB관련/SQL Server 2015.12.30

[중요] Left join and Left outer join in SQL Server

항상 사용할 때마다 헷갈리게 하는 부분이 조인이다. 기본적으로 조인은 중복에 대한 내용을 사용할때, 많이 사용한다. 그러나, RIGHT JOIN 도 생각보다 많이 사용되는 패턴이다. 간단히 정리된 내용을 메모해 둔다. (default) 기본 JOIN의 은 INNER조인입니다. INNER조인 = 중복된 값만 나타내는 것을 의미합니다. LEFT 조인 = 왼쪽 테이블에 있는 항목에 맞춰서 값을 가져옴 ( from A left join B on A.a=B.a /* A테이블 기준으로 B테이블 값가져온다*/ ) As per the documentation: FROM (Transact-SQL): ::= [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ ] ] JOIN T..

DB관련/SQL Server 2015.11.12
1 2
반응형