데이터베이스 관리자

데이터베이스 기술을 향상시키고 커뮤니티의 다른 사람들에게서 배우고 자하는 데이터베이스 전문가를위한 Q & A

5
SQL Server의 동일한 열에서 여러 외래 키 사용
SQL Server를 사용하면 열에 여러 외래 키를 만들 수 있으며 다른 이름 만 사용하면 매번 동일한 개체를 참조하는 다른 키를 만들 수 있습니다. 기본적으로 모든 키는 동일한 관계를 정의합니다. 동일한 열에 정의되고 다른 테이블의 동일한 열에 대한 여러 외래 키를 사용하는 것이 무엇인지 알고 싶습니다. SQL Server를 통해 이와 같은 …

3
병렬 실행을 위해 스칼라 기능을 TVF 기능으로 변환
내 쿼리 중 하나가 릴리스 후 직렬 실행 모드에서 실행 중이었고 응용 프로그램에서 생성 된 LINQ to SQL 쿼리에서 참조되는 두 가지 새로운 기능이보기에 사용 된 것을 알았습니다. 그래서 나는 그 SCALAR 함수를 TVF 함수로 변환했지만 여전히 쿼리가 직렬 모드로 실행 중입니다. 이전에 다른 쿼리에서 Scalar에서 TVF로 변환을 수행했으며 강제 …

1
비 결정적 수레
명백한 주먹을 말하겠습니다 : 부동 소수점 유형은 정확하게 10 진수 값을 나타낼 수 없다는 것을 완전히 이해합니다 . 이것에 관한 것이 아닙니다! 그럼에도 불구하고 부동 소수점 계산은 결정 론적이어야 합니다. 이제이 방법이 중단되었으므로 오늘 관찰 한 호기심이 많은 사례를 보여 드리겠습니다. 부동 소수점 값의 목록이 있으며 그 값을 요약하고 싶습니다. …

2
WSRM을 사용하여 최대 CPU 사용량 SQL SERVER 제한
하나의 SQL Server 인스턴스를 실행하는 실제 서버가 있습니다. 이 서버가 100 % CPU 사용량으로 실행되는 경우가 종종 있습니다. 내 IT 팀은 이것에 만족하지 않으며 32 개의 코어 중 2 개를 OS에 예약하도록 제안했습니다. 이것은 잘 작동합니다. 이제 최대 사용량이 90 % 미만입니다. 또한 다양한 사용자의 느린 데이터 검색이 더 이상보고되지 …

1
시스템 상태 확장 이벤트에서 잘못된 프로세스 활용?
최근에 시스템 상태 확장 이벤트 이벤트 파일에 저장되는 데이터 또는 메트릭을 이해하려고 노력하고 있습니다. 여기에 제공된 시스템 상태를 사용하여 성능 메트릭의 데이터 수집을 구현하려고합니다. CPU UTILIZATION, 기타 프로세스 활용률 등과 같은 시스템 상태 이벤트에서 수집되는 보고서를 제공합니다. scheduler_monitor_system_health_ring_buffer_recorded SQL 서버 사용률로 보고서에 나열되는 "process_utilization"필드가 100보다 많은 시간이 가장 많은 이유는 …

3
클러스터 된 Columnstore 인덱스에 필터 조건이 올바르게 적용되지 않음
아래 예제를 사용하면 술어는 동일하지만 최상위 명령문 (올바로)은 0 개의 행을 리턴하고, 하단 명령문은 1을 리턴합니다. declare @barcode nchar(22)=N'RECB012ZUKI449M1VBJZ' declare @tableId int = null declare @total decimal(10, 2) = 5.17 SELECT 1 FROM [dbo].[transaction] WITH (INDEX([IX_Transaction_TransactionID_PaymentStatus_DeviceID_DateTime_All])) WHERE Barcode = @barcode AND StatusID = 1 AND TableID = @tableID AND @total …

1
SHRINKFILE 실패-파일 크기를 늘리면 왜 문제가 해결됩니까?
SHRINKFILE파일 그룹에서 작고 불필요한 파일을 정리하기 위해 몇 가지 작업을 실행하고 있습니다. 축소 중 하나의 경우 아래 명령으로 오류가 발생합니다. DBCC SHRINKFILE (N'myfile' , EMPTYFILE)' 데이터베이스 ID x의 파일 ID x은 (는) 다른 프로세스에 의해 축소되었거나 비어 있으므로 축소 할 수 없습니다 비어 있거나 줄어들지 않습니다. 본인 이외의 다른 사람이 …

