ms sql 지정한 키가 사전에 없습니다. 해결방법

ms sql 2012에서 아래와 같은 메시지가 나오는 경우가 있다. 제목: mscorlib ------------------------------ 지정한 키가 사전에 없습니다. ------------------------------ 해결방법 : SP1 설치

MSSQL->ORACLE 연결 TNS 에러

제목: Microsoft SQL Server Management Studio ------------------------------ 연결된 서버에 대한 연결 테스트에 실패했습니다. ------------------------------ 추가 정보: Transact-SQL 문 또는 일괄 처리를 실행하는 동안 예외가 발생했습니다. (Microsoft.SqlServer.ConnectionInfo) ------------------------------ 연결된 서버 "****"에 대한 OLE DB 공급자 "OraOLEDB.Oracle"의 데이터 원본 개체를 초기화할 수 없습니다. 연결된 서버 "****"의 OLE DB 공급자 "OraOLEDB.Oracle"이(가) 메시지 "ORA-12154: TNS:could not resolve the connect identifier specified"을(를) 반환했습니다. (Microsoft SQL Server, 오류: 7303) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476 ------------------------------ 단추: 확인 ------------------------------ 해결 >>> tnsnames.ora 파일에 문제가 있다. MSSQL이 설치된 서버에 오라클 클라이언트 설치 경로 D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN 여기 폴더에 tnsnames.ora 파일을 아래처럼 수정해준다. 연결이름=   (DESCRIPTION=     (ADDRESS=       (PROTOCOL=TCP) ...

Count rows for all tables 모든 테이블의 행 수 카운트

-- Count rows for all tables 모든 테이블의 행 수 카운트 SP_MSForEachTable 를 사용하면 간단하게 할 수 있다. CREATE TABLE #counts (     table_name varchar(255),     row_count int ) EXEC sp_MSForEachTable @command1='INSERT #counts (table_name, row_count) SELECT ''?'', COUNT(*) FROM ?' SELECT table_name, row_count FROM #counts ORDER BY table_name, row_count DESC DROP TABLE #counts --Ref from stack overflow.

QUOTED_IDENTIFIER

배치스케줄이 아래의 에러를 뱉으며 동작하지 않는다. 다음 사용자로 실행되었습니다: NT AUTHORITY\SYSTEM. 다음 SET 옵션의 설정이 잘못되어 DELETE이(가) 실패했습니다. 'QUOTED_IDENTIFIER'. SET 옵션을 인덱싱된 뷰 및/또는 계산 열에 대한 인덱스 및/또는 필터링된 인덱스 및/또는 쿼리 알림 및/또는 XML 데이터 형식 메서드 및/또는 공간 인덱스 작업과(와) 함께 사용할 수 있는지 확인하십시오. [SQLSTATE 42000] (오류 1934).  단계가 실패했습니다. SET QUOTED_IDENTIFIER ON 설정을 넣으면 된다! Identifier(식별자)를 "큰따옴표" 안에 넣으면 쓸 수 있다는 설정인데, OFF되어있다한들 이게 왜 문제가 된건지??

누가 나를 참조하는지

누가 나를 참조하는지 sp_fkeys TABLE_NAME TABLE_NAME 은 참조 당하는 테이블을 써준다. 그럼 FK가 있는 테이블 리스트가 나온다.

sql delete from nested select

sql delete from nested select join해서 delete할 대상을 구하기 위해 nested query를 사용할 때 주의해야한다. declare @t1 table (n int) insert @t1 values(1) insert @t1 values(2) insert @t1 values(3) declare @t2 table (n int) insert @t2 values(1) insert @t2 values(2) insert @t2 values(3) --이렇게 하면 의도대로 3만 지워질까? delete @t1 from (    select *    from @t1   ) x where x.n=3 --이렇게 하면? delete @t2 from (    select *    from @t2    where n=3   ) x select * from @t1 select * from @t2 --result:Nothing...! --아무것도없다!

sql non overlapping random number

sql non overlapping random number 중복되지 않는 랜덤 값으로 채우기 ex) Fill random number from 0 to 15 declare @t int = 0 declare @tt table (n int) while( (select count(n) from @tt) < 15) begin  set @t = floor(rand()*15) --Generate 0~15  if @t not in (select n from @tt)  begin   insert into @tt values(@t)  end end select n from @tt