#테이블

f1 

f2 

 f3

aaa

 ...

1,000

aaa

 ...

1,100 

 bbb

 ...

1,500 


#쿼리

SELECT f1, f2, f3

FROM (

SELECT f1, f2, f3

, ROW_NUMBER() OVER(PARTITION BY f1 ORDER BY f3 DESC) as RowIdx

FROM tb_User

) AS t1

WHERE RowIdx = 1


#결과

f1 

f2 

 f3

aaa

 ...

1,100 

 bbb

 ...

1,500 


coding-factory.tistory.com/91

Microsoft SQL Server 2012

 

다른 DB서버에서 백업한 파일을 복구 하던 중 오류 발생

 

"백업 세트에 기존 'DB명' 데이터베이스가 아닌 데이터베이스의 백업이 있습니다."

 

해당 오류에 대해서 검색하고 여러가지 방법으로 시도해 봤지만 해결 되지 않아서 

아래와 같이 시도했더니 DB 복구 됨

 

- 문제해결 방법- 

DB 생성 > 태스크 > 백업 > 백업 구성 요소 : 데이터베이스 > 확인

다른 DB에서 가져온 백업 파일로 복구

'개발 > MSSQL' 카테고리의 다른 글

그룹별 최고값 가져오기 - GROUP BY MAX  (3) 2020.12.23
피벗테이블  (0) 2020.10.23
MSSQL 월별 테이블 값 확인  (0) 2019.04.05
테이블 비교 후 데이터 추출  (0) 2018.08.13
관계 테이블 목록 확인 쿼리  (0) 2017.08.18

DECLARE @yymm nvarchar(40), @pTest varchar(4000), @sql nvarchar(1000), @params NVARCHAR(500), @code varchar(20)

SET @code = '0000'

SET @yymm = (SELECT CONVERT(varchar(6), GETDATE(), 112))

 

-- 상황에 따라 TOP, GROUP BY, ORDER BY 적용
SET @sql = N'SELECT @Test = Test '
SET @sql = @sql + 'FROM tb_Log_' + @yymm + ' '
SET @sql = @sql + 'WHERE code = @code '

SET @params = ' @code varchar(20), @Test varchar(4000) output'

EXEC sp_executesql @sql, @params, @code = @code, @Test = @pTest OUTPUT

PRINT @pTest

-- 일치하는 데이터

SELECT t1.a, t2.b FROM table1 t1

WHERE EXISTS (

    SELECT a, b FROM table2 t2

    WHERE t2.a = t1.a AND t2.b = t1.b

)


-- 일치하지 않는 데이터

SELECT t1.a, t2.b FROM table1 t1

WHERE NOT EXISTS (

    SELECT a, b FROM table2 t2

    WHERE t2.a = t1.a AND t2.b = t1.b

)

SELECT DISTINCT t1.name AS keyName, OBJECT_NAME(t1.parent_object_id) AS tableName

, COL_NAME(t2.parent_object_id, t2.parent_column_id) AS columnName

FROM sys.foreign_keys t1 

JOIN sys.foreign_key_columns t2 ON t2.constraint_object_id = t1.OBJECT_ID

JOIN sys.tables t3 ON t3.OBJECT_ID = t2.referenced_object_id 

WHERE OBJECT_NAME (t1.referenced_object_id) = '테이블명'

데이터)

Idx      name

 1       가나다

 1       라마바

 1       사아자



쿼리)

DECLARE @arrName VARCHAR(1000)

SELECT @arrName = COALESCE(@arrName, '') + name + ','

FROM tbTest

WHERE Idx = 1


PRINT @arrName



결과)

가나다,라마바,사아자


DECLARE @str varchar(20), @split varchar(1)


SET @str = '동해물과/백두산이'

SET @split = '/'


-- 구분자 앞 문자열 보여주기

print LEFT(@str, CHARINDEX(@split, @str) - 1)

-- 결과 : 동해물과


-- 구분자 뒤 문자열 보여주기

print RIGHT(@str, CHARINDEX(@split, REVERSE(@str)) - 1)

-- 결과 : 백두산이

+ Recent posts