데이터베이스 관리자

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

1
조직의 모든 SQL Server 라이센스를 "자체 감사"하는 방법은 무엇입니까?
그래서 저는 수십 년 동안 좋은 비영리 단체에서 새로운 일을 시작했습니다. 여기에는 다양한 SQL Server 버전 및 버전 (예 : 2005 Express ~ 2016 SP2 Enterprise)과 많은 Windows VM (2003 ~ 2016의 모든 버전)이 있습니다. 이전 DBA는 회사가 보유한 라이센스 수 또는 에디션 버전에 대한 문서를 작성하지 않았습니다. 실질적으로 유용한 …


2
SSMS의 새로운 기능을 어디로 요청합니까?
Microsoft에 문의하고 싶습니다. 연결된 서버를 기반으로 SSMS에서 페이지를 색상으로 구분하려면 쿼리 결과가 반환되면 멈춤니다. 질문 : 이러한 기능을 어떻게 요청합니까?
11 ssms 

4
신원 열 다시 시드 : 필요할 때?
대학에서 마지막 강의 중 하나 (학생)는 강사가 데이터베이스 (데이터가 필요한 경우 MySQL 서버)와 데이터베이스를 데이터 소스로 사용하는 소형 클라이언트 앱을 개발하도록 요청했습니다. 요구 사항 중 하나는 자격 증명 열 (모든 테이블의 PK)이 순차적이어야한다는 것입니다 (강사 단어별로). 즉, 테이블 행이 삭제되면 후속 삽입에서 PK를 재사용해야합니다. RDBMS, PK 및 ID 열에 대한 …

2
DELETE 쿼리가 다른 형식보다 한 형식으로 실행되는 이유는 무엇입니까?
중복을 제거하려는 특정 정리 코드가 있습니다. 이것은 많은 고객 사이트에서 완벽하게 실행됩니다. 로그는이 쿼리에서 최소 1 초에서 최대 45 초를 소비한다고 알려줍니다. DELETE FROM [tbl] WHERE [Id] NOT IN ( SELECT MIN([Id]) FROM [tbl] GROUP BY [IdProject], [IdRepresentative], [TimeStart] ) 그러나이 쿼리가 4 시간 이상 (지금까지는 끝나지 않고) 실행되는 고객이 …

2
Int / Smallint가 Varchar로 암시 적으로 변환되는 이유는 무엇이며 카디널리티 예상치에 실제로 영향을 미칩니 까?
실제 실행 계획에서 SSMS (Show Plan Analysis)를 사용하여 성능이 느린 쿼리를 작성하는 데 문제가 있습니다. 분석 도구는 계획의 일부 위치에서 반환 된 결과에서 행 수에 대한 추정치가 벗어나고 암시 적 변환 경고를 제공한다고 지적합니다. 나는 int를 Varchar로 암시 적으로 변환하는 것을 이해하지 못합니다. 참조 된 필드는 쿼리의 매개 변수 / …


1
보기에서 *를 선택하면 4 분이 걸립니다
뷰에 대해 쿼리를 실행할 때 4 분 이상 걸리는 문제가 발생했습니다. 그러나 쿼리의 내장을 실행하면 1 초 안에 완료됩니다. 내가 확실하지 않은 유일한 것은 조인되는 테이블이 모두 임시 테이블이라는 것입니다. 임시 쿼리 계획 : https://www.brentozar.com/pastetheplan/?id=BykohB2p4 쿼리 계획보기 : https://www.brentozar.com/pastetheplan/?id=SkIfTHh6E 어디에서 시도하고 알아낼 수 있는지에 대한 제안 사항이 있습니까? 코드보기 : …
11 sql-server 

1
특정 테이블에 대한 ROW_OVERFLOW_DATA 페이지를 나열하십시오.
ROW_OVERFLOW_DATA 행이있는 테이블의 페이지 목록을 가져 오려고합니다. 문서화되지 않은 DMV에서 할당 된 페이지 목록을 얻을 수 sys.db_db_database_page_allocations있지만 해당 DMV의 출력에 ROW_OVERFLOW_DATA 페이지가없는 것 같습니다. 내가 찾을 수없는 다른 DMV가 있습니까? 최소한의 완전하고 (희망적으로!) 검증 가능한 예 : USE tempdb; IF OBJECT_ID(N'dbo.t', N'U') IS NOT NULL DROP TABLE dbo.t; GO CREATE …

