블로그 이미지
보미아빠

카테고리

보미아빠, 석이 (528)
밥벌이 (16)
싸이클 (1)
일상 (1)
Total
Today
Yesterday

달력

« » 2025.9
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

공지사항

최근에 올라온 글

'보미아빠, 석이'에 해당되는 글 528건

  1. 2015.10.23 음악
  2. 2015.10.08 visitor pattern 으로 짠 sql parser
  3. 2015.10.07 NUMA Group Size Optimization 1
  4. 2015.10.02 ssis script task
  5. 2015.10.01 mysql recovery
  6. 2015.09.24 주옥같은 프로시저 겠쥐...나중에 봐야지...
  7. 2015.09.16 싸이클 통증 관련
  8. 2015.09.14 업힐~
  9. 2015.09.08 ramdrive free
  10. 2015.09.07 심각도 16 sql 메시지 id 7330

음악

카테고리 없음 / 2015. 10. 23. 14:23

https://youtu.be/dLOJ_-JUpho

Posted by 보미아빠
, |

sql css 에서 가져왔는데....어디인지 링크를 잊어버림....잘 찾아보면 있을겁니다.

 

 

using Microsoft.SqlServer.TransactSql.ScriptDom;

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Security.Cryptography;

using System.Text;

using System.Threading.Tasks;



 class TSqlNormalizerSingle
    {
        static string hashValue;
        //public static string Normalize(MemoryStream input, int compatLevel, bool caseSensitive)
        public static string Normalize(string input, int compatLevel, bool caseSensitive)
        {
            TextReader rdr = new StringReader(input);
            TSqlParser parser;
            SqlScriptGenerator scrgen = null;

            #region a
            switch (compatLevel)
            {
                case 80:
                    {
                        scrgen = new Sql80ScriptGenerator();
                        parser = new TSql80Parser(true);
                        break;
                    }
                case 90:
                    {
                        scrgen = new Sql90ScriptGenerator();
                        parser = new TSql90Parser(true);
                        break;
                    }
                case 100:
                    {
                        scrgen = new Sql100ScriptGenerator();
                        parser = new TSql100Parser(true);
                        break;
                    }
                case 110:
                    {
                        scrgen = new Sql110ScriptGenerator();
                        parser = new TSql110Parser(true);
                        break;
                    }
                default:
                    {
                        return "Invalid compatibility level specified; exiting.";
                    }
            }
            #endregion a

            IList<ParseError> errs;
            TSqlFragment frag = parser.Parse(rdr, out errs);
            foreach (ParseError err in errs)
            {
                //Console.WriteLine(err.Message);
                if (err.Message.Length > 1)
                    return "query_hash_error";
            }

            foreach (var batch in (frag as TSqlScript).Batches)
            {
                myvisitor visit = new myvisitor();
                StringBuilder origscript = new StringBuilder();
                for (int tokIdx = batch.FirstTokenIndex; tokIdx <= batch.LastTokenIndex; tokIdx++)
                {
                    origscript.Append(batch.ScriptTokenStream[tokIdx].Text);
                }
                batch.Accept(visit);
                string script;
                scrgen.GenerateScript(batch, out script);


                using (var hashProvider = new SHA1CryptoServiceProvider())
                {
                    if (caseSensitive)
                    {
                        hashValue = Convert.ToBase64String(hashProvider.ComputeHash(Encoding.Unicode.GetBytes(script)));
                    }
                    else
                    {
                        hashValue = Convert.ToBase64String(hashProvider.ComputeHash(Encoding.Unicode.GetBytes(script.ToLowerInvariant())));
                    }
                }
            }
            return hashValue;
        }
    }

Posted by 보미아빠
, |

[문제]

ProLiant DL360 Gen9 에서 OS에서는 24 Core 를 인식하는데,

SQL Server 2008 에서 12개의 Core만 사용해 원인 분석이 필요함

 

[분석결과]

sql server 2008 의 경우 processor group 을 인식하지 못한다.

