목록전체 글
바다토리 웨어하우스
Database는 아무래도 방대한 많은 양의 자료가 있다 보니, DB를 다루다 보면 여간 신경이 곤두서는 게 아닐 수 없다. 특정 조건에 해당되는 데이터를 Update나 Delete를 하다 보면, 쿼리를 잘못 날려서 정말 내가 왜 이랬지 후회를 하며 머릿속이 하얘지는 경험은 한 번쯤은 있을 것이다. 실행을 하는 순간 뭔가 싸한 느낌. 그렇기 때문에 DB에 있어서 백업은 항상 필수이고, 아무리 강조해도 지나치지 않는다. 다음의 예를 보자. 테이블을 하나 만들고 데이터를 넣어 둔다. 조회를 해보면 5건의 데이터가 들어가 있는 것을 볼 수 있다. 백업을 주기적으로 잘하고 있다고 가정하고, 전체 Full 백업을 받는다. 잘 아시겠지만, 주 1회 전체 백업, 매일 차등 백업을 받도록 한다. 여기서 사용자가 실수로..
MSSQL을 사용하다 보면 보안 문제로 인하여 sa계정을 비활성화하는 경우가 많다. 그리고는 편의상 윈도우의 administrator 게정으로 윈도우 인증을 이용하여 사용하는 경우가 많은데, 그리 좋은 케이스는 아니지만, 혹 이렇게 사용하다가 administrator 계정을 삭제했을 때 더 이상 윈도우즈 administrator 계정으로 로그인을 할 수가 없게 된다. sa계정도 비활성화시켜 놓은 상태라 MSSQL에 관리자 계정으로 접속할 방법이 없어지게 된다. 이럴 때 당황스러웠던 적이 있는데, 해결법이 있기에 글을 적어 봅니다. 첫째. SQL 서버를 정지시킵니다. net stop mssqlserver 둘째. 단일 사용자 모드로 MSSQL서버를 시작합니다. net start mssqlserver /m 셋..
DB서버를 이전하게 되거나, 예기치 못한 장애로 인하여, 새로운 서버에 백업해둔 DB를 복구하거나 DB를 붙이게 되면, 동일한 계정이라 하더라도 로그인이 안 되는 경우가 있습니다. 똑같은 계정인데도 새로 복구한 서버에서 로그인이 안 되는 것은 새로운 서버와 기존 서버의 정보가 달라 같은 계정이라도 로그인이 안되는 문제가 발생합니다. 이런 경우에는 별도의 프로시저를 실행시켜주어야 하는데요. 바로 SP_CHANGE_USERS_LOGIN 프로시저 입니다. 사용자 계정을 맵핑해주는 프로시저로써 해당 프로시져에 기존 사용자의 계정을 넣어서 실행만 해주면 됩니다. USE TEMPDB --복원한 DB명 GO EXEC SP_CHANGE_USERS_LOGIN 'Update_one', 'olduser', 'newuser'..
근태관리 같은 업무를 개발하다 보면, 휴일 등록에 따른 근태를 관리해야 할 필요가 생긴다. 그런 경우, 휴일과 공휴일에 대한 정보를 별도의 DB로 관리를 주어야 하는데, 이럴 경우 1년 중 토요일과 일요일을 구분하여 휴일 처리해주고, 그 외 변동적인 공휴일은 관리자가 직접 수정하도록 해주면 된다. declare @i int set @i=0 while @i
테이블을 만들다 보면 어쩔 수 없이 칼럼을 많이 만들어야 할 때가 있을 것입니다. 쿼리의 효율성으로 보아서는 무작정 칼럼을 많이 만드는 것이 성능면에서 좋은 방식은 아니지만, 그럼에도 불구하고 칼럼을 나열하여 그걸 다시 가로로 변환하느니, 컬럼으로 만드는 것을 선호하는 사람도 있을 수도 있을 것입니다. MSSQL의 경우 칼럼을 아무리 많이 만들고 싶어도 DB 성능을 고려하여 1024개까지만 만들 수 있습니다. 1025개 이상은 만들고 싶어도 에러를 내뱉으며 만들 수가 없기 때문입니다. 그래서 1025개 이상의 컬럼을 만들기 위해서는 SPARSE 즉 스파스 열을 사용하면 가능해집니다. CREATE TABLE TBL( col1 varchar(4) SPARSE, col2 varchar(10) SPARSE, c..
상품권 코드나 Survey코드 등 중복되지 않는 고유하게 코드를 만들어야 할 때가 있습니다. 이런 경우, 별도로 코드를 생성하는 로직을 사용해야 하는데, 숫자와 영문자가 조합된 코드를 생성할 수 있는 스크립트를 만들어 보았습니다. 생성코드의 자리수와 또 개수를 임의로 지정하여 만들 수 있습니다. Declare @i bigint, @RndCode varchar(10), @chLen int, @RandCnt bigint /*생성할 변수 정보*/ Set @chLen = 5 -- 코드 길이수 Set @RandCnt = 100000-- 생성할 코드 수 Set @i=1 While @i
디젤 미립자 필터(DPF)는 디젤 엔진의 배기가스에서 디젤 미립자 물질 또는 그을음을 제거하기 위해 설계된 장치입니다. 몇 년 전까지만 해도 이 DPF를 달고 출시되는 디젤 차량은 저공해 등록을 할 수 있었던 때도 있었습니다. 환경을 생각해서 매연을 저감시키는 이 DPF는 생각보다 고가이며, 또 DPF로 인하여 휘발유 차량에서는 생각지도 못한 골칫거리에 직면하기도 합니다. 디젤 차량에 달려있는 DPF는 관리가 필요하며, 이를 무시했다가는 고가의 DPF에 문제가 생기게 되어 불필요한 큰 지출이 생길 수가 있기 때문에, 주기적으로 관리가 필요합니다. 10여 년간 디젤 차량을 운행하면서 DPF에 대하여 나름의 관리 방법을 공유해보고자 합니다. 사실상, 고속도로 위주로 주행을 많이 하는 차량은 DPF관리가 사실..
iexplore가 지원 종료까지 되면서 이제는 크롬과 edge로 많이들 사용하고 있는 추세입니다. 익숙하던 iexplore자체가 이제는 윈도우 98처럼 옛 브라우저로 인식이 되고 있을 정도니깐요. 아직까지는 익숙하지 않은 edge를 사용하면서 무언가를 변경하려고 하면, 익숙하지 않은 메뉴가 어색하기만 하죠. Edge를 처음시작할때 원하는 페이지가 뜨도록 설정하는 부분을 알아보겠습니다. 설정 메뉴로 들어가기 위해서 우측 상단의 … 를 클릭합니다. 위와 같은 메뉴가 펼쳐지면 설정으로 들어갑니다. 설정의 창이 새롭게 열리면 좌측에 메뉴들이 나타납니다. 좌측에 메뉴에서 "시작, 홈 및 새 탭" 메뉴를 선택합니다. 우측에 EDGE가 시작되는 경우라 하여 Edge가 열릴 때 시작페이지를 설정할 수 있는 항목이 나타..