초간단!

 

SQL Server 2012에 SQL Server 2008 R2 SSMS 접속 시 보이지 않는 Object들이 어떤 것들인지 그림으로 표현해 봤습니다.

RC0 기준이며, Enterprise Edition입니다.

 

2012_SSMS.png

 

2008R2_SSMS.png


1. AlwaysOn High Availability

 : 2012부터 추가된 HA 구성으로 Failover Cluster의 확장판 격입니다.

  가장 큰 차이 중 하나는 이전과 달리 Database Level의 FailOver Cluster가 가능하다는?

 http://msdn.microsoft.com/en-us/sqlserver/gg490638

 

2. 확장이벤트

 : SQL Server의 성능 및 시스템 모니터링을 위해 사용되는 기능입니다.

   다만, 이전 2008과 달리 별도로 메뉴가 신설되었습니다.

 http://technet.microsoft.com/ko-kr/library/bb630282(v=sql.110).aspx

 

3. Intergration Services 카탈로그

 : SSIS 패키지 관리를 위한 메뉴입니다.

  물론, SSIS 관련기능은 2005부터 제공이 되지만,

  2012에서는 별도의 메뉴가 신설되었습니다.

  이로 인해 별도의 Intergration Services Instance로 연결하지 않아도 되겠습니다.

  원래는 SSIS 로 별도 연결했었죠 아마...

  http://msdn.microsoft.com/ko-kr/library/ms137731(v=sql.110).aspx

 

이상입니다. ^^.

안녕하세요? SQL프론티어 3기 윤선식입니다.

 

각 버젼별 암호화 알고리즘을 정리해 보았습니다.

SQL 2012의 경우 RTM이 나와 봐야 알겠지만, 아마 크게 변경되진 않으리라 예상됩니다.

 

참고로, 여기서 이야기하는 양방향과 단방향은 아래 기준에 의해 편의상 정한 용어이오니 혼돈 없기 바랍니다.

 - 양방향 : 암호화, 복호화가 가능한 것.

 - 단방향 : 복호화가 불가능하고 암호화만 가능한 것.

 

1. 양방향

 1) SQL Server 2005 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.90).aspx

  DES, Triple DES, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 2) SQL Server 2008 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.100).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 3) SQL Server 2008 R2 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.105).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 4) SQL Server 2012 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(en-us,SQL.110).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-bit RC4, DESX, 128-bit AES, 192-bit AES, and 256-bit AES

 

2. 단방향(Hash)

 1) SQL Server 2005 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.90).aspx

  MD2, MD4, MD5, SHA, SHA1

 

 2) SQL Server 2008 암호화 알고리즘(단방향)

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

  MD2, MD4, MD5, SHA, SHA1

 

 3) SQL Server 2008 R2 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.105).aspx

  MD2, MD4, MD5, SHA, SHA1

 

 4) SQL Server 2012 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.110).aspx

  MD2, MD4, MD5, SHA, SHA1, SHA2_256, SHA2_512

 

이상입니다.


안녕하세요? SQL 프론티어 3기 쓸만한게없네(윤선식)입니다.

 

지난 번 ISDATE 함수에 이은 ISNUMERIC 함수 설명입니다. ^^.

 http://www.sqler.com/467518

 

ISNUMERC 함수는 ISDATE(표현) 이런 식으로 사용하고, 숫자형식인 경우 1 숫자형식이 아닌 경우 0을 반환합니다.

 

SELECT

       ISNUMERIC('1234') AS '1',

       ISNUMERIC('A587') AS '2',

       ISNUMERIC('222!') AS '3',

       ISNUMERIC('123l123') AS '4',

       ISNUMERIC('157.123') AS '5',

       ISNUMERIC(NULL) AS '6',

       ISNUMERIC('') AS '7',

       ISNUMERIC('0') AS '8',

       ISNUMERIC('12345678901234567890') AS '9',

       ISNUMERIC('1234567890123456789012345678901234567890123456789012345678901234567890') AS '10',

       ISNUMERIC('1.234567890123456789012345678901234567890123456789012345678901234567890') AS '11'

ISNUMERIC.png

 

1 : ISNUMERIC('1234') AS '1' : 숫자 형태입니다. "1"을 반환합니다.

2 : ISNUMERIC('A587') AS '2' : 문자가 포함되어 있습니다. "0"을 반환합니다.

3 : ISNUMERIC('222!') AS '3' : 특수문자가 포함되어 있습니다. "0"을 반환합니다.

4 : ISNUMERIC('123l123') AS '4' : 지난 번 ISDATE 함수 속임수 처럼 중간에 1이 아닌 L 이 있습니다. "0"을 반환합니다.

5 : ISNUMERIC('157.123') AS '5' : 소숫점을 포함해 봅니다. 숫자형태로 인식하여 "1"을 반환합니다.

6 : ISNUMERIC(NULL) AS '6' : NULL은 숫자로 인식하지 않습니다. "0"을 반환합니다.

7 : ISNUMERIC('') AS '7' : 공백도 숫자로 인식하지 않습니다. "0"을 반환합니다.

8 : ISNUMERIC('0') AS '8' : 0 은 숫자입니다. "1"을 반환합니다.

9 : ISNUMERIC('12345678901234567890') AS '9' : BIGINT 보다 큰 수를 대입해 봅니다. 숫자로 인식하여 "1"을 반환합니다.

