«sql-server» 태그된 질문

모든 버전의 Microsoft SQL Server (MySQL 아님) sql-server-2016과 같은 버전 별 태그도 질문과 관련이 있기 때문에 추가하십시오.

2
일정한 스캔 스풀링
수십 개의 행이있는 테이블이 있습니다. 단순화 된 설정은 다음과 같습니다 CREATE TABLE #data ([Id] int, [Status] int); INSERT INTO #data VALUES (100, 1), (101, 2), (102, 3), (103, 2); 그리고이 테이블을 일련의 테이블 값으로 구성된 행 (변수 및 상수로 구성)에 조인하는 쿼리가 있습니다. DECLARE @id1 int = 101, @id2 int …

1
유출을 tempdb로 정렬하지만 예상 행은 실제 행과 같습니다.
최대 메모리가 25GB로 설정된 SQL Server 2016 SP2에는 분당 약 80 회 실행되는 쿼리가 있습니다. 쿼리는 약 4000 페이지를 tempdb에 흘립니다. 이로 인해 tempdb 디스크에 많은 IO가 발생합니다. 당신이 한 번 봐 걸릴 때 쿼리 계획을 (간체 쿼리)는 추정 된 행의 수는 실제 행의 수와 동일한 것으로 볼 수 있지만 …

