Database를 사용하다 보면, Backup의 중요성을 너무 크게 느끼게 됩니다.
MSSQL도 마찬가지이며,
MSSQL의 Backup과 Restore 하는 방법이 여러 가지 있습니다만, 파일을 통한 방법을 남겨보도록 하겠습니다.
MSSQL mdf log 파일로 복원하기
SQL Server에서 물리적인 DB파일인 *. mdf / *. log파일을 이용한 DB 이전 하기
(1) DB 선택 > 마우스 오른쪽 클릭 > Tasks > Detach... 처리
(2) mdf 파일과 log파일을 원하는 위치에 복사
(3) mdf 파일과 log파일의 Window 기본 User 권한에 모든 권한으로 변경
Attach이전에, user name에 MSSQL유저가 없습니다.
Attach이후, user name이 MSSQLSERVER 유저로 변경됩니다.
(4) Attach.. (mdf 파일 선택)
(5) 복원된 DB의 User 삭제
(6) 전체 User에서 User Mapping에서 "DB선택"과 "db_owner"를 선택.
(7) (옵션사항) 파일의 Auto Shrick 설정 <- 해당 작업은 하지 않으셔도 됩니다.
DB의 Properties의 Options에 Automatic카테고리에, Auto Shrink를 False -> True로 변경
(자동으로 사용하지 않는 부분의 file영역을 제거함)
다시 False로 변경하고, 수동으로 Shrink하기로 함
Auto Shrink값을 Ture로 변경
다시 False로 변경
Database Shrink => DB file 물리적 용량 줄이기
Shink작업은 Database의 용량이 부족할때, 사용하는 방법입니다.
그러나, Disk용량은 줄여주는 효과를 가져오지마, 속도 향상의 개선은 반비례합니다. (속도는 더 느려질 수도 있습니다.)
참고 DB 삭제
DB 삭제시 Connection 되어 있는 것들 때문에 Delete가 안될 때가 있습니다.
( [v] Close existing connections으로 접속된 부분 닫고, 삭제하게 된다.)
SQL Server Database Growth and Autogrowth
SQL Server 에러 중에, PRIMAEY의 filegroup 용량이 부족하다는 에러가 발생할 때가 있습니다.
해당 부분 Autogrowth 사이즈가 지정되지 않았을때, 에러가 발생할 수 있습니다.
(참고로 Default auto-growth값은 data file은 1MB이며, log file은 10%입니다.)
(아래 에러에 관련 글: https://dba.stackexchange.com/questions/33700/primary-filegroup-is-full-sql-server-2008 )
[에러 내용 예제]
Could not allocate space for object 'myDB' in database 'I 3 Stroke' because the 'PRIMARY' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
[해결] |
You want to give your database as much storage allocation as you can afford to give it. If it runs out of space you'll receive this error without auto-grow on and if auto-grow is on you'll take a performance hit each time it has to auto-grow. If you are simply out of disk space then that is your answer and you need a bigger disk. |
'DB관련 > SQL Server' 카테고리의 다른 글
SQL Server 2014 Express 설치하기 (SSMS포함 Window 10 환경) (2) | 2020.12.11 |
---|---|
MSSQL에서 DB, LOG 축소 쿼리 / 공간 줄이기 (0) | 2020.10.15 |
[SQL Server] SQL SERVER 에러로그(ERRORLOG) 삭제하기 - 디스크 정리 (0) | 2020.08.01 |
[MSSQL] 문자열 바꾸기 (치환) - REPLACE, STUFF, TRANSLATE (group by 에서 사용한 예제 포함) (0) | 2020.02.28 |
Cannot insert explicit value for identity column in table 'table' when IDENTITY_INSERT is set to OFF. (0) | 2019.10.10 |
decimal 와 numeric의 차이 + Money Data Type (C#) (0) | 2019.09.26 |
[MSSQL] SQL Server Management Studio 로 DB copy하기 (0) | 2019.09.24 |
mssql 에서 sa 로그인 실패 오류 해결방법 (0) | 2019.09.19 |
(로그인하지 않으셔도 가능)