Mau*_*mek 3 sql-server database-size restore
我有一个 SQL Server(版本 11.0.5058)。我尝试从 bak 文件恢复数据库,但收到错误消息:
CREATE DATABASE 或 ALTER DATABASE 失败,因为产生的累积数据库大小将超过每个数据库 10240 MB 的许可限制。
有人告诉我,我没有 Express 实例,因此我没有 10GB 的数据库限制。我无法找到信息来验证这一点。虽然在Help->About下没有出现Express这个词。如何验证数据库限制信息?
可能是什么问题?这是我可以更改的配置吗?
Kin*_*hah 11
您必须检查以查看SERVERPROPERTY ('Edition') AS ServerEdition您安装的实例是 Express 版还是标准版或企业版。
您可以使用以下 T-SQL :
SELECT
SERVERPROPERTY ('MachineName') AS PhysicalMachineName,
SERVERPROPERTY ('ServerName') AS SQLServerName,
SERVERPROPERTY ('Edition') AS ServerEdition,
CAST(SUBSTRING(@@Version,charindex('SQL',@@version, 1),15) AS VARCHAR(255)) + ' + '
+ CAST (SERVERPROPERTY ('productlevel')AS VARCHAR (50)) + ' + (Build'
+ CAST (SERVERPROPERTY ('ProductVersion') AS VARCHAR (50)) +')' AS ProductVersion
Run Code Online (Sandbox Code Playgroud)
另一种变体告诉您基于版本的数据库大小限制(请注意,-1 表示无限制)
SELECT
SERVERPROPERTY ('MachineName') AS PhysicalMachineName,
SERVERPROPERTY ('ServerName') AS SQLServerName,
SERVERPROPERTY ('Edition') AS ServerEdition,
CAST(SUBSTRING(@@Version,charindex('SQL',@@version, 1),15) AS VARCHAR(255)) + ' + '
+ CAST (SERVERPROPERTY ('productlevel')AS VARCHAR (50)) + ' + (Build '
+ CAST (SERVERPROPERTY ('ProductVersion') AS VARCHAR (50)) +')' AS ProductVersion
, case when cast(SERVERPROPERTY ('Edition') as varchar(255)) like '%express%'
then
case
when (
CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') as varchar(128)), 4) as int) >=10 -- major
and CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') as varchar(128)), 3) as int) in (0,50) -- minor
) then 10 -- this is sql server 2008R2 and up
when (
CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') as varchar(128)), 4) as int) <= 10
and CAST(PARSENAME(CAST(SERVERPROPERTY('ProductVersion') as varchar(128)), 3) as int) < 50
) then 4 -- this is sql server 2008 and less
end
else -1
end as EditionLimit
Run Code Online (Sandbox Code Playgroud)
从 sql server 2008R2 开始,Express 版数据库限制从 4GB 增加到 10GB。