3
XPath / XQuery를 사용하여 동일한 XML 요소의 모든 값을 연결
다음과 같은 XML 값이 있습니다. <R> <I>A</I> <I>B</I> <I>C</I> ... </R> 모든 I값 을 연결 하고 단일 문자열로 반환하려고합니다 ABC.... 이제 XML을 파쇄하고 결과를 다시 노드리스 XML로 집계하여 결과에 적용 할 수 있음을 알고 .values('text()[1]', ...)있습니다. SELECT ( SELECT n.n.value('text()[1]', 'varchar(50)') AS [text()] FROM @MyXml.nodes('/R/I') AS n (n) FOR XML …

2
임시 테이블이 열망하는 스풀보다 할로윈 문제에 대한 더 효율적인 솔루션 인 이유는 무엇입니까?
대상 테이블에 아직없는 경우에만 소스 테이블에서 행을 삽입하는 다음 쿼리를 고려하십시오. INSERT INTO dbo.HALLOWEEN_IS_COMING_EARLY_THIS_YEAR WITH (TABLOCK) SELECT maybe_new_rows.ID FROM dbo.A_HEAP_OF_MOSTLY_NEW_ROWS maybe_new_rows WHERE NOT EXISTS ( SELECT 1 FROM dbo.HALLOWEEN_IS_COMING_EARLY_THIS_YEAR halloween WHERE maybe_new_rows.ID = halloween.ID ) OPTION (MAXDOP 1, QUERYTRACEON 7470); 하나의 가능한 계획 형태에는 병합 조인 및 열성적인 스풀이 포함됩니다. …

4
인덱스 고유성 오버 헤드
인덱스 비용 및 고유성이 유익한 지 아닌지 (아마도 둘 다)에 대해 사무실의 여러 개발자와 토론을 진행하고 있습니다. 문제의 핵심은 경쟁 리소스입니다. 배경 나는 이전에 언급 한 토론을 읽었습니다. Unique 인덱스가 유지 관리에 추가 비용이 들지 않는다는Insert 작업이 B- 트리에 맞는 위치를 암시 적으로 확인하고 고유하지 않은 인덱스에서 중복이 발견되면 유니티를 …

1
동료가 자신의 스키마를 어떻게 얻었습니까?
저장 프로 시저가 있습니다. 테이블이 존재하는지 확인하고 존재하면 삭제합니다. 그 테이블을 다시 만듭니다 그런 다음 약 30 개의 쿼리로 해당 테이블을 채 웁니다. 내가 (DB 소유자)이 proc을 실행할 때 모든 것이 의도 한대로 작동합니다. 내 동료가 Active Directory의 역할을 통해이 데이터베이스에 대한 DROP / CREATE 권한을 가진 사람이 그렇게하면 몇 …

5
많은 nullable int 1 : 1을 이진 문자열로 변환하는 가장 빠른 방법은 무엇입니까?
내 작업의 일부는 짜증 해시 알고리즘 을 구현 하는 CLR 함수를 사용하여 행을 비교하여 열 값이 변경되었는지 확인합니다. CLR 함수는 이진 문자열을 입력으로 사용하므로 행을 이진 문자열로 변환하는 빠른 방법이 필요합니다. 전체 워크로드 중에 약 100 억 행을 해시 할 것으로 예상되므로이 코드를 최대한 빨리 처리하고 싶습니다. 다른 스키마를 가진 …

1
SQL Server DBA로서 멜트 다운 / 스펙트럼 취약점에 대해 무엇을 알아야합니까?
이 질문에 대한 답변은 지역 사회 노력 입니다. 이 게시물을 개선하기 위해 기존 답변을 수정하십시오. 현재 새로운 답변이나 상호 작용을받지 않습니다. 듣지 못한 경우 최근 지난 10 년 동안 판매 된 거의 모든 프로세서에 영향을 미치는 일련의 관련 취약점이 발견되었습니다. InfoSec.SE에서 멜트 다운 / 스펙트럼 취약점에 대한 자세한 기술 정보를 …


2
SQL Server 2016 및 2012 삽입 성능
같은 서버에 두 개의 SQL Server 인스턴스가 있습니다. Microsoft SQL Server 2012 (SP1)-11.0.3000.0 (X64) Standard Edition (64 비트) Microsoft SQL Server 2016 (SP1-CU5) (KB4040714)-13.0.4451.0 (X64) Enterprise Edition (64 비트) sp_configure 결과는 두 인스턴스 모두에서 동일합니다 (새로운 2016 옵션 제외). 동일한 디스크 폴더의 두 인스턴스 모두에 새 데이터베이스를 만들었습니다. 자동 성장 …


4
TSQL이 POWER (2., 64)에 대해 잘못된 값을 반환하는 이유는 무엇입니까?
select POWER(2.,64.)18446744073709552000대신에를 반환 합니다 18446744073709551616. 16 자리의 정밀도 (17 일 반올림) 만있는 것 같습니다. 정밀도를 명시 적으로 만들더라도 select power(cast(2 as numeric(38,0)),cast(64 as numeric(38,0)))여전히 둥근 결과를 반환합니다. 이것은 16 자리의 정밀도로 임의로 벗겨지는 꽤 기본적인 작업처럼 보입니다. 제대로 계산할 수있는 최대 값은 POWER(2.,56.)실패입니다 POWER(2.,57.). 무슨 일이야? 실제로 끔찍한 것은 select …

2
FILESTREAM 내부자 정보 검색
FILESTREAM 기능이 Microsoft SQL Server 2012에서 활성화되면 SQL Server는 시스템에서 "숨겨진"공유를 만듭니다. 공유는 다음과 같이 정의됩니다. Sharename FILESTREAM_SHARE Path \\?\GLOBALROOT\Device\RsFx0320\<localmachine>\FILESTREAM_SHARE Remark SQL Server FILESTREAM share Maximum users unlimited Users Caching Manual caching of documents Permissions NT-AUTHORITY\Authenticated Users, FULL 이름은 SQL Server 구성 관리자 에서 FILESTREAM을 처음 구성 할 때 제공하는 …

3
SQL Server 카디널리티 힌트
카디널리티 평가를 SQL Server 최적화 프로그램 (모든 버전)에 '주입'하는 방법이 있습니까? 즉, 오라클의 카디널리티 힌트와 유사한 것입니다. 내 동기는 쿼리 최적화 프로그램이 얼마나 좋은가? [1] , 카디널리티 추정기의 나쁜 계획 선택에 대한 영향을 테스트합니다. 따라서 SQL Server가 복잡한 쿼리에 대한 카디널리티를 정확하게 '추정'하도록 강요하면 충분합니다. [1] Leis, Viktor 등. "실제로 …

4
NVARCHAR 열의 값이 실제로 유니 코드인지 감지
일부 SQL Server 데이터베이스를 상속했습니다. SQL Server 2014 Standard의 소스 데이터베이스 ( "Q"라고 함)에서 ETL을받는 테이블이 하나 있는데 ( "G"라고 함) 약 8670 만 개의 행과 41 열의 너비가 있습니다. SQL Server 2008 R2 Standard에서 동일한 테이블 이름을 가진 대상 데이터베이스 ( "P"라고 함) 즉 [Q]. [G] ---> [P]. [G] …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.