본문 바로가기

SQL Server

(82)
[SQL Server] IDENTITY 속성의 열은 고유할까? IDENTITY 속성은 초기값 및 증가값을 기반으로 생성된다. 그렇다면 IDENTITY 속성의 열은 고유할까? PRIMARY KEY 또는 UNIQUE 제약조건을 사용하여야 고유성은 보장된다. 위 제약조건을 설정하지 않고 중복된 데이터가 삽입되는지 확인해보자. -- 테이블 생성 CREATE TABLE TEST_IDENTITY ( COL1 INT IDENTITY (1,1) , COL2 INT ) GO -- 데이터 삽입 INSERT INTO TEST_IDENTITY (COL2) VALUES (1) INSERT INTO TEST_IDENTITY (COL2) VALUES (2) INSERT INTO TEST_IDENTITY (COL2) VALUES (3) INSERT INTO TEST_IDENTITY (COL2)..
[SQL Server] 임시 테이블 생성시 #을 3개이상 붙이면? 임시 테이블(Temporary Tables)는 테이블 앞에 # 또는 ##을 붙여 만들게 되며, tempdb 데이터베이스에 저장된다. 임시 테이블은 해당 임시 테이블을 만든 세션이 종료되면 자동으로 제거되며, 복잡한 로직을 처리할 때 중간 결과를 저장하기 위한 목적으로 주로 사용된다. 임시 테이블은 지역 임시 테이블(Local Temporary Tables)과 전역 임시 테이블(Global Temporary Tables)로 구성된다. 1) 지역 임시 테이블(Local Temporary Tables) - 세션 임시 테이블이라고 불리며, 해당 임시 테이블을 만든 세션에서만 사용 가능한 임시 테이블이다. - 테이블 이름 앞에 #을 붙여 만든다. 2) 전역 임시 테이블(Global Temporary Tables)..
[SQL Server] 성능 모니터에 SQL Server 성능 카운터가 나타나지 않을 때 성능 모니터에서 SQL Server 성능 카운터 정보를 수집하려는데 관련 성능 카운터가 보이지 않는다. SQL Server 도 설치된 상태이다. 운영체제는 64비트인데 SQL Server는 32비트로 설치되어 있는게 원인이다. 해결하기 위해선 실행창에서 perfmon.msc mmc.exe /32 를 실행하면 된다. 1. 성능 모니터에서 SQL Server 성능 카운터가 보이지 않는다. 2. 실행창에서 perfmon.msc mmc.exe /32 실행 3. SQL Server 성능 카운터가 보인다.
[SQL Server] 변수를 사용한 LIKE 검색 -- 테스트 테이블 생성 CREATE TABLE dbo.TEST ( COL1 INT IDENTITY(1,1) NOT NULL , COL2 VARCHAR(10) NOT NULL ) GO -- 테스트 데이터 입력 INSERT INTO dbo.TEST(COL2) VALUES ('라이크검색') GO -- 일반적인 LIKE 검색 SELECT * FROM dbo.TEST WHERE COL2 LIKE '%라이크%' -- 잘못된 변수를 사용한 LIKE 검색 DECLARE @TEST VARCHAR(10) SET @TEST = '라이크' SELECT * FROM dbo.TEST WHERE COL2 LIKE '%@TEST%' GO -- 올바른 변수를 사용한 LIKE 검색 DECLARE @TEST VARCHAR(10) SET..
[SQL Server] 작은따옴표(Single quotation marks) 처리 SQL Server 에서 문자열를 처리할 때 작은따옴표를 사용한다. 문자열을 처리하는 작은따옴표 안에 또 작은따옴표를 사용하면 아래와 같이 오류가 발생한다. 작은따옴표 옆에 작은따옴표를 하나 더 붙여주면 문제는 해결된다.
[SQL Server] 등록된 서버 가져오기 / 내보내기 PC를 포멧하거나 SQL Server를 재설치 할 때 등록된 서버 가져오기 / 내보내기 기능을 사용하면 일일이 다시 등록하는 번거로움을 없앨 수 있다.
[SQL Server] 호환성 수준 변경하기 SQL Server 2000을 2008로 업그레이드 하였는데 2008의 기능을 사용할 수 없다. 예를들면 roll up? 호환성 수준을 2008에 맞게 설정하면 문제는 해결된다. 호환성 수준을 설정하는 방법은 세가지가 있다. 1. 시스템 저장 프로시저로 설정하기 sp_dbcmptlevel @dbname = '디비명', @new_cmptlevel = 100 2. ALTER 문으로 설정하기 ALTER DATABASE DBNAME SET COMPATIBILITY_LEVEL = 100 3. UI로 설정하기 COMPATIBILITY_LEVEL { 80 | 90 | 100 | 110 | 120 } 데이터베이스가 호환되도록 설정할 SQL Server의 버전. 값은 다음 중 하나여야 한다. 80 = SQL Server..
[SQL Server] 복원 오류 - 미디어 세트 개수 불일치 백업파일을 복원하는 중 다음과 같은 오류가 발생하였다. 미디어 세트에 2개의 미디어가 있지만 1개만 제공하고 있습니다. 모든 멤버를 제공해야 합니다. 백업파일이 2개로 만들어졌는데, 1개만 지정해서 발생한 오류이다. 백업파일이 몇 개로 만들어졌는지 확인하기 위해 아래의 쿼리문을 실행하면 된다. RESTORE LABELONLY FROM DISK = 'D:\DBA.bak' FamilyCount가 필요한 백업파일의 개수이다. 두 파일을 지정해야만 정상적으로 파일이 복원된다. RESTORE DATABASE DBA FILE = N'DBA' FROM DISK = N'D:\DB_Backup\DBA.bak', DISK = N'D:\DB_Backup\DBA' GO 왜 미디어 세트에 2개의 미디어가 생성되었는가? 백업할 ..