10 : ISNUMERIC('1234567890123456789012345678901234567890123456789012345678901234567890') AS '10' : 매우 큰 숫자형태를 대입해 봅니다. 이 또한 형태가 숫자이어서 전체 자릿수와 상관없이 숫자로 인식합니다. 그러므로, "1"을 반환합니다.

11 : ISNUMERIC('1.234567890123456789012345678901234567890123456789012345678901234567890') AS '11' : 매우 큰 소숫점 형태를 대입해 봅니다. 이 또한 형태가 숫자이어서 전체 소숫점 자릿수와 상관없이 숫자로 인식합니다. 그러므로, "1"을 반환합니다.

 

결론적으로 숫자로 인식할 수 있는 모든 문자를 숫자형태로 보고 있습니다.

실무에서 사용할 때에는 단순하게 사용할 것이 아니라 DataType을 반드시 확인하고 사용해야 할 듯 합니다.

 

감사합니다.


코드명 지을 때 지역 명칭인 건 다 아시죠?

 

Denali는 알래스카 내부에 위치한 맥킨리 산을 의미합니다.

즉 알래스카에 있는 국립공원이 있는 곳이라고 보시면 될 듯 하네요.

 

Denali_National_Park.jpg

 

멋지죠?


http://www.sqler.com/467497 이 글에 있어서 ㅋ. 예전에 알던 자료와 조금 더 테스트해서 삽질한 것을 좀 정리해 봤습니다.

 

ISDATE 함수는 ISDATE(표현) 이런 식으로 사용하고, 날짜형식인 경우 1 날짜형식이 아닌 경우 0을 반환합니다.

 

SELECT

       ISDATE('20120101') AS '1',

       ISDATE('2012/01/01') AS '2',

       ISDATE('2012-01-01') AS '3',

       ISDATE('12-01-01') AS '4',

       ISDATE('2012-04-31') AS '5',

       ISDATE(NULL) AS '6',

       ISDATE('201l-12-31') AS '7',

       ISDATE('123') AS '8',

       ISDATE('2012-01-01 15:55:59.455') AS '9',

       ISDATE('2012-01-01 15:55:59.4551') AS '10',

       ISDATE('1752-12-31') AS '11',

       ISDATE('1753-01-01') AS '12',

       ISDATE('2999-01-01') AS '13',

       ISDATE('9999-12-31') AS '14',

       ISDATE('01/2012/12')AS '15',

       CONVERT(DATETIME,'01/2012/12') AS 'DATETIME-01/2012/12'

ISDATE.png

 

1 : ISDATE('20120101') AS '1' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
2 : ISDATE('2012/01/01') AS '2' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
3 : ISDATE('2012-01-01') AS '3' : 기본 날짜 형태 중 하나입니다. "1"을 반환합니다.
4 : ISDATE('12-01-01') AS '4' : 기본 짧은날짜 형태 중 하나입니다. "1"을 반환합니다.
5 : ISDATE('2012-04-31') AS '5' : ISDATE 함수는 이럴 때 빛을 발하죠... 4월 31일은 없습니다.  "0"을 반환합니다.
6 : ISDATE(NULL) AS '6' : NULL 값일 경우 "0"을 반환합니다.
7 : ISDATE('201l-12-31') AS '7' : '어, 이상한데? 1이 되어야 하는 거 아닌가?' 하지만 잘 보면 2011이 아니라 201L 입니다.  "0"을 반환합니다.

8. ISDATE('123') AS '8' : 날짜형태라고 볼 수 없죠. 당연히 "0"을 반환합니다.
9 : ISDATE('2012-01-01 15:55:59.455') AS '9' : ISDATE 함수는 초의 소수점 세 자리까지 받아들일 수 있습니다. "1"을 반환합니다.
10 : ISDATE('2012-01-01 15:55:59.4551') AS '10' : 9번 설명과 같습니다. 소수점 자리수 초과로 "0"을 반환합니다.
11 : ISDATE('1752-12-31') AS '11' : '어, 이것도 날짜 맞잖아.' 네. 맞습니다. 하지만 "0"을 반환합니다.

  요건 이 글 참조요~

   http://www.sqler.com/271895#comment_271983
12 : ISDATE('1753-01-01') AS '12' : 윗 글을 읽으셨나요? 이제 왜 위의 날짜와 하루 차이인데 "1"을 반환하는 지 아실 겁니다. ^^.
13 : ISDATE('2999-01-01') AS '13' : 아직 오지 않은 2999년. 다들 그 때까지 살아 계실 거죠? 정상적인 일자로 "1"을 반환합니다.
14 : ISDATE('9999-12-31') AS '14' : 이제 조금 더 가 보겠습니다.. 9999년 12월 31일. 네... 오래 사세요. "1"을 반환합니다.
15 : ISDATE('01/2012/12')AS '15' : 년-월-일 같은 형태와 달리 월-년-일로 처리해 보았습니다. "1"로 반환하네요. 날짜로 인식합니다.
16 : CONVERT(DATETIME,'01/2012/12') AS 'DATETIME-01/2012/12' : 15번에 대해 어떻게 인식하는지 직접 보여 드립니다.

   

참고로 이 결과는 국가나 언어설정에 따라 조금 다른 차이가 있을 수 있습니다.

다만, 그 부분에 대해서는 다루지 않았으니 주의해 주세요...

 

감사합니다.

+ Recent posts