Maystyle :
Admin : New post
Guestbook
Local
media
Catergories
Recent Articles
Recent Comments
Recent Trackbacks
Calendar
Tag
Archive
Link
Search
 
해당되는 게시물 67건
  system database 를 rebuild 할 때 설치 위치가 바뀌면 설치가 않되네요…;; 
작성일시 : 2010.08.04 13:52 | 분류 : SQL Server/Administration

http://support.microsoft.com/kb/943635

Master DB Rebuild 를 할 때 만약 설치 위치가 바꿨다면, 그에 따른 레지스트리 키를 변경해 줘야 합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\<Product_Code>\SourceList\LastUsedSource

  그냥 Collate 바꾸다가 심심해서 만들어봅니다. 
작성일시 : 2010.08.04 12:27 | 분류 : SQL Server/Administration

create table t2 ( a varchar(30))
create table t3 ( a varchar(30) collate Korean_Wansung_CS_AS)

select a.name as table_name, b.name as column_name, b.collation_name
    from sys.objects as a join sys.all_columns as b on a.object_id = b.object_id
    where a.name = 't2'
select a.name as table_name, b.name as column_name, b.collation_name
    from sys.objects as a join sys.all_columns as b on a.object_id = b.object_id
    where a.name = 't3'

ALTER TABLE t3 ADD CONSTRAINT CK_TEST
    CHECK (a = 'A')
select 'ALTER TABLE ' + (select name from sys.objects where object_id=a.parent_object_id) + ' DROP CONSTRAINT ' + a.name
    from sys.objects as a
    where type_desc = 'CHECK_CONSTRAINT'

CHECK CONSTRAINT는 스크립트 생성기에서 발췌하면 되는 PK와 FK 제약 조건은 그렇게 하면 잘 않되는 군요… 작업일에는 그냥 손으로 다 발췌했지만, 자동화를 시키긴 시켜야 할꺼 같습니다.

select * from sys.columns where collation_name = 'Korean_Wansung_CS_AS'
select * from INFORMATION_SCHEMA.COLUMNS

select 'alter table ' + a.name + ' alter column ' +
    (select data_type + '(' + CAST(character_maximum_length AS varchar(10))+')'
        from INFORMATION_SCHEMA.COLUMNS
        where TABLE_NAME = a.name and COLUMN_NAME = b.name)
    + ' collate Korean_Wansung_CS_AS'
    from sys.objects as a join sys.all_columns as b on a.object_id = b.object_id
    where b.collation_name != 'Korean_Wansung_CI_AS' and a.name like 't%'

select a.name as table_name, b.name as column_name, b.collation_name
    from sys.objects as a join sys.all_columns as b on a.object_id = b.object_id
    where b.collation_name != 'Korean_Wansung_CI_AS' and a.name like 't%'

ALTER DATABASE aaa SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE aaa COLLATE Korean_Wansung_CS_AS
ALTER DATABASE aaa SET MULTI_USER

  DB 복구하기 
작성일시 : 2010.07.20 14:35 | 분류 : SQL Server/Administration

ALTER DATABASE ‘DB Name’ SET EMERGENCY;

ALTER DATABASE [DB Name] SET SINGLE_USER WITH NO_WAIT

DBCC CHECKDB (DB Name,REPAIR_ALLOW_DATA_LOSS)
이 부분이 DB 를 복구하는 주요 포인트 입니다. 예를 들어 데이터를 쓸 없어 문제가 생긴 경우 로그가 소실된 경우 등등 각 CASE에 맞춰 Fix를 진행하면 됩니다. 위의 경우에는 데이터가 소실되더라도 DB를 살린다는 의미입니다.

ALTER DATABASE DB Name SET ONLINE;

ALTER DATABASE [DB Name] SET MULTI_USER WITH NO_WAIT

  Batch Compilation, Recompilation, and Plan Caching Issues in SQL Server 2005 
작성일시 : 2010.06.07 14:24 | 분류 : SQL Server/Administration

http://technet.microsoft.com/en-us/library/cc966425.aspx

This paper explains how batches are cached and reused in SQL Server 2005, and suggests best practices on maximizing reuse of cached plans. It also explains scenarios in which batches are recompiled, and gives best practices for reducing or eliminating unnecessary recompilations.

본 문서에서는 SQL 2005 서버에서 배치들이 어떻게 캐쉬 되고 재 사용되는 지를 설명합니다, 그리고 캐쉬된 플랜들의 재사용을 최대화 하는데 최상의 예를 제시합니다. 이 문서는 또한 배치들이 리컴파일 되는 예를 통해서 불필요한 리컴파일을 줄이고 제거하는 최상의 예를 전달합니다.

  SQL Server 2008 R2 Benchmarks 
작성일시 : 2010.06.07 14:13 | 분류 : SQL Server/Administration