windows server 의 경우 processer group 을 인식할 경우, 64개 이하는 1개의 그룹에 할당한다. (group 0)

sysinternals 의 coreinfo를 이용해 셋팅 상태를 확인해 보니

group이 2개 생성되어 있으며, group 0번에 12개 할당되고 group 1 에 12개가 할당되어 있음

결과적으로 sql server 2008 은 processor group 0번만 인식해 12개의 core만 인식하는 경우임

 

[문제의 해결]

HP Server bios 에서 NUMA Group Size Optimization 을 clustered -> flat 으로 변경한다.

 

 

NUMA Group Size Optimization

 

Use this option to configure how the system ROM reports the number of logical processors in a NUMA (Non-Uniform Memory Access) node. The resulting information helps the operating system group processors for application use.

To set NUMA Group Size Optimization:


1.From the System Utilities screen, select System Configuration → BIOS/Platform Configuration (RBSU) → Performance Options → Advanced Performance Tuning Options → NUMA Group Size Optimization and press Enter.


2.Select a setting and press Enter:


•Clustered (default)—Optimizes groups along NUMA boundaries, providing better performance.


•Flat—Enables applications that are not optimized to take advantage of processors spanning multiple groups to utilize more logical processors.

 

3.Press F10 to save your selection.

 

[삽질] 

sql server error log

2015-10-06 20:10:55.040 서버 Detected 12 CPUs. This is an informational message; no user action is required.

2015-10-06 20:10:55.180 서버 Node configuration: node 0: CPU mask: 0x0000000000000fff Active CPU mask: 0x0000000000000fff. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.

 

env

windows 2008 r2 ee <-- (processor group 인식 windows 20008 은 processor group 인식 못함)

sql server 2008 se <-- (processor group 인식 못함)

 

sql 2008 se spec

Maximum number of processors supported by the editon

processor 4개 까지 지원 (sql 2008 r2 의 경우 메모리를 64GB 까지만 지원하게 됨)

https://msdn.microsoft.com/en-us/library/ms143760(v=sql.100).aspx

 

think.... 

전체 24개의 코어가 있는데 전체의 반만 인식하는 현상이 있음..기본적으로 processor group 은 윈도우에서 64개 이하의 코어가 있을때 그룹을 나주지 않는다 (Group 0 로 할당함) 24개 미만의 코어만 있으므로 processor group 에 영향이 없을것이라 처음에 생각함.... 그래도 반만 인식하는것이 이상해 core인식 정보를 확인할 필요가 있었음 (coreinfo sysinternals.com -> core 정보를 아주 자세히 나타내 준다. numa node 간 latency 나 processor group 이나 HT, level 별 cache 사이즈 등을 알 수 있음)

 

coreinfo 조사결과 

Logical Processor to Group Map:
Group 0:
************------------
Group 1:
------------************

 

 

ref

sql 버전별 한계 검색

https://msdn.microsoft.com/en-us/library/ms143685(v=sql.100).aspx

processor group 개념

https://msdn.microsoft.com/en-us/library/dd405503(VS.85).aspx

processor group test

https://msdn.microsoft.com/en-us/library/windows/hardware/jj123528.aspx

haswell core 정보

http://ark.intel.com/ko/products/81709/Intel-Xeon-Processor-E5-2670-v3-30M-Cache-2_30-GHz

haswell core datasheet

http://www.intel.com/content/www/us/en/processors/xeon/xeon-e5-v3-datasheet-vol-1.html

sql 2008 uses half the cpu's

http://blog.calvett.co.uk/2012/07/06/sql-server-2008-uses-half-the-cpu-s/

why can't i sett the correct number of physical processors when i query sys.dm_os_sys_info in sql server 2008 

http://sqlserverassociates.com/Blog/PostId/2/why-cant-i-see-the-correct-number-of-physical-processors-when-i-query-sysdmossysinfo-in-sql-server-2008

hp server proliant DL360 Gen8 vs IBM x3850 X5 ==> numa processor group usage

