본문 바로가기

전체 글119

디비 서버 메모리 초기화하기 dbcc dropcleanbuffers 서버를 종료했다가 다시 시작하지 않아도 버퍼캐시의 메모리를 지워줍니다. (Data cache 로 사용된 메모리) dbcc freeproccache 프로시저 캐쉬에서 모든 메모리를 비웁니다. 위의 두 명령을 사용하면 서버를 재부팅하지 않고도 처음 상태로 돌릴수가 있습니다. 2009. 1. 16.
테이블 용량 체크하기 sp_spaceused [테이블명] 이렇게 하면 해당 테이블의 row 갯수와 사이즈 정보를 알 수 있습니다. 2009. 1. 16.
SET XACT_ABORT 에 관해.. SET XACT_ABORT 옵션은 Transact-SQL 에서 사용이 되며 사용법은 SET XACT_ABORT ON|OFF 로 사용됩니다. SET XACT_ABORT ON 으로 했다는 것은 이 다음부터 사용되는 쿼리문을 실행할때 런타임 오류(컴파일 오류는 해당되지 않음)가 발생하였을 경우 전체를 롤백시킨다는 뜻입니다. SET XACT_ABORT OFF 로 했다는 것은 그 반대인 전체 롤백안하고 오류가 발생한 부분만 롤백한다는 뜻입니다. 예를 들면, 10 개의 데이터를 insert 하는 query 가 있다고 할 때, insert 하기 전에 SET XACT_ABORT ON 을 하게 될 경우, 4개까지 insert 하다가 5번째에서 도메인 오류, 제약 조건 오류(참조키,주키기타 등등..) 등.. 런타임 오류가.. 2009. 1. 16.
서버 이름과 인스턴스 이름이 다른 문제 간혹 실제 서버 네임과 인스턴스 네임이 다른 경우가 있습니다. 이럴 경우 replication 을 위해 해당 서버가 subscriber로 접속해야 할 경우 replication 은 실제 서버 네임을 이용하여 접속 하도록 되어있기 때문에 연결에 문제가 발생합니다. 첨에 서버를 세팅하고 sql 을 올린 후 이 sql 서버의 이름을 바꿔서 쓸 경우 이런 문제가 발생할 수 있으며 이유는 master.sysservers 시스템 테이블에 잘못된 인스턴스 네임이 들어가 있어서 그렇습니다. 이 네임을 실제 서버 네임과 동일하게 수정해줘야 합니다. sql 서버는 server id 가 0인 자기 자신의 인스턴스를 가지고 있습니다. 그러므로 아래와 같은 sp를 사용하여 서버를 재등록시켜주면 됩니다. sp_dropserver.. 2009. 1. 16.
replication 때문에 로그가 지워지지 않는 경우 간혹.. Replication 을 돌릴 때 log 가 지워지지 않아서 서버의 용량이 꽉 차는 문제가 생깁니다. 큰일이죠. 해당 서버에서 다른 작업들을 수행할 수 없게 되니 말입니다. 이 문제는 만들어진 snapshot 데이터들이 모든 subscriber 에게 읽혀지지 않아서 발생하는 문제입니다. 최소 하나의 subscriber라도 동기화 되기 전까지는 log 를 지우지 않고 계속 기다리는 것이죠. 그렇지 않으면 데이터의 일관성이 깨져 버리니까요. backup log 를 with no_log 나 truncate 같은 것을 사용하여 줄이려해도 줄여지지 않는 경우 아래와 같은 쿼리를 돌려 해당 서버의 데이터베이스들을 확인해보세요. select name, is_published, is_subscribed, is.. 2009. 1. 16.
Microsoft Internet controls Componenent 추가 및 로드 못하는 문제 VB6 에서 Web browser 컨트롤을 사용한 프로젝트를 열 때 ieframe.dll 을 로딩할 수 없다고 뜨는 문제가 있었는데요. 여기저기 찾아보니, 문제가 Explorer 7 때문이라고 나오더군요. VB6 가 나온지 오래되었고, Microsoft Internet Controls 컴포넌트도 나온지 오래되었겠죠. Explorer 6 에서 대폭 변화된 Explorer 7 은 그나마 최근에 나왔기 때문에 DLL 부분에 변경이 있어 그런것 같네요. 자세한 내용은 저도 잘;; ㅎㅎ 궁금하신 분은 한 번 잘 찾아보시구요. 이 문제는 Project > Component 메뉴에서 프로젝트에 Microsoft Internet Controls 를 추가할 때 ieframe.dll 을 찾을 수 없다는 에러 메시지가 뜨는.. 2009. 1. 16.
[API]Computer name 가져오기 선언) Public Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long 설명) 위의 함수는 buffer 에다 computer name 을 저장해주고 성공하면 0이 아닌 값을, 실패하면 0을 반환합니다. 그리고 버퍼에 computer name 이 아닌 값들이 들어가는데 이를 제거하기 위해 replace 함수를 써서 Chr(0) 인 값을 "" 로 바꿔주는게 좋습니다. 예) Dim strComputerName As String * 255 Dim lngReturn As Long lngReturn = GetComputerName(strCompu.. 2009. 1. 16.
배열 초기화 Erase 라는 명령어를 사용하면 배열을 초기화할 수 있습니다. 만약 배열이 정적 배열이라면 저장되어 있는 값을 모두 0으로 초기화 해버리고 동적 배열이라면 배열 크기 자체도 모두 제거합니다. 예) Erase 배열이름 2009. 1. 16.
[API]Network drive 끊기 선언) Public Declare Function WNetCancelConnection2 Lib "mpr.dll" Alias "WNetCancelConnection2A" _ (ByVal lpName As String, ByVal dwFlags As Long, ByVal fForce As Long) As Long Public Const NO_ERROR = 0 Public Const CONNECT_UPDATE_PROFILE = &H1 설명) Windows 95 버전 이상에서 사용할 수 있습니다. 위의 API 함수를 먼저 선언해주어야 하며, 파라미터의 설명은 다음과 같습니다. lpName : network drive name. 현재 매핑되어있는 네트워크 드라이브의 경로로 예로 W: 같은 것입니다. dwFlag.. 2009. 1. 16.
[API]Network drive 연결하기 선언) Public Declare Function WNetAddConnection2 Lib "mpr.dll" Alias "WNetAddConnection2A" _ (lpNetResource As NETRESOURCE, ByVal lpPassword As String, ByVal lpUserName As String, ByVal dwFlags As Long) As Long NETRESOURCE 구조체 선언) Public Type NETRESOURCE dwScope As Long dwType As Long dwDisplayType As Long dwUsage As Long lpLocalName As String lpRemoteName As String lpComment As String lpProvider .. 2009. 1. 16.
[API]Domain 과 User name 가져오기. Domain/Computer name 과 user name 을 가져오는 API 입니다. 이 API 의 설명은 다음과 같습니다. The GetUserNameEx function retrieves the name of the user or other security principal associated with the calling thread. You can specify the format of the returned name. 해석) GetUserNameEx 함수는 사용자 이름이나 호출하는 thread 와 관련있는 다른 보안 주체를 가져온다. 그리고 반환되는 이름의 형식을 지정할 수가 있다. 라고 되어있는데, 다른 보안 주체라는 것이 예를 들어 client 가 특정 network domain 에 묶여있.. 2009. 1. 16.
LA에서 버스와 지하철에 대한 정보 제가 처음 LA 에 도착해서 먼저 온 형이 살고있던 하숙집을 찾아가는 길이 막막했습니다. 별 준비없이 왔거든요 ㅋㅋ 하숙집은 한인타운에 있지만, 거기까지 어떻게 가나 했답니다. 다행히도 한국에서 알아온 한인택시를 불러서 하숙집으로 갔답니다. 아..한인택시는 택시회사가 제공하는 수신자부담 전화로 전화해서 택시를 부르는 콜택시랍니다. 다른 택시는 안타봐서^^;; 애니콜택시라는 한인택시회사였는데 무료전화번호는 찾아보시길 바랍니다..ㅡㅡ;; 우선, 여기 와서 처음에 돌아다닐때는 한인타운 안에선 별 문제없었지만, 일하러 회사에 가게되면서 버스와 메트로를 이용하게 되더군요. 사실, 첨에 여기 도착해서 걸어댕겼지.. 지금 걸어다니라고하면 차라리 버스를 타고싶습니다..ㅡㅡ;; 왠지는 잘 모르겠지만 이상하게 걷는게 힘들.. 2009. 1. 16.
중고차 구입하기 미국에서 생활하기 위해 먼저 필요한 것이 차 입니다. 흔히 우리나라에서는 차라는 것이 남한테 보이기 위한 경우가 많지만 미국에서의 차란 신발과 같은 존재이죠. 대중교통이 우리나라만큼 발달해 있지 않고 도심지가 아닌 외곽 지역이나 어떤 지역으로는 아예 버스나 지하철이 다니질 않기 때문에 더더욱 차가 필요합니다. 물론 미국 자체가 워낙 땅덩어리가 넒기 때문에 이동하기 위해서는 차가 필수적인데 그래서인지 미국에서의 차값은 한국보다 저렴하다고 느껴지는 편입니다. Lexus, Mercedes Benz, Audi, BMW 등과 같은 비싼 외제차도 한국에 비하면 반값이나 다름없을 정도죠. 거기다가 차를 소유하기 좋도록 세금이 많이 붙지 않습니다. 여기서는 왠만큼 산다는 집에서는 보통 차를 두 대 이상씩 가지고 있기도.. 2009. 1. 16.
[맛집] Panda Express Panda Express 는 중국음식을 입맛에 따라 골라서 먹을 수 있는 일종의 뷔페식 패스트푸드점이라고 할 수 있습니다. 음식들이 진열된 곳에 사람들이 줄 서 있는 곳으로 가면 제일 먼저 해야 할 일이 entree 즉, 음식을 몇가지 선택할 것인지를 말해야 합니다. 보통 1인분일 경우 2가지만 있어도 충분합니다. 왜냐면 밥(Fried Rice)이나 면(Chow Mein)은 기본으로 딸려 나오기 때문이죠. 우리가 선택해야 할 것은 밥이나 면이 아니라 반찬입니다. 일단 줄 서서 주문하기 보다는 먼저 메뉴판을 보고 어떤게 있는지를 살펴본 후에 주문을 하는 게 보다 맛있게 먹을 수 있는 방법일 거에요. 몇 가지 entree를 할 것인지를 결정하고 점원에게 가서 말하면 이제 밥(Fried Rice)이나 면(Ch.. 2009. 1. 16.