TPC-E 는 2007년 2월에 소개된 OLTP (일반 RDB) 을 위한 성능 측정 자료 입니다.
TPC-H 는 업무에 특성화된 ad-hoc 쿼리나 Concurrent 데이터의 변경에 대한 성능 측정 자료 입니다.

자세한 내용은 아래 자료를 참고하시기 바랍니다.
http://www.microsoft.com/sqlserver/2008/en/us/benchmarks.aspx

  대량 Insert 작업을 위한 락 레벨 설정 
작성일시 : 2010.03.04 09:41 | 분류 : SQL Server/Administration

테이블 잠금을 사용하지 않을 경우 table lock on bulk load 옵션이 on으로 설정되지 않으면 기본적으로 행 수준 잠금이 사용됩니다. sp_tableoption을 사용하여 table lock on bulk load 옵션을 설정하면 대량 가져오기 작업을 수행하는 동안 테이블에 대해 잠금 동작이 설정됩니다.

image

sp_tableoption 'dbo.bulkTest’, ‘table lock on bulk load’, ‘ON’;

아니면 아래와 같이 해당 구문 이용 시 힌트를 이용할 수 있습니다.

image

http://msdn.microsoft.com/ko-kr/library/ms180876.aspx
http://msdn.microsoft.com/ko-kr/library/ms173530.aspx

  This property may not exist for this object, or may not be retrievable due to insufficient access rights. 
작성일시 : 2010.02.25 15:42 | 분류 : SQL Server/Administration

Database 에서 속성을 클릭했더니… 왠걸 아래와 같은 메세지가 발생 함께 실패하는 군요.

Cannot show requested dialog.
Additional information:
Cannot show requested dialog. (SqlMgmt)
Property Owner is not available for Database ’[     ]’.  This property may not exist for this object, or may not be retrievable due to insufficient access rights.
(Microsoft.SqlServer.Smo)

image

보통은 원래 있었던 DBO 로그인이 삭제되어서 발생 하는 문제라고 합니다.
해결방법은 간단하군요. Database의 Owner를 변경해 주시면 됩니다.

USE UserDB
EXEC sp_changedbowner 'sa'

출처 : http://www.sqlcoffee.com/Troubleshooting011.htm

  Scary SQL Server stuff: tombstones, phantoms, blobs, ghosts and zombies 
작성일시 : 2009.12.11 10:57 | 분류 : SQL Server/Administration

원문 : http://blogs.technet.com/josebda/archive/2009/10/31/scary-sql-server-stuff-tombstones-phantoms-blobs-ghosts-and-zombies.aspx

본 포스트는 할로윈의 정신과 SQL Server를 향한 열정을 담고 있어

당신은 SQL Server의 공포영화와 같은 소소한 부분들을 알고 있는가? SQL Server의 지식도 태스트 하고 즐거운 할로윈 게임도 즐길 겸 아래의 SQL Server에 관련된 몇가지 상황에 답해 보도록해!
만약 어렵다면 링크를 따라가던가...

- Tombstones
녀석은 너의 사라진 데이터에 대한 표시라 할 수 있지. 만약 네가 그들을 지키지 못한 다면 너의 미팅은 죽지 못한채로 끝나게 될것이야...
http://msdn.microsoft.com/en-us/library/ms186771.aspx
- Phantoms
그들은 보이지만 존재하지는 않지. 이러한 유령같은 쿼리들은 적절한 격리 설정을 통해 피할 수 있어.
http://msdn.microsoft.com/en-us/library/ms186771.aspx
- Deadlocks
Hairy 트렌젝션들이 서로 충돌할때 이상한 일이 일어나곤해. 만약 그들 중 하나가 당신 주위를 감싸고 있다면, 네가 바로 희생자가 될 수도 있어. 
http://msdn.microsoft.com/en-us/library/ms178104.aspx
- Blobs
오, 당신의 데이터베이스의 생기를 모두 빨아들이는 엄청난 일을 하는 악몽과 같은 놈... 네가 할 수 있는 일 이 물줄기를 눌려서 줄이는 수 밖에... 
http://msdn.microsoft.com/en-us/library/3517w44b.aspx
- Kill.
왜 데이터베이스는 이런 명령어를 필요로 하는 걸까? 그래... 확인해 보독해 넌은 필요치 않는 명령을 수행했을지도 몰라.
http://msdn.microsoft.com/en-us/library/ms173730.aspx
- Crypt properties.
데이터베이스의 보안을 위하여 사용하는 기술로써 절대로 키를 분실 하지 않도록 하길 바래
http://msdn.microsoft.com/en-us/library/ms189536.aspx
- Hash Match.
이는 누가 가장 빠른 공포인가를 확인하기 위한 경쟁이 아니야.
http://msdn.microsoft.com/en-us/library/aa237090.aspx
- Drop user.
결국 모든 사용자는 영원할 수 없어.
http://msdn.microsoft.com/en-us/library/ms189438.aspx
- Ghost rows.
모든 유령군대는 완벽하게 정렬하고 있나? 실제로는 그렇지 않아. 
http://msdn.microsoft.com/en-us/library/ms188436.aspx
- Zombie rowsets.
좀비가 없는 할로윈은 할로인이라 할 수 없지.
http://msdn.microsoft.com/en-us/library/aa258325.aspx
- Execute reader.
누구나 당신의 데이터를 읽을 수 있다는 저주처럼 들리지만, 실제로는 이는 유용하고 빠릅단 말이야...
http://msdn.microsoft.com/en-us/library/9kcbe65k.aspx
- Shadow Copies.
들리는 만큼 무섭지는 않지만... 네 데이터가 문제에 빠지고 있거나, 네가 이 Shadow Copy를 가지고 있지 않을때, 더욱 무섭게 다가올 것이야.
http://msdn.microsoft.com/en-us/library/cc966520.aspx
- Nested Triggers.
옥상에서 당신을 쏘기 위해 기다리고 있는 저격수 같은 놈이지. 하지만 이 이상 설명하기는 어려워... http://msdn.microsoft.com/en-us/library/ms190739.aspx
- RIP.
이는 비문이 아니야. 이는 당신이 접근할 수 있는 접근 레벨을 명확히 하고 또한 준수할 수 있도록 도와주는 방법이지.
http://msdn.microsoft.com/en-us/library/bb326650.aspx
물론 많은 마법사들이 곧곧에 있지...
당신도 알고 있는게 있다면 블로그 포스트의 코멘트를 통해서 공유해주기 바래

