SQL Server 2005+의 경우 다음을 사용할 수 있습니다.
SELECT FILE_ID, type, type_desc,
CAST( CAST( (CASE WHEN size < 128 THEN 128 ELSE size END) * 8. / 1024. AS INT ) AS VARCHAR(20) ) + 'MB' AS SIZE,
CASE max_size WHEN -1 THEN 'UNLIMITED' ELSE CAST( CAST( max_size * 8. / 1024. AS INT ) AS VARCHAR(20) ) + 'MB' END AS MAXSIZE,
CASE is_percent_growth
WHEN 0 THEN CAST( CAST( growth * 8. / 1024. AS INT ) AS VARCHAR(20) ) + 'MB'
WHEN 1 THEN CAST( growth AS VARCHAR(30) ) + '%'
END AS FILEGROWTH
FROM sys.master_files
WHERE database_id = DB_ID('model')
GO
모델 데이터베이스에 대한 파일 정의를 검색합니다.
나중에 CREATE DATABASE 또는 ALTER DATABASE에서 사용할 수 있습니다.
SSMS는 실제로 SMO를 사용하여 이러한 매개 변수를 검색 한 후 다음과 같은 스크립트를 만듭니다.
CREATE DATABASE [aaa] ON PRIMARY
( NAME = N'aaa', FILENAME = N'D:\Data\aaa.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'aaa_log', FILENAME = N'D:\Logs\aaa_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
애플리케이션이 데이터베이스를 작성 중이고 애플리케이션을 수정할 수없는
경우 작성이 완료된 후 ALTER DATABASE를 사용해야합니다.
ALTER DATABASE [aaa] MODIFY FILE ( NAME = N'aaa', MAXSIZE = 102400KB )
GO
ALTER DATABASE [aaa] MODIFY FILE ( NAME = N'aaa_log', FILEGROWTH = 10240KB )
GO
최소한 ALTER DATABASE 권한이 필요합니다
(ALTER ANY DATABASE 서버 권한에 의해 암시 됨
). 첫 번째 코드 샘플 (FROM sys.master_files)을 사용하여 해당 스크립트를 생성 할 수 있습니다.
더 이상 사용되지 않으므로 SQL Server 2008R2에 sysaltfile을 사용하지 않습니다.
행운을 빌어 요,
투자 수익 (ROI)
CREATE DATABASE
왜 스크립트에서 스크립트를 지정할 수 없습니까?