블로그 이미지
bedbmsguru

Notice

Recent Post

Recent Comment

Recent Trackback

Archive

calendar

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 31
  • total
  • today
  • yesterday
2012. 4. 19. 10:25 SQL SERVER

pwdencrypt()  function 으로 데이타를 저장하고

pwdcompar('비교대상값', DB칼럼이름) 로 결과를 비교한다.


create table temp_T
(
    aaa varchar(100) not null,
    abc varbinary(200) not null
)

insert into temp_T values('abc', pwdencrypt('abc'))


select pwdcompare('add', abc) from temp_T where aaa='abc'


pwdcompar 결과가 일치할 경우 1 틀릴경우에는 0이 리턴됨

posted by bedbmsguru


1. 시작 -> 관리도구 -> 원격 데스크톱 서비스 -> 원격 데스크톱 세션 호스트 구성--> 사용자당 세션을 하나로 제한

을 체크 해지하면 된다.

posted by bedbmsguru
제어판 -> 프로그램 및 기능 -> Windows 기능 사용/사용안함 ->
서버 관리자 -> 기능 -> 기능 추가 -> 텔넷 클라이언트

posted by bedbmsguru
2012. 3. 13. 15:59 JAVASCRIPT

간단하다.

단 getElementById가 object의 name이 아니고 object의 id 값으로 한다.

이미지 변경
opener.document.getElementById("id값").src='<%=photoURL%>'

텍스트 변경
opener.document.getElementById("id값").value='새로운 값'
posted by bedbmsguru
2011. 10. 6. 14:33 ANDROID

출처:http://blog.naver.com/blackzaket/80101582245


리소스에서 bitmap을 읽어오고 화면에 출력한 후 touch를 이용해서 drag하는 예제

package com.jjihun.bitmaptest;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;

public class BitmapView extends View {
 Bitmap bitmap;
 int width;
 int height;
 int dx;
 int dy;
 public BitmapView(Context context, AttributeSet attrs) {
  super(context, attrs);

  bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.yuandi);
  // 얘 뒤져보면 byte[] 에서 bitmap생성하는 것도 있심

  width = bitmap.getWidth();
  height = bitmap.getHeight();
 }

 @Override
 protected void onDraw(Canvas canvas) {
  canvas.drawBitmap(
     bitmap, // 출력할 bitmap
     new Rect(0,0,width,height),   // 출력할 bitmap의 지정된 영역을 (sub bitmap)
     new Rect(dx,dy,dx+width,dy+height),  // 이 영역에 출력한다. (화면을 벗어나면 clipping됨)
     null);

  super.onDraw(canvas);
 }

 @Override
 public boolean onTouchEvent(MotionEvent event) {
  
  switch(event.getAction()) {
  case MotionEvent.ACTION_DOWN:
   break;
  case MotionEvent.ACTION_UP:
   break;
  case MotionEvent.ACTION_MOVE:
// 주루룩 drag했을 경우 히스토리가 모두 기록되어서 전달됨
   int length=event.getHistorySize();
   float sx, sy, ex, ey;
   
   if (length != 0) {
    sx = event.getHistoricalX(0);
    sy = event.getHistoricalY(0);
    ex = event.getHistoricalX(length-1);
    ey = event.getHistoricalY(length-1);

    dx += (int)(ex-sx);
    dy += (int)(ey-sy);
   }
   invalidate();
   break;
  }
  
  return true;
 }
}
posted by bedbmsguru
2011. 7. 7. 08:31 SQL SERVER
원문출처
http://www.databasejournal.com/features/mssql/sql-server-index-t-sql-statements.html

 Find all Indexes

The following query can be used to query all the tables, columns and indexes on the current database:


SELECT OBJECT_SCHEMA_NAME(BaseT.[object_id],DB_ID()) AS [Schema],
BaseT.[name] AS [table_name], I.[name] AS [index_name], AC.[name] AS [column_name],
I.[type_desc]
FROM sys.[tables] AS BaseT
INNER JOIN sys.[indexes] I ON BaseT.[object_id] = I.[object_id]
INNER JOIN sys.[index_columns] IC ON I.[object_id] = IC.[object_id]
INNER JOIN sys.[all_columns] AC ON BaseT.[object_id] = AC.[object_id] AND IC.[column_id] = AC.[column_id]
WHERE BaseT.[is_ms_shipped] = 0 AND I.[type_desc] <> 'HEAP'
ORDER BY BaseT.[name], I.[index_id], IC.[key_ordinal]