PS 카렌 아줌마의 아무 끔찍한 결과를 초래하는 Halloween Problem (http://en.wikipedia.org/wiki/Halloween_Problem) 에 대해서도 기억하고 있지. 현재의 SQL Server와는 관계 없지만 SQL Server 7과 관련이 있었던... http://support.microsoft.com/kb/248441.

Happy Halloween! 흠하하하하!

  Linked Server 는 어떤 성능 상의 문제가 발생 할 수 있을까? 
작성일시 : 2009.07.28 10:38 | 분류 : SQL Server/Administration

Linked Server의 경우 구현은 쉽지만,
구현한 이후 성능을 최선의 성능을 확보하는 것은 많은 노력과 비용이 필요합니다.

1. 기술적으로 SQL Server 간의 Linked Server 연결은 전혀 문제가 없습니다.
2. Linked Server에서 발생 하는 Transaction이 많은 경우 성능 문제가 발생 할 수 있습니다.

Linked Server 상에서의 성능 문제

1. 두 서버의 Collation 이 같아야 합니다.
해당 Collation이 같은 경우 아래와 같은 명령을 실행 하여, Collation 검사를 피할 수 있습니다.  
LSP_SERVEROPTION "collation compatible" option to true
하지만 해당 서버의 Collation이 다르다면 서버 성능은 10 ~ 100배 수준으로 느려 질 수 있습니다.

2. 아래와 같은 작업은 Linked 서버에서 성능 이슈를 일으키는 작업입니다.
- 데이터 변환
- 시간 및 bit, uniqueidentifier data에 대한 쿼리
- Top 조건을 통한 검색
- INSERTS, UPDATES, or DELETES

3. 쿼리 실행 계획은 해당 local 서버의 캐쉬된 작업 계획을 바탕으로 새워지게 됩니다.
즉 Remote 서버의 상황을 고려하기가 힘듭니다.

4. Network 구간을 이용하는 경우 RPC (로컬 실행)에 비해 Network 사정에 따라 성능 저하가 극적으로 발생 합니다.

5. Linked 서버간 작업의 경우 Disk Contension 이 약 8배 정도 많이 발생합니다.

  Oracle 과 SQL Server 간의 연동 
작성일시 : 2009.07.02 20:57 | 분류 : SQL Server/Administration

SQL Server 입장
1. Oracle로 R/W가 모두 가능합니다.
1. x64버전의 OLEDB Provider 는 Oracle 10g 에서만 지원 됩니다.
오라클의 라이센스 정책을 볼 때, 하위 1단계 아래 버전인 9i의 OLEDB Provider 까지 사용할 수 있습니다.
결론적으로 x64 버전의 Windows Server 상의 SQL Server는 Oracle 9i 및 10g 까지만 통신이 가능합니다.
관련 문서 : http://maystyle.tistory.com/181

Oracle Server 입장
1. Oracle Server 는 SQL Server 로 Read 만 가능합니다.
Write를 가능하게 하기 위해서는 Transfer gateway for SQL Server 를 구매해야 합니다.
라이센스 비용이 약 3억 가량 (Core 단위) 하는 것으로 알고 있습니다.
관련 문서 : http://maystyle.tistory.com/290

결론적으로 비용을 최소화 한 상태에서 SQL Server와 Oracle Server 를 연계 하기 위해서는 SQL Server가 주 Role을 가져 갈 수 밖에 없습니다.

 Prev   1   2   3   4   ···   7   Next