데이터베이스 관리자

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



1
특정 열에 대한 종속성 찾기 (sysdepends를 사용하지 않고 현대적인 방법)
특정 테이블뿐만 아니라 테이블의 특정 열을 사용하는 모든 뷰 및 저장 프로 시저를 찾아야합니다. 다음은 작동하는 것으로 간주되지만이 방법에주의해야 할 경고는 여러 가지가 있습니다 (다양한 이유로 신뢰할 수없고 곧 폐기 될 예정 임). SELECT object_name(so.id) TableName, sc.name ColumnName, OBJECT_NAME(sd.id) DependentObjectName, (SELECT xtype FROM sysobjects so WHERE so.id = sd.id) Object_Type …
14 sql-server 

2
NULL 값으로 PostgreSQL UPSERT 문제
Postgres 9.5의 새로운 UPSERT 기능을 사용하는 데 문제가 있습니다 다른 테이블에서 데이터를 집계하는 데 사용되는 테이블이 있습니다. 복합 키는 20 개의 열로 구성되며 그 중 10 개는 널 입력 가능합니다. 아래에서는 특히 NULL 값을 사용하여 더 작은 버전의 문제를 만들었습니다. CREATE TABLE public.test_upsert ( upsert_id serial, name character varying(32) NOT …

3
SQL 로그 파일 크기를 유지하는 가장 좋은 방법
저는 다소 새로운 DBA이며 상당한 양의 활동이있는 SQL Server 2012 인스턴스를 관리하고 있습니다. 특정 시점 복구가 필요하기 때문에 전체 복구 모드에서 실행 중입니다. 지금은 매일 오전 5시에 데이터베이스와 로그를 전체 백업합니다. 일부 로그 파일은 최대 300GB로 확장되었으며 백업을 수행 한 후에도 크기가 줄어들지 않습니다. 다음과 비슷한 것을 실행하여 크기를 줄일 …

1
범위 술어를 부분적으로 포함하는 경도 측정
현재 SQL Server가 히스토그램 단계를 부분적으로 다루는 범위 술어의 카디널리티를 평가하는 방법을 알아 내려고합니다. 인터넷에서 카디널리티 추정 및 단계별 통계 값 에서 비슷한 질문을 보았으며 Paul White는 그것에 대해 다소 흥미로운 답변을하였습니다. Paul의 대답에 따르면, 술어에 대한 카디널리티 추정 공식> = 및> (이 경우 120 이상의 카디널리티 추정기 모델에만 관심이 …

1
SQL Server 2016 데이터베이스를 SQL Server 2017으로 임시로 이동 한 다음 다시 이동합니다. 가능합니까?
SQL Server 2016 인스턴스에서 데이터베이스 백업을 가져 와서 2017 인스턴스로 복원하면 일부 작업을 수행 할 수 있습니다. 그런 다음 2017 인스턴스에서 해당 데이터베이스를 돌려 백업하고이를 사용하여 2016 인스턴스의 원래 버전을 덮어 쓸 수 있습니까?

1
이 RX-X 잠금이 확장 이벤트에 나타나지 않는 이유는 무엇입니까?
문제 직렬화 가능한 격리에서 RX-X 잠금을 유발하는 쿼리 쌍이 있습니다. 그러나 확장 이벤트를 사용하여 잠금 획득을 볼 때 RX-X 잠금 획득은 표시되지 않으며 해제 만됩니다. 그거 어디서 났어? 재현 내 테이블은 다음과 같습니다. CREATE TABLE dbo.LockTest ( ID int identity, Junk char(4) ) CREATE CLUSTERED INDEX CX_LockTest --not unique! ON …

1
물리적 전용 checkdb가 실패하지만 전체가 성공적으로 완료되었습니다
physical_only 옵션으로 checkdb를 실행 중이며 아래와 같이 여러 오류가 발생하여 실패합니다. 메시지 8965, 수준 16, 상태 1, 줄 1 테이블 오류 : 개체 ID 1557580587, 인덱스 ID 1, 파티션 ID 72057594088456192, 할당 단위 ID 72057594177454080 (행 내 데이터 형식). 페이지 (1 : 13282192), 슬롯 3, 텍스트 ID 6370769698816의 행 외부 …

1
이전 버전을 포함한 SQL Server 2017은 8k 디스크 섹터 크기를 지원합니까?
디스크 (회전 미디어뿐만 아니라 비 회전 미디어 [SSD, NVMe 등]를 포함하는 것으로 알려짐) 드라이브는 기본 형식과 하드웨어로 계속 발전하고 있습니다. 이 중 일부는 512 바이트 물리 섹터 크기에서 4k 물리 섹터 크기로의 "향상된 기능" 으로 디스크 레이아웃 (512n, 512e, 4kn)이 변경되었습니다. 이 다음 진화는 8k 물리 섹터 크기를 사용하는 것입니다. …

2
예상 실행 계획을 표시하면 CXPACKET, PAGELATCH_SH 및 LATCH_EX가 생성됩니다. [ACCESS_METHODS_DATASET_PARENT] 대기
내가 가진 4의 vCPU VM에서 Microsoft SQL 서버 2016 SP2 - CU6 (13.0.5292.0)를 실행 해요 max degree of parallelism로 설정 2하고 cost threshold for parallelism로 설정 50. 아침에 SELECT TOP 100 쿼리에 대한 예상 실행 계획 을 표시하려고 할 때 대기 시간이 길어지고 예상 계획을 렌더링하는 데 5 분-7 분 …

1
SET NOCOUNT 업그레이드 후 SQL 호출 처리 오류
테스트 환경을 새 서버 및 업데이트 된 버전의 Microsoft SQL Server로 업그레이드하고 있으며 문제가 발생했습니다. 새 서버에서는 일부 저장 프로 시저를 실행할 때 이전 코드에서 "개체를 닫을 때 작업이 허용되지 않습니다"라는 메시지가 표시됩니다. 이 메시지는 이전 서버에는 나타나지 않았습니다. 추적 할 때 SET NOCOUNT ON;저장 프로 시저를 추가하여 문제를 해결할 …

2
“sa”비밀번호를 변경하려면 SQL을 다시 시작해야합니까 (혼합 모드)?
SQL "sa"계정이 사용되어서는 안되는 방식으로 사용되고 있음을 발견하여 모든 SQL 인스턴스에서 sa 비밀번호를 변경하고 있습니다. (우리는 혼합 인증 모드로 실행되는 SQL 2005부터 2017까지의 서버를 보유하고 있습니다. 모든 사용자와 응용 프로그램 은 도메인 계정 또는 비 SA SQL 계정을 사용하여 연결해야합니다. 모니터링 중이지만 다른 응용 프로그램, 사용자 또는 다른 응용 프로그램을 …

1
PostgreSQL이 더 비싼 가입 순서를 선택하는 이유는 무엇입니까?
기본값을 사용하는 PostgreSQL default_statistics_target=1000 random_page_cost=1.5 버전 PostgreSQL 10.4 on x86_64-pc-linux-musl, compiled by gcc (Alpine 6.4.0) 6.4.0, 64-bit 진공 청소기로 청소하고 분석했습니다. 쿼리는 매우 간단합니다. SELECT r.price FROM account_payer ap JOIN account_contract ac ON ap.id = ac.account_payer_id JOIN account_schedule "as" ON ac.id = "as".account_contract_id JOIN schedule s ON "as".id = s.account_schedule_id …

3
내가 관심이있는 하나의 열을 선택하는 것보다이 쿼리의 모든 결과 열을 선택하는 것이 더 빠른 이유는 무엇입니까?
를 사용하면 select *읽기 수가 훨씬 적을뿐만 아니라를 사용하는 것보다 훨씬 적은 CPU 시간을 사용 하는 쿼리가 select c.Foo있습니다. 이것은 쿼리입니다. select top 1000 c.ID from ATable a join BTable b on b.OrderKey = a.OrderKey and b.ClientId = a.ClientId join CTable c on c.OrderId = b.OrderId and c.ShipKey = a.ShipKey …

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