Fragmentation

The following query can be used to find the index fragmentation on all the tables in the current database:


SELECT object_name(IPS.object_id) AS [TableName],
SI.name AS [IndexName],
IPS.Index_type_desc,
IPS.avg_fragmentation_in_percent,
IPS.avg_fragment_size_in_pages,
IPS.avg_page_space_used_in_percent,
IPS.record_count,
IPS.ghost_record_count,
IPS.fragment_count,
IPS.avg_fragment_size_in_pages
FROM sys.dm_db_index_physical_stats(db_id(DB_NAME()), NULL, NULL, NULL , 'DETAILED') IPS
JOIN sys.tables ST WITH (nolock) ON IPS.object_id = ST.object_id
JOIN sys.indexes SI WITH (nolock) ON IPS.object_id = SI.object_id AND IPS.index_id = SI.index_id
WHERE ST.is_ms_shipped = 0
order by IPS.avg_fragment_size_in_pages desc

 Missing index

SQL Server keeps track of the indexes that it thinks you should create that will help in improving the performance of queries. The following query list all missing indexes.


SELECT sys.objects.name
, (avg_total_user_cost * avg_user_impact) * (user_seeks + user_scans) AS Impact
, 'CREATE NONCLUSTERED INDEX ix_IndexName ON ' + sys.objects.name COLLATE DATABASE_DEFAULT + ' ( ' + IsNull(mid.equality_columns, '') + CASE WHEN mid.inequality_columns IS NULL
THEN ''
ELSE CASE WHEN mid.equality_columns IS NULL
THEN ''
ELSE ',' END + mid.inequality_columns END + ' ) ' + CASE WHEN mid.included_columns IS NULL
THEN ''
ELSE 'INCLUDE (' + mid.included_columns + ')' END + ';' AS CreateIndexStatement
, mid.equality_columns
, mid.inequality_columns
, mid.included_columns
FROM sys.dm_db_missing_index_group_stats AS migs
INNER JOIN sys.dm_db_missing_index_groups AS mig ON migs.group_handle = mig.index_group_handle
INNER JOIN sys.dm_db_missing_index_details AS mid ON mig.index_handle = mid.index_handle AND mid.database_id = DB_ID()
INNER JOIN sys.objects WITH (nolock) ON mid.OBJECT_ID = sys.objects.OBJECT_ID
WHERE (migs.group_handle IN
(
SELECT TOP (500) group_handle
FROM sys.dm_db_missing_index_group_stats WITH (nolock)
ORDER BY (avg_total_user_cost * avg_user_impact) * (user_seeks + user_scans) DESC))
AND OBJECTPROPERTY(sys.objects.OBJECT_ID, 'isusertable')=1
ORDER BY 2 DESC , 3 DESC

 Unused index

The following statement lists all the indexes that have not been used. This also generates the DROP index statement which can come handy when deleting the indexes.


SELECT o.name, indexname=i.name, i.index_id
, reads=user_seeks + user_scans + user_lookups
, writes = user_updates
, rows = (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id)
, CASE
WHEN s.user_updates < 1 THEN 100
ELSE 1.00 * (s.user_seeks + s.user_scans + s.user_lookups) / s.user_updates
END AS reads_per_write
, 'DROP INDEX ' + QUOTENAME(i.name)
+ ' ON ' + QUOTENAME(c.name) + '.' + QUOTENAME(OBJECT_NAME(s.object_id)) as 'drop statement'
FROM sys.dm_db_index_usage_stats s
INNER JOIN sys.indexes i ON i.index_id = s.index_id AND s.object_id = i.object_id
INNER JOIN sys.objects o on s.object_id = o.object_id
INNER JOIN sys.schemas c on o.schema_id = c.schema_id
WHERE OBJECTPROPERTY(s.object_id,'IsUserTable') = 1
AND s.database_id = DB_ID()
AND i.type_desc = 'nonclustered'
AND i.is_primary_key = 0
AND i.is_unique_constraint = 0
AND (SELECT SUM(p.rows) FROM sys.partitions p WHERE p.index_id = s.index_id AND s.object_id = p.object_id) > 10000
ORDER BY reads