http://serverfault.com/questions/662860/hp-server-proliant-dl360-gen9-vs-ibm-system-x3850-x5-numa-processor-group-us

 

processor 라이선스와, 메모리 제약이 없는 sql 이 필요하다면 sql 2008을 쓰면서 좋은 core 가 있는 서버를 선택하면 좋을겁니다. sql 2008 r2 se 는 processor group 을 인식하나 64GB 메모리 제약이 있음 


http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c04650594&sp4ts.oid=7500985

 

- end -

Posted by 보미아빠
, |

ssis script task

카테고리 없음 / 2015. 10. 2. 17:32

http://slavasql.blogspot.jp/2015/08/ssis-conversion-from-unicode-to-non.html

 

https://mathiasbynens.be/notes/mysql-utf8mb4

 

 

http://wildchry.tistory.com/171

Posted by 보미아빠
, |

mysql recovery

카테고리 없음 / 2015. 10. 1. 16:36

 

c 에 용량이 얼마 없으니 아래와 같이 링크를 만든다

 

 

일반적인 작업은

use bacula 해서 그냥 쓰면 된다.

 

restore 할 때

 

source 명령어를 쓰는데 이건 workbench 에서는 동작하지 않는지 다른 모드가 있는 모양이다.

mysql -u root -p 로 들어가서

use bacula

mysql> source D:\어쩌고\저쩌고\mysqldump.dump

 

예전같이 그냥 mysql -u root -p < mysqldump.dump 이렇게 하려면 첫 줄에 use 대상데이터베이스 이렇게 넣어주어야 하는데 위와 같은 방법으로 하면 큰 파일 고치지 않고 가능하네~







Change password for user nixcraft, enter:

mysql> update user set password=PASSWORD("NEWPASSWORD") where User='nixcraft';

Finally, reload the privileges:

mysql> flush privileges;
mysql> quit



select *, CAST(logtext AS CHAR(10000) CHARACTER SET utf8) from log order by logid desc limit 1000



Posted by 보미아빠
, |


Hello minsouk,

Welcome back and I hope you had a great summer holiday!

Today I would like to share with you some improvements we have made to SQLTest and sp_whopro; many of them were the result of user feedback:


sp_whopro SQL Server Activity Monitoring and Logging Stored Procedure
  • in addition to on-premises usage, is now available for the cloud, SQL Azure V12.www.sqldownload.com/download
  • Version 102 is now available for most SQL Server releases. It supports schema name in addition to database name while saving current activity, offers better support for data purging and includes various bug fixes and performance improvements. Free download
SQLTest SQL Server Performance, Load, Stress and Unit Test Tool

Upcoming Workshops:

The "Advanced SQL Server 2014, 2012 and 2008 Performance Monitoring & Tuning Hands-on Workshop"uses SQLTest tool to simulate real-world performance issues on every participant's computer and these problems are resolved together with the students using various techniques. This makes sure the participants receive first-hand practical performance tuning skills, with real-world problem solving and not just the common "best practice guidelines" discussion. Agenda Feedback

  • October 21-23, 2015 in Frankfurt, Germany
  • November 17-19, 2015 in Vienna, Austria (Early bird discount available until October 6th, 2015)
Furthermore, with "Super Early Bird Discount" you can now register for the first two workshops scheduled for 2016:
  • June 21-23, 2016 in Zürich, Switzerland
  • October 18-20, 2016 in London, United Kingdom

If there are three or more DBAs / developers / architects in your company who would like to attend, it might be more convenient to organize the training at your company's premises.

Let us know if you have any SQL Server performance tuning questions!

Best regards,

Carmen and Ramesh 
www.sqlworkshops.com


Posted by 보미아빠
, |

