** mssql 에서 디비마이그레이션시 유용한 정보 기록 **
> 백업파일만 받은경우에 복원하는 방법 [백업데이터를 다른DB로복원]
** 백업파일을 복구하다가 mssql설치된 sdd 의 용량이 부족하여 새로운 드라이브로 데이터경로를 변경할필요가 생김
아래링크의 방법을 참고.. MSSQL 새로운위치로 DB데이터파일 옮기기
> 무슨문제인건지 이동할디렉토리 보안탭에서 mssql user 권한부여가 되지않음..
: [상황] mssql express 사용중이라 MSSQL$SQLEXPRESS 유저를 추가해야되나 해당유저를 찾을수 없음 😱😱😱
: [해결한 방법]
0.mssql 기본데이터 디렉토리를 변경
(SSMS -> DB서버속성 -> 데이터베이스설정 -> 데이터베이스 기본위치를 변경후 mssql재시작)
1. sp_detach_db "[디비명]" 를 이용하여 기존데이베이스 해제
2. 새데이터베이스 생성 [디비명] : 새로운데이터디렉토리에 디비명.mdf / ldf생성됨
3. mssql중지
4. 기존데이터디렉토리에서 > 새디렉토리로 파일이동 (덮어쓰기)
5. mssql 시작후 들어가보면 데이터경로가 바뀐쪽으로 잘보임...
!!😲참고할사항 >> 새데이터베이스생성후 기존 보안>로그인사항은 잘체크하거나 변경해줘야 될거같음 본인은 로컬에서 데이터분석용으로만 사용하기위해 쓴 방법이라서 주의가 필요함 [참고 : MSSQL DB 복원과 사용자 설정하기(매핑하기)]
** 디비의 테이블 및 row, 사용량을 확인할수 있는 쿼리
SELECT /*TOP 300*/
CONVERT(VARCHAR(30), MIN(o.name)) AS t_name
, SUM(i.rows) as rows_total
, REPLACE(CONVERT(VARCHAR,CAST(SUM(i.rows) AS money), 1), '.00','') as row_count
, count(i.rows) as rcnt
, LTRIM(STR(SUM(reserved) * 8192.0 / 1000.0 / 1024.0, 15, 0) + ' MB') AS t_size
, LTRIM(STR(SUM(reserved) * 8192.0 / 1024.0 , 15, 0) + ' KB') AS t_size2
FROM sysindexes i
INNER JOIN sysobjects o ON o.id = i.id
WHERE i.indid IN (0, 1, 255)
AND o.xtype = 'U'
GROUP BY
i.id
ORDER BY
-- t_name ASC
SUM(reserved) DESC
'서버.보안' 카테고리의 다른 글
.htaccess 이용 포워딩시키기,기타 update2022-04-27 (0) | 2022.04.27 |
---|---|
리눅스 쉘스크립트 등등 (0) | 2020.06.22 |
git bare 저장소 생성및 remote push (0) | 2016.03.30 |
자료찾아보기. (0) | 2016.01.04 |
리눅스 웹쉘찾기 (0) | 2015.08.06 |
댓글