我试图在SQL Server 2005中创建数据库并获得以下错误
Msg 1803,Level 16,State 1,Line 2
CREATE DATABASE语句失败.主文件必须至少为32 MB才能容纳模型数据库的副本.
创建SQL
CREATE DATABASE [MyDatabase] ON PRIMARY
( NAME = N'MyDatabase_Data', FILENAME = N'D:\SQL SERVER\DataFiles\MyDatabase\MyDatabase.MDF' , SIZE = 3096KB , MAXSIZE = 29687808KB , FILEGROWTH = 262144KB ),
( NAME = N'MyDatabase_Data2', FILENAME = N'D:\SQL SERVER\DataFiles\MyDatabase\MyDatabase_Data2.ndf' , SIZE = 3096KB , MAXSIZE = 10485760KB , FILEGROWTH = 262144KB ),
FILEGROUP [FG_Indexes]
( NAME = N'MyDatabase_Indexes', FILENAME = N'D:\SQL SERVER\DataFiles\MyDatabase\MyDatabase_Indexes.ndf' , SIZE = 1920KB , MAXSIZE = 27136000KB , FILEGROWTH = 262144KB )
LOG ON
( NAME = N'MyDatabase_Log', FILENAME = N'D:\SQL SERVER\LogFiles\MyDatabase\MyDatabase_Log.LDF' , SIZE = 1920KB , MAXSIZE = 7883776KB , FILEGROWTH = 262144KB )
Run Code Online (Sandbox Code Playgroud)
我检查了msdb大小,它大约是32MB ......
EXEC sp_helpdb @dbname= 'MSDB'
Run Code Online (Sandbox Code Playgroud)
MSDB大小
如何克服此错误并创建数据库(不对create database脚本进行任何更改)?
掌握DB
EXEC sp_helpdb @dbname= 'master'
Run Code Online (Sandbox Code Playgroud)
Dav*_*lum 16
当SQL Server创建新数据库时,它会将model
数据库复制为模板. model
(取决于您的版本)具有特定的初始大小.
有关详细信息,请参阅此MSDN博客.
您声明新数据库的初始大小应为3MB:
CREATE DATABASE [MyDatabase] ON PRIMARY
( NAME = N'MyDatabase_Data', FILENAME = N'D:\SQL SERVER\DataFiles\MyDatabase\MyDatabase.MDF' , SIZE = 3096KB , MAXSIZE = 29687808KB , FILEGROWTH = 262144KB )
Run Code Online (Sandbox Code Playgroud)
您需要增加起始大小以适应model
数据库的初始大小.
注意:默认型号是3MB(在SQL Server 2012上 - 较低版本较少) - 您可能想要了解为什么您的4MB.
所有新创建的数据库都使用Model数据库作为模板.新数据库的开头不小于Model数据库.
您收到的错误表明模型数据库大小为32MB.
要修复它,请创建大小大于模型数据库大小的数据库.
您还可以缩小模型数据库以减小其大小.
使用自定义大小创建数据库的示例代码
CREATE DATABASE Tests
ON
( NAME = 'Tests',
FILENAME = 'c:\tests.mdf',
SIZE = 33000KB )
GO
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15382 次 |
最近记录: |