http://corearoadbike.com/board/board.php?g_id=Menu01&t_id=Menu01Top1&sch_W=title&sch_O=AND&sch_T=%ED%9B%88%EB%A0%A8%EA%B3%BC%EC%9E%89%EC%97%90%EC%9D%98%ED%95%9C+%EB%B6%80%EC%83%81%EB%93%A4%2F%EC%98%88%EB%B0%A9+%EB%B0%8F+%EC%B9%98%EB%A3%8C+&no=1381

 

 

donny
훈련과잉에의한 부상들/예방 및 치료

사고에 의한 부상이 아니라 싸이클링을 하면서 누구나 다 격는 부상들이 있습니다. 이들테면, 엉덩이 통증, 하리통증, 무릎통증, 손바닥 통증 등...  저도 라이딩 하면서 한번씩은 다 경험한것들 입니다. 그러나 이러한 통증들의 원인과 예방/치료법은 잘 모르고 있는것 같습니다.  더우기, 일부 동호인들 사이에서는 잘못된 정보를 교환하고 있는것 같습니다. 예를들어, 장갑을 끼는 이유가 땅바닥에 넘어졌을때 부상을 방지하기 위한것일까요? 글쎄요...

아래는 Serious Cycling의 저자 에드먼드 버크 박사의 전하는 부상과 관련된 글을 제가 일부 요약 번역한것 입니다. 

부상에는  여러 종류가 있으나 적절하지 못한  훈련/라이딩 또는  과도한  훈련/라이딩에 의한  부상들이  있다.
이러한  부상들은  올바른  바이크 라이딩  포지션 조절, 절적한 컨디션닝, 또는 보호의류 등을  착용함에 의해 미연에  방지할수 있다.

안장 통증 (saddle soreness)
안장  통증이란  작은 종기로 부터  시작하는  가랑이  부위에  생기는  일종의  염증이다. 대부분의 경우  안장 통증은 수일만에  사라지지만, 지속될 경우는 부위가  빨갛게 되고  염증이  생기며  매우  고통스럽다. 

이를  예방하기 위해서는  엉덩이와  안장이 접촉하는 부위를  항상 청결히하고 마찰을  최소화하여야 한다.  안장통증은  보통  엉덩이 모낭의  마찰에 의해 시작되는데 박테리아가 안장 마찰과 압력에 의해 피부속으로 침투해 감염되는것이다.

언급한 바와 같이 마찰과 땀이 안장통증의 주요 원인이므로, 다음과 같은 방법으로 이를 최소화하려는 노력을 해야한다;

1. 올바른  복장을  착용하라. 엉덩이 마찰을  줄이고, 큐션을 주기위해서 chamois나 인조섬유 라이너가 있는 싸이클 쇼트를 입어야 한다. 쇼트는 빨아서 부드럽게  만들고 자주 세척해 준다. 가능하다면 2벌이상을 준비하여  갈아 입는것이 좋다. 

2. 정기적으로 쇼트를  항박테리아 성분이 함유된 비누로 빨아 준다. 또한 샤워를한 후 베이비 파우다를  발라 습기를 제거해 준다.

3. 다른 브랜드의 안장을  실험해 보라. 안장 뒷 부분이 충분이 넓은 것을 선택하여 엉덩이 뼈를 적절히 받혀줄 수 있는것을 고르되 너무 넓어서도 않된다.  안장이 너무 넓으면 마찰의 원인을 제공해 박테리아에 감염될 수 있다. 앉는 자세 측면에서, 안장 뒷쪽 넓은 곳에 앉아서 체중을 잘 분산시키도록하고, 핸들바 높이를 낮춰 체중이 팔과 손으로 이동되도록 하라.

4. 지혜롭게 라이딩하라. 주기적으로 안장에서 일어나 엉덩이 근육을 스트레치하여 준다. 매 30분 마다 15~20초 정도 일어서 주면 충분하다. 

만약, 엉덩이 종기가 심하다면, 고약(drawing salve)를 환부에 발라 종기가 빨리 성숙되도록하여 자연스럽게 짜내는 방법도 있다.

안장 통증을 줄이는 방법