Index Maintainenance

Rebuild index

When an index gets fragmented, it requires defragmentation. Defragmentation can be done using the rebuild clause when altering a table. This command is equivalent to DBCC DBREINDEX in SQL Server versions prior to 2005. The command that can be used to rebuild the index is as follows:


USE AdventureWorks2008R2;
GO
ALTER INDEX PK_Employee_BusinessEntityID ON HumanResources.Employee
REBUILD;
GO

If ALL is not specified in rebuild, it will not rebuild a nonclustered index.

REORGANIZE index

Specifies that the index leaf level will be reorganized. The REORGANIZE statement is always performed online. This command is equivalent to DBCC INDEXDEFRAG in SQL Server versions prior to 2005.


USE AdventureWorks2008R2;
GO
ALTER INDEX PK_ProductPhoto_ProductPhotoID ON Production.ProductPhoto
REORGANIZE ;
GO

posted by bedbmsguru
2011. 6. 29. 11:12 SQL SERVER


원문 출처
http://blog.sqlauthority.com/2007/04/29/sql-server-random-number-generator-script-sql-query/


가장 간단한 방법만 퍼왔다. 요긴하게 쓸 수 있을듯.ㅋㅋ
Method 3 : Random Numbers Quick Scripts
---- random float from 0 up to 20 - [0, 20)
SELECT 20*RAND()
-- random float from 10 up to 30 - [10, 30)
SELECT 10 + (30-10)*RAND()
--random integer BETWEEN 0
AND 20 - [0, 20]
SELECT CONVERT(INT, (20+1)*RAND())
----random integer BETWEEN 10
AND 30 - [10, 30]
SELECT 10 + CONVERT(INT, (30-10+1)*RAND()


posted by bedbmsguru
2011. 5. 19. 14:13 SQL SERVER
시스템에 맞는 버전의 첨부파일을 다운 받는다.
Microsoft SQL-DMO (ODBC SQLState: 42000)
70.dll DLL 또는 이 DLL이 참조하는 DLL 중 하나를 로드할 수 없습니다. 이유: 126(지정된 모듈을 찾을 수 없습니다.).
--sql 설치 경로
D:\Microsoft SQL Server\MSSQL\Binn
여기에다가 xplog70.dll 를 집어넣는다.


posted by bedbmsguru
2011. 3. 13. 17:28 ANDROID
Android Framework Parser: failed to collect preference classes PermGen space

안드로이드 SDK3.0을 설치했더니 위와 같은 에러가...ㅡ.ㅡ

eclipse설치 폴더에 있는 eclipse.ini파일에서 아래의 붉은색 부분을 추가해주면해결된다.

-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=128m
-Xms512M
-Xmx512M

posted by bedbmsguru
2011. 3. 9. 16:38 SQL SERVER
CREATE IINDEX [INDEX_NAME] ON TABLE
(
    column,....
)
INCLUDE(column, ...)

-INCLUDE절에 지정된 non-key column을 noncluster index의 leaf레벨에 저장하여 covered index 수준의 성능을 낼 수 있도록 해준다.
-Where 절에 나오는 칼럼은 key-column으로 그냥 select list에만 나오는 칼럼은 non-key column으로 세팅한다.


0. include절에 나오는 칼럼은 update가 되더라도 index를 다시 정렬하지 않아도 되기때문에 DISK I/O를 줄일 수 있다.
1. Index의 크기가 900byte를 넘더라도 인덱스 생성이 가능하다.
2. 16개로 제한된 Index key column갯수의 제한을 받지 않는다.
3. non-key column 에는 text, ntext, and image 를 제외한 모든 데이타 타입이 가능하다.
posted by bedbmsguru