5
SSMS를 통한 특정 로그인에 대한 SQL Server 액세스를 거부하지만 .Net SqlClient 데이터 공급자를 허용하는 방법
개발자에게는 UPDATE권한 이 없지만 상황에 따라 응용 프로그램에서 작업하고 연결 문자열을 볼 수 있습니다.-> SQLLogin1업데이트 권한이있는 일부 SQL 계정 (예 :)의 비밀번호를 알고 있습니다 . 우리의 작업은 현재 완벽하지 않으며 때로는 생산 데이터를 수정해야 할 수도 있습니다 (아직 GUI는 필요 없음). DBA에 연락하여 데이터 수정을 요청하는 대신 개발자는 (부적절하게) SQLLogin1데이터 …

1
SQL Server가 CTE를 "최적화 울타리"로 사용할 때 결정하는 규칙은 무엇입니까?
얼마 전 Brent Ozar는 SQL Server와 PostgreSQL의 차이점을 자세하게 설명하는 게시물을 게시했습니다. SQL Server와 PostgreSQL의 두 가지 중요한 차이점 첫 번째 요점 ( "CTE는 최적화 펜스")은 제공된 예에서 SQL Server가 CTE와 기본 쿼리를 함께 결합하여 단일 쿼리로 최적화한다는 점이 분명하기 때문에 내 시선을 사로 잡았습니다. PostgreSQL). 그러나이 동작은 SQL Server가 …

4
이 SQL 문에서 이중 내부 조인을 사용하는 이유는 무엇입니까?
이 레거시 SQL 쿼리를보고 있습니다. 얻을 수없는 비트는 동일한 열에서 동일한 테이블을 두 번 내부 결합하는 이유입니다. Table1과 Table1이 별칭 "Table1Alias"와 결합 된 것에 대해 이야기하고 있습니다. SELECT DISTINCT othercolumns, Table1Alias.columna FROM maintable INNER JOIN secondarytable ON maintable.id1 = secondarytable.a_id1 INNER JOIN table1 ON secondarytable.id2 = table1.id3 INNER JOIN table1 …
10 sql-server 

2
왜 이것이 더 빠르고 사용하기에 안전합니까? (첫 글자가 알파벳 인 곳에)
간단히 말해서, 우리는 작은 사람들의 테이블을 매우 큰 사람들의 테이블로 업데이트하고 있습니다. 최근 테스트에서이 업데이트를 실행하는 데 약 5 분이 걸립니다. 우리는 가능한 한 가장 최적화 된 것처럼 보이는 것을 보았습니다. 동일한 쿼리가 이제 2 분 이내에 실행되며 동일한 결과를 완벽하게 생성합니다. 다음은 쿼리입니다. 마지막 줄은 "최적화"로 추가됩니다. 쿼리 시간이 …

2
쉼표를 큰 숫자로 묶는 가장 좋은 방법
나는 새로운 직업을 시작했고 많은 숫자를 살펴 보았습니다. 쉽게에 쉼표를 추가하는 방법이 int또는 decimal그것을 읽을 수 있도록 필드? 예를 들어, SQL Server는 왼쪽에 열을 출력하지만, 제 정신을 위해서는 오른쪽에있는 열과 같아야합니다. 2036150 -> 2,036,150 ... 혹은 유쾌한 글을 써야 할까 left(right(vandalized_data),6),3) + ',' + right(left(vandalized_data),6),3) 함수? 완벽한 것은 디스플레이 그리드에 …

3
varchar (max)로 인해 tempdb에 정렬 유출
32GB의 서버에서 최대 메모리가 25GB 인 SQL Server 2014 SP2를 실행중인 경우 두 개의 테이블이 있습니다. 여기서 두 테이블의 단순화 된 구조를 찾을 수 있습니다. CREATE TABLE [dbo].[Settings]( [id] [int] IDENTITY(1,1) NOT NULL, [resourceId] [int] NULL, [typeID] [int] NULL, [remark] [varchar](max) NULL, CONSTRAINT [PK_Settings] PRIMARY KEY CLUSTERED ([id] ASC) ) …

1
EXCEPT 연산자의 알고리즘은 무엇입니까?
Except 연산자가 SQL Server에서 다루는 방식에 대한 내부 알고리즘은 무엇입니까 ? 내부적으로 각 행의 해시를 가져 와서 비교합니까? David Lozinksi는 연구를 수행했습니다. SQL : 아직 존재하지 않는 새 레코드를 삽입하는 가장 빠른 방법 그는 예외 문이 많은 행에서 가장 빠릅니다. 아래의 결과와 밀접한 관련이 있습니다. 가정 : 왼쪽 조인은 1 …

1
영향을받는 행이 없어도 트리거 트리거
이것은 일반적인 질문이지만이 질문에 대한 동기는 SQL Server를 사용하는 동안 직면 한 문제였습니다. 행이 삽입되지 않은 경우 부작용으로 오류가 발생하는 일부 논리가 포함 된 테이블의 Insert 이벤트에이 트리거를 연결했습니다. 추가 조사 결과, 행을 삽입하지 않아도 트리거가 실행되고 있음을 발견했습니다. DML 트리거 에 대한 Microsoft 문서에서 사용되는 언어는 이 동작과 모순되는 …

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