본문 바로가기

IT/Database

구글과 위키페디아도 mySQL에서 갈아 탔다는 마리아DB 마리아DB가 MySQL을 따라잡기 위한 노력이 한창이다.콜린 찰스 마리아 DB 및 스카이SQL 수석개발자는 4월24일 ‘오픈소스 솔루션 데이’ 세미나에서 마리아DB 10.10 공식버전의 주요 특징을 소개했다. 콜린 찰스 수석개발자는 “이번 버전에서 꼽을 수 있는 가장 큰 특징은 리플리케이션 기능과 커넥트 DB 같은 다양한 스토리지 엔진을 지원하는 것”이라고 설명했다. 이번 행사를 주최한 오뉴이노베이션의 최상철 팀장은 “다양한 스토리지를 지원한다는 것은 타사 DB를 쉽게 사용할 수 있다는 것”이라며 “빅데이터 시대에 맞게 다양한 데이터를 관리할 수 있다”라고 덧붙였다.▲콜린 찰스 마리아 DB 및 스카이SQL 수석개발자마리아DB 10.10은 3월 31일 공식 출시된 제품으로, 그동안 베타판으로 배포됐다. 경.. 더보기
[MSSQL] 데이터 이전시 문자 데이터 변환수행 주의점 일반적으로 SQL DB 서버의 데이터 이전 결과로 문자 데이터의 변환이 자동적으로 수행됨에 따라서 해당 문자열 타입의 컬럼 데이터가 공백 문자열[' ']로 채워지는 경우가 있습니다. 입력 데이터 단에서 아무리 공백을 제거한 후 결과를 봐도 아래와 같은 결과가 나옵니다. 'abcd' ---> 'abcd ' 위와 공백이 채워진 경우는 SQL-SERVER 의 SET ANSI_PADDING 설정을 한 후 db 이전(insert)을 해야 합니다 SET ANSI_PADDING OFF 로 설정 그리고 또 다른 상황입니다. 일반적으로 프로시저등을 이용해서 DB 이전을 하는 경우는 위와같이 하면 문제가 없으나, 특정 툴을 사용하여 이전을 하게되면 종종 ODBC를 이용하는 경우가 많습니다. 이럴 경우 아무리 DBMS단에서.. 더보기
[MSSQL]서버 BAK파일 복구 특정 서버의 bak 파일을 수신하여 다른 서버에서 다시 특정 db를 복구하는 방법 use master restore filelistonly from disk='D:\백업파일명.bak'restore database '백업db명' from disk='D:\백업파일명.bak' with replace, norecovery, move '백업db명' to 'mdf파일경로', move '백업db로그' to 'ldf파일경로', 더보기
[SQL Azure]SQL Federation SQL Azure Federation(페더레이션)SQL Azure의 경우 150GB Business Edition을 제공하고 있습니다. 하지만 150GB 이상 데이터를 처리하려면 어떻게 해야 할까라는 의문이 생깁니다. 150GB 데이터베이스를 여러 개 작성해서 이를 응용 프로그램에서 핸들링하기에는 사실 너무 무리가 많습니다.On-Premise 에서는 분할 테이블이나 분할 뷰를 통해 여러 서버에 데이터를 분산하여 확장성과 성능을 도모하곤 했었습니다.클라우딩 환경에서는 SQL Azure Federation(페더레이션)을 통해 행 분할을 통해 응용 프로그램의 데이터베이스 계층에서 확장성과 성능을 높이는 방법을 제공하고 있습니다. Federation(페더레이션)을 통해 확장성, 성능 및 추가 용량을 제공할 수 .. 더보기
[MYSQL] 데이터포맷 DATE_FORMAT(date,format)Formats the date value according to the format string.The following specifiers may be used in the format string. The ‘%’ character is required before format specifier characters.SpecifierDescription%aAbbreviated weekday name (Sun..Sat)%bAbbreviated month name (Jan..Dec)%cMonth, numeric (0..12)%DDay of the month with English suffix (0th, 1st, 2nd, 3rd, …)%dDay of the month.. 더보기
[MSSQL]날짜관련 함수 Convert()함수 사용,참고로 cast()함수는 포맷지정안됨 예)오늘날짜를 YYMMDD형태로 나타내기 select CONVERT(varchar(8), getDate(),112) 2. DATEPART () 예1)오늘이 무슨요일인지(일요일=1~토요일=7까지) select DATEPART (weekday, getDate()) 예2)오늘이 몇일인지 select DATEPART (day, getDate()) 3. DATEADD ( datepart , number, date ) 예1)오늘부터 3일뒤 select DATEADD ( week ,2, getDate() ) 예2)오늘부터 2주일뒤 select DATEADD ( week ,2, getDate() ) 예3)이번주 시작일요일과 끝토요일 select DATEA.. 더보기
[MS SQL] DB 파티션 Using Views to Partition Data 파일그룹으로 대용량의 데이터를 저장할 수는 있으나 각 파일에는 작년꺼, 올해꺼 식으로 나눠서 저장할 수는 없다. select 시 많은 파일그룹의 데이터를 읽어오려면 속도가 오래걸린다. 예를 들어, Server 1 : C(200201-200204 data) D(200205-200209 data) E(200209-200212 data) Server 2 : C(200101-200104 data) D(200105-200109 data) E(200109-200112 data) Server 1,Server 2의 각 C,D,E에 구조가 같은 테이블을 각각 생성하고 그 테이블의 WITH CHECK OPTION을 넣어 해당 기간의 데이터만 저장되게 하고 각 데이터를 .. 더보기
[MSSQL]DB손상복구 업체에서 사용중 전원 OFF등에 의해 파일손상(CRC오류)됨, DB연결오류로 업무중단발생 다행히 LOG파일만 손상되어 복구가 가능하였고 MDF파일은 재사용가능했음(일부데이타누락) 일단 디스크복구를 돌려 재부팅후 CRC오류로 복사안돼는현상 제거 [아래는 로그파일만 손상됐을경우에 한함] 1) ‘주의대상’으로표시된데이터베이스에대해다음의쿼리문을수행하여 ‘응급복구’모드로설정합니다. ALTER DATABASE database_name SET EMERGENCY2) SQL Server를중지합니다. 데이터베이스파일이저장된폴더에서데이터베이스의트랜잭션로그파일(.ldf)의이름을변경합니다. SQL Server를재시작합니다. 3) SSMS로접속하여다음명령을수행합니다. ALTER DATABASEdatabase_nameREBUILD.. 더보기
[MSSQL] MS-SQL MERGE 문 예제 데이터를 저장 할 때 해당 데이터를 수정 및 추가 저장을 체크를 해야 할 경우가 있습니다. 이때 사용하는 것이 Merge 문입니다. Merge 문의 MSDN Syntax 주소 : http://msdn.microsoft.com/ko-kr/library/bb510625(SQL.105).aspx MS-SQL MERGER 문 예제 MERGE TB_IDX AS T USING (SELECT \'20130301\' AS IDX_DD,\'IDX_SHP_SI\' AS IDX_CATE_ID) AS IDX ON (T.IDX_DD = IDX.IDX_DD AND T.IDX_CATE_ID = IDX.IDX_CATE_ID) WHEN MATCHED THEN--AND T.IDX_DD = \'20130301\' AND T.IDX_CAT.. 더보기
[MSSQL] 64비트 SQL Server 2005이상에서 32비트 Server 2000(7.0) Linked Server 등록시 64비트 SQL Server 2005 클라이언트에서 연결된 32비트 SQL Server 2000 서버 또는 연결된 SQL Server 7.0 서버로 분산 쿼리를 실행하려고 하면 오류 메시지가 나타날 수 있다 다음 저장 프로시저를 32비트 버전의 SQL Server 2000(7.0) master 데이터베이스에 추가하면 됩니다. create procedure sp_tables_info_rowset_64 @table_name sysname, @table_schema sysname = null, @table_type nvarchar(255) = null as declare @Result int set @Result = 0 exec @Result = sp_tables_info_rowset @table_name, .. 더보기