DBCC SHRINKFILE
명령은 미러 데이터베이스에 주 서버에서 미러링됩니다. 몇 가지 증거가 있습니다.
프린시 펄에서 샘플 데이터베이스를 작성하십시오.
create database MirroredDb;
go
다음을 사용하여 백업에서 동일한 데이터베이스를 작성하십시오 NORECOVERY
.
restore database MirroredDb
from disk = '\\backupdir\MirroredDb.bak'
with norecovery;
go
그러나 원하는 방식으로 미러링 세션을 설정하십시오.
온 주 데이터베이스의 데이터베이스 파일 크기에서보기 :
use MirroredDb;
go
select
name,
size
from sys.database_files;
내 결과 집합은 다음과 같습니다.
name size
MirroredDb 392
MirroredDb_log 104
온 미러 데이터베이스 스냅 샷을 생성하고 동일한 정보를 보면 :
create database MirroredDbss
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb.ss'
)as snapshot of MirroredDb;
use MirroredDbss;
go
select
name,
size
from sys.database_files;
내 결과 집합은 다음과 같습니다.
name size
MirroredDb 392
MirroredDb_log 104
이제 주 데이터베이스 에서 트랜잭션 로그 파일을 늘리십시오 (1GB로 가져옴).
alter database MirroredDb
modify file
(
name = MirroredDb_log,
size = 1GB
);
go
상기 찾고 주 데이터베이스의 트랜잭션 로그 크기, 우리는 지금 조정 크기를 참조하십시오
use MirroredDb;
go
select
name,
size
from sys.database_files;
내 결과 집합은 다음과 같습니다.
name size
MirroredDb 392
MirroredDb_log 131072
미러 된 데이터베이스 에 다른 스냅 샷을 작성 하고 트랜잭션 로그 파일 크기를 확인하십시오.
create database MirroredDbss2
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb2.ss'
)as snapshot of MirroredDb;
use MirroredDbss2;
go
select
name,
size
from sys.database_files;
내 결과 집합은 다음과 같습니다.
name size
MirroredDb 392
MirroredDb_log 131072
지금은 이렇게 DBCC SHRINKFILE
온 교장 :
use MirroredDb;
go
dbcc shrinkfile('MirroredDb_log', 0);
go
select
name,
size
from sys.database_files;
내 결과 집합은 다음과 같습니다.
name size
MirroredDb 392
MirroredDb_log 104
미러 된 데이터베이스 에서 세 번째 및 최종 스냅 샷을 작성 하고 크기를보십시오.
create database MirroredDbss3
on
(
name = 'MirroredDb',
filename = 'c:\sqlserver\MirroedDb3.ss'
)as snapshot of MirroredDb;
use MirroredDbss3;
go
select
name,
size
from sys.database_files;
그리고 다음과 같은 결과 집합이 나타납니다.
name size
MirroredDb 392
MirroredDb_log 104
여기에서 볼 수 있듯이 DBCC SHRINKFILE
명령은 실제로 미러 데이터베이스에 미러링됩니다.