데이터베이스를 강제로 삭제하려고하는데 데이터베이스를 삭제 한 후 데이터베이스를 다시 만들려고 할 때 오류가 발생합니다. C : \ Program Files ..... [databasename] .mdf 파일이 이미 있으므로 만들 수 없습니다 다음은 데이터베이스를 강제로 삭제하는 쿼리입니다. Use master; ALTER database [databasename] set offline with ROLLBACK IMMEDIATE; DROP database [databasename]; 위의 쿼리가 데이터베이스를 삭제하고 …
LEFT JOIN 또는 NOT EXISTS 형식을 사용하는 것이 가장 좋은 방법입니까? 다른 것을 사용하면 어떤 이점이 있습니까? 없는 경우 어떤 것을 선호해야합니까? SELECT * FROM tableA A LEFT JOIN tableB B ON A.idx = B.idx WHERE B.idx IS NULL SELECT * FROM tableA A WHERE NOT EXISTS (SELECT idx FROM …
새 SQL Server를 설정할 때 다음 코드를 사용하여 MAXDOP설정 의 좋은 시작점을 결정 합니다. /* This will recommend a MAXDOP setting appropriate for your machine's NUMA memory configuration. You will need to evaluate this setting in a non-production environment before moving it to production. MAXDOP can be configured using: EXEC …
느리게 실행되는 쿼리의 실행 계획을 살펴본 결과 일부 노드는 인덱스 검색이고 일부는 인덱스 스캔 인 것으로 나타났습니다. 인덱스 검색과 인덱스 스캔의 차이점은 무엇입니까? 어느 것이 더 잘 수행됩니까? SQL은 어떻게 다른 것을 선택합니까? 나는 이것이 3 가지 질문이라는 것을 알고 있지만 첫 번째 질문에 대답하면 다른 질문에 대해 설명 할 …
FLOAT, NVARCHAR (30) 또는 DATETIME (3 개의 개별 열)의 3 가지 유형의 결과가 포함 된 (SQL Server) 테이블이 있습니다. 주어진 행에 대해 하나의 열에 만 결과가 있고 다른 열은 NULL인지 확인하고 싶습니다. 이를 달성하기위한 가장 간단한 점검 제한 조건은 무엇입니까? 이에 대한 컨텍스트는 숫자가 아닌 결과를 기존 시스템에 캡처하는 기능을 …
나는 종종 어떤 일이 일어 났는지, 언제 일어 났는지, 누가 행동을 수행했는지 사람들이 알고 싶어하는 질문을 봅니다. 많은 경우 SQL Server는이 정보를 자체적으로 추적하지 않습니다. 예를 들면 다음과 같습니다. 누가 저장 프로 시저를 마지막으로 실행 dbo.MyProcedure했습니까? 누가 테이블 의 salary열을 업데이트 dbo.Employees했습니까? 누가 dbo.OrdersManagement Studio에서 마지막으로 테이블을 쿼리 했습니까? 그러나 …
현재 SQL Server 2012 데이터베이스에서을 사용 varchar하고 있으며이를 변경하고 싶습니다 nvarchar. 이를 위해 스크립트를 생성했습니다. 내 질문은 SQL Server가 varchar열과 열에 쓰는 방법에 차이가 nvarchar있습니까? 우리는 내가 우려하는 많은 백엔드 절차를 가지고 있습니다. 편집 : 이것이 도움이되는지 확실하지 않지만 열에는 인덱스, f / k 또는 제약 조건이 없습니다.
간단한 은행 데이터베이스에 대한 스키마를 작성 중입니다. 기본 사양은 다음과 같습니다. 데이터베이스는 사용자 및 통화에 대한 트랜잭션을 저장합니다. 모든 사용자는 통화 당 하나의 잔액을 가지므로 각 잔액은 단순히 주어진 사용자 및 통화에 대한 모든 거래의 합계입니다. 잔액은 음수 일 수 없습니다. 은행 애플리케이션은 스토어드 프로 시저를 통해 독점적으로 데이터베이스와 통신합니다. …
64m 행의 데이터가 디스크에서 4.3GB를 차지하는 테이블이 있습니다. 각 행은 약 30 바이트의 정수 열과 NVARCHAR(255)텍스트 의 변수 열입니다. data-type과 함께 NULLABLE 열을 추가했습니다 Datetimeoffset(0). 그런 다음 모든 행에 대해이 열을 업데이트하고 모든 새로운 삽입물 이이 열에 값을 배치하는지 확인했습니다. NULL 항목이 없으면이 명령을 실행하여 새 필드를 필수로 만들었습니다. ALTER …
날짜 범위에 대한 롤링 합계를 계산해야합니다. 예를 들어 AdventureWorks 샘플 데이터베이스 를 사용하면 다음과 같은 가상 구문이 필요한 것을 정확하게 수행합니다. SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum45 = SUM(TH.ActualCost) OVER ( PARTITION BY TH.ProductID ORDER BY TH.TransactionDate RANGE BETWEEN INTERVAL 45 DAY PRECEDING AND CURRENT ROW) FROM Production.TransactionHistory AS TH ORDER …
최근 ASP.NET 응용 프로그램 중 하나에 데이터베이스 교착 상태 오류가 표시되어 오류를 확인하고 수정하라는 요청을 받았습니다. 교착 상태의 원인은 커서 내에서 테이블을 엄격하게 업데이트하는 저장 프로 시저였습니다. 이 오류를 처음으로보고 효과적으로 추적하고 수정하는 방법을 몰랐습니다. 내가 아는 가능한 모든 방법을 시도하고 마침내 업데이트되는 테이블에 기본 키가 없음을 발견했습니다! 운 좋게도 …