여기서 말하는 통증은 물리적 통증과 관련이 있다.  통증의 원인은 골반뼈를  감싸고 있는 부드려운 피부가 안장에 의해 압착되기 때문이다. 이 통증은 좋은 안장을  사용하고 정기적으로 라이딩하면 자연히 사라지게 된다. 

두번째는 안장 포지션에 의한것이다. 만약 안장이 너무 높으면 엉덩이가 좌우로 흔들려 마찰의 원인이 되어 통증이 유발된다. 이와 반대로, 안장이 너무 낮으면 몸이 안장 코 쪽으로 자꾸 솔려 가랭이 부위에 압력을 주게 된다.  그러므로 안장 높이와 그 기울기를 잘 세팅하여야 한다. 

안장 통증을 줄이는 첫단계는 적절한 안장을 고르는 것이다.  일반적으로 안장의 폭이 좁은 제품은, 경기중 대부분의 시간을 몸을  앞으로 숙여 타야 하는 라이더에게 알맞고, 반면 장거리 선수는 안장 뒷쪽에 앉아 안장에 몸의 체중을 더 실을 필요가 있으므로 약간 폭이 넓은 안장이 좋다. 최근에는 안장통증을 방지하기 위하여 안장 재료에 대한 연구가 활발하며 압력을 경감하기 위해 안장 일부를 도려낸 디자인도 선보이고 있다.

허리 하부 통증
대부분의 허리하부 통증은 심각한 현상이 아니라 작은 부상에 속하는데, 허리근육 남용과 잘못된 자세에서 기인한다. 통증 원인은 신경세포 말단이 비정상적으로 자극을 받아 그 메세지를 척추를 통해 뇌에 전달히기 때문이다.
그러나 여기서 알아 두어야 할것은 싸이클링은 허리를 강하게하는데 아주 좋은 운동이라는것이다. 잘못된 라이딩 자세가 문제인것이다.

대부분의 허리 통증 문제는, 낮은 라이딩 자세에서 손은 핸들 드랍을 잡은채 장시간 라이딩하여 발생한다. 그러므로 라이딩 중 핸들의 여러 부분, 즉 드랍, 브레이크 후드, 탑 등의 부위를 골고루 잡아 주어라.  이렇게 핸들 잡는 부위를 다르게 해주므로서 서로 다른 허리근육을 사용하게 만들며, 근육을 스트레치하게 해주며, 허리 숙이는 각도를 자연히스럽게 바꿀어 줄수 있게 한다. 

긴 오르막을 오를때는, 안장에 앉아 핸들바 탑부분을 잡아주어 힘들게 힘을 발휘할때,  호흡이 용이하도록 하여준다. 그리고 약간 안장 뒷쪽에 앉아 상부와 하부 허리근육을 이용하여 힘이 효과적으로 다리에 전달되도록 한다. 가파른 언덕에서는 주기적으로 안장에서 일어나 손은 브레이크 후드를 잡고, 손의힘, 체중, 허리근육등을 모두 이용해 페달링하도록 한다. 이렇게 할때, 서로다른 허리근육을 사용하게 만들고 약간 스트레치 할수 있으며 긴 오르막을 오를때 근육이 뻐근하거나 피로하지 않게 된다.

훈련 프로그램, 라이딩 포지션, 장비, 훈련지형을 갑자기 변경하지 말며, 주행거리 속력 기어강도 등도 점진적으로 올려야 허리에 무리가 되지 않는다. 

스트레칭을 훈련일상이 되도록하고, 복근강화 운동을 하라. 복근이 약하면 허리가 안쪽으로 휘어지게 되어 하부허리 근육 디스크 인대등에 비이상적인 압력이 가해지게 된다.

그래도 허리통증이 계속되면, 1~2주간 자전거를 타지 않는것이 좋다.

마지막으로, 차가운 기후에 자전거를 탈때는 긴 져지를 입어 허리를 충분히 덮을 수 있도록해야 한다.