2
MAXDOP = 1, 병렬 처리를위한 쿼리 힌트 및 비용 임계 값
인스턴스가 MAXDOP1로 설정되고 특정 쿼리를 병렬로 처리하기 위해 쿼리 힌트를 사용하는 경우 실제로 병렬 처리를 수행할지 여부를 결정하기 위해 병렬 처리 비용 임계 값 값이 여전히 SQL에 의해 사용됩니까? 이 링크 는 CTFP MAXDOP가 1 인 경우 CTFP가 무시됨을 암시 하지만이 특정 정보를 파헤칠 수는 없었습니다 . 비용에 관계없이 요청이 …

1
N'Șc '는 Latin1_General_CI_AS 데이터 정렬을 사용하여 N'C'의 중복 키로 간주
NVARCHAR(50)열 을 포함하는 고유 키가있는 테이블이 있습니다 (올바르거나 그렇지 않지만 있습니다). 따라서 삽입을 시도 Șc하거나 C( 삽입 순서와 상관없이) 삽입 문제로 인해 두 번째 삽입에서 파손됩니다. 오류는 다음과 같습니다. (1 개의 행 영향을 받음) 메시지 2601, 수준 14, 상태 1, 줄 16 고유 인덱스 'IX_TestT'를 사용하여 'dbo.testT'개체에 중복 키 행을 …

1
NOLOCK은 왜 변수 할당으로 스캔을 느리게합니까?
현재 환경에서 NOLOCK과 싸우고 있습니다. 내가 들었던 한 가지 주장은 잠금 오버 헤드로 인해 쿼리 속도가 느려진다는 것입니다. 그래서이 오버 헤드가 얼마인지를 테스트하는 방법을 고안했습니다. NOLOCK이 실제로 스캔 속도를 늦추는 것을 발견했습니다. 처음에는 기뻤지 만 지금은 혼란 스러워요. 내 테스트가 어떻게 든 유효하지 않습니까? NOLOCK이 실제로 약간 더 빠른 스캔을 …

2
SQL Server 데이터베이스는 언제 쿼리를 수락 할 준비가 되셨습니까?
SQL Server 오류 로그 파일에서 다음 줄을 발견했습니다. 2018-02-22 14:10:58.95 spid17s Starting up database 'msdb'. 2018-02-22 14:10:58.95 spid16s Starting up database 'ReportServer'. 2018-02-22 14:10:58.95 spid18s Starting up database 'ReportServerTempDB'. 2018-02-22 14:10:58.95 spid19s Starting up database 'XYZ'. 이 시간 전에 데이터베이스 XYZ의 상태를 확인 ONLINE하면 다음 명령문을 사용하고 있습니다. SELECT state_desc …

3
ALTER TABLE 권한을 부여하는 것은 얼마나 위험합니까?
다음 시나리오를 상상해보십시오 CREATE DATABASE test GO USE test; CREATE TABLE dbo.Customer ( CustomerId INT, Email VARCHAR(100), SensitiveData VARCHAR(20) ); INSERT INTO dbo.Customer VALUES (1,'abc@foo.com','12346789'); 어떤 시점에서 test데이터베이스 에서 일부 활동을 수행하는 ETL 프로세스가 작성 됩니다. CREATE USER etlUser WITHOUT LOGIN; /*For demo purposes*/ CREATE TABLE dbo.StagingTable ( StagingTableId INT, …

2
SELECT 및 WHERE 절에서 동일한 기능
초보자 질문 : f(x, y)내 데이터베이스 테이블의 두 열 x 및 y에 비싼 기능이 있습니다. 함수의 결과를 열로 제공하고 그것에 제약을 두는 쿼리를 실행하고 싶습니다. SELECT *, f(x, y) AS func FROM table_name WHERE func < 10; 그러나 이것은 작동하지 않으므로 다음과 같은 것을 작성해야합니다. SELECT *, f(x, y) AS …

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