근육 통증
운동후 찾아오는 근육통은 주요 근육그룹의 과도한 사용에의한것으로 부터, 개개근육섬유에 오는 작은 통증 등 다양하다. 통증이 있는 근육을 움직임으로서 점진적으로 정상상태로 회복할 수 있으나, 손상된 근육이 완전히 회복할때 까지는 최대의 강도로 훈련할 수 없을것이다.  이러한 일반적인 근육통을 치료하는 방법으로는 스트레칭, 온탕목욕, 사우나 등이 좋다. 일부 선수들은 근육통으로부터 오는 통증과 부기를 빼기위해서 아스프린이나, 소염제를 복용하기도 한다.   

만성 근육통을 치료하는것은 상대적으로 간단하다. 근육의 힘과 지구력을 키우기 위한 훈련을 점진적으로 증가시키도록 하며, 운동전에 충분히 웝업하고 스트레칭하라.

무릎통증
이는 훈련 과다에 의한것으로 사이클리스트에게 가장 흔한 통증이기도 하다. 엘리트 사이클리스트들을 검사한 결과에 의하면 무릎통증의 63%가 앞무릎 (anterior knee) 통증이였고, 21%는 무릎중간 (medial knee)에 발생하는 통증이였다. 이를 해결하기 위해서는, 훈련방법을 변경하고, 휴식을 취하며, 얼음 마사지, 바이크 포지션등을 조절해야한다.

안장의 높이가 너무 낮고, 무리한 힘을 사용하면 페달스트록이 정점에(12시방향) 있을때 불필요한 힘을 무릎에 가하게 되는것이다. 이와 반대로 안장이 너무 높으면 무리하게 발을 뻗기 위해서 무릎 뒷부분에 있는 힘줄과 인대에 부당한 스트레스를 주게된다.

발바닥의 페달위 위치도 중요한데, 클립리스 페달을 사용하여 발이 몇도 정도 자유로이 좌우로 움직일수 있도록하여 무릎인대에 가해지는 스트레스를 줄이도록 하라.

추운 날씨는 반듯이 타이츠를 입어 다리를 보온해준다.

발바닥 통증 (hot feet)
발바닥 통증이란 클릿과 접촉하는 발바닥 부위가 무감각해지는 경험이다. 이에 대한 치료법은 첫째, 신발의 폭이 충분히 넓은지 확인하라. 2. 앏은 신발창을 깔것을 고려해 보라.  3. 그래도 문제가 지속되면, 나이론 신발보다는 가죽제품을 사용해 보라.  4. 신발끈이 있는것 보다는 짝짝이가 있는 타입을 사용하라. 짝짝이 타입은 장거리 라이딩을 할때 발이 부어오르면 쉽게 신발 조임을 조절할 수 있다.

손바닥 통증
척골 신경 (ulnar nerve)은 팔에 있는 중요한 신경인데 팔 하박 안쪽을 지나 손바닥으로 들어간다.  증상으로는 무감각증, 그립 잡는힘의 약화, 네번째 다섯번째 손가락 근력의 상실등이다. 장갑을 착용하지 않거나, 핸들바 그립의 질이 좋지 않은것을 사용하거나 부적절한 라이딩 포지션을 취할때 영구적으로 손바닥 신경이 사멸할 수 있다.  그러므로 핸들바를 조절하여 몸의 체중이 잘 분산되도록하고, 양질의 그립과 장갑을 사용하여 손바닦 통증을 예방/감소시켜야 한다. 

 

Posted by 보미아빠
, |

업힐~

카테고리 없음 / 2015. 9. 14. 09:56

https://namu.wiki/w/%EC%97%85%ED%9E%90/%EC%84%9C%EC%9A%B8%C2%B7%EA%B2%BD%EA%B8%B0

Posted by 보미아빠
, |

ramdrive free

카테고리 없음 / 2015. 9. 8. 03:03

http://blogger.pe.kr/252

Posted by 보미아빠
, |

sp_configure 'remote query timeout', 0
go
reconfigure with override
go

Posted by 보미아빠
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함