能否根据SQL Server许可证查询最大数据库大小?

2023-12-31

根据 SQL Server 数据库的许可和配置,您可能有非常不同的大小限制。例如:

  • SQL Server 2012 Express 的限制为 10GB
  • SQL Server 2008 R2 Express 的限制为 10GB
  • SQL Server 2008 Express 的限制为 4GB

是否有可能查询数据库服务器以找出最大大小是多少?

我可以查询以了解当前大小:

name      DataFileSizeMB LogFileSizeMB  
--------- -------------- -------------  
master          4.875000      1.750000  
tempdb          8.000000      0.500000  
model           4.062500      1.000000  
msdb           16.687500      4.562500  
Harrison       21.937500     18.187500  
Lennon        122.750000    425.625000  
McCartney      19.937500     49.687500  
Starr          19.937500     18.187500  

我现在所追求的是一种根据许可不是可用的硬盘空间。


试试这个——

SELECT 
      d.server_name
    , d.sversion_name
    , d.edition
    , max_db_size_in_gb = 
        CASE WHEN engine_edition = 4 
            THEN 
                CASE 
                    WHEN d.sversion_name LIKE '%2012%' THEN 10
                    WHEN d.sversion_name LIKE '%2008 R2%' THEN 10
                    WHEN d.sversion_name LIKE '%2008%' THEN 4 
                    WHEN d.sversion_name LIKE '%2005%' THEN 4
                END
            ELSE -1 
        END
FROM (
    SELECT 
          sversion_name = SUBSTRING(v.ver, 0, CHARINDEX('-', v.ver) - 1)
        , engine_edition = SERVERPROPERTY('EngineEdition')
        , edition = SERVERPROPERTY('Edition')
        , server_name = SERVERPROPERTY('ServerName')
    FROM (SELECT ver = @@VERSION) v
) d

另外,尝试此查询来获取有关数据库的扩展信息 -

IF EXISTS(
    SELECT 1 
    FROM tempdb.dbo.sysobjects 
    WHERE id = OBJECT_ID('tempdb.dbo.#DBObj')
) DROP TABLE #DBObj

CREATE TABLE #DBObj
(
      [DB] SYSNAME
    , reservedpages INT
    , usedpages INT
    , pages INT
)

EXEC sys.sp_MSforeachdb '
    USE [?]

    INSERT INTO #DBObj
    (
          [DB]
        , reservedpages
        , usedpages
        , pages
    )
    SELECT 
          DB_NAME()
        , pg.reservedpages
        , pg.usedpages
        , pg.pages   
    FROM (
        SELECT
              reservedpages = SUM(a.total_pages)
            , usedpages = SUM(a.used_pages)
            , pages = SUM(
                CASE
                    WHEN it.internal_type IN (202, 204, 207, 211, 212, 213, 214, 215, 216, 221, 222) THEN 0
                    WHEN a.[type] != 1 AND p.index_id < 2 THEN a.used_pages
                    WHEN p.index_id < 2 THEN a.data_pages ELSE 0
                END
              )
        FROM sys.partitions p
        JOIN sys.allocation_units a ON p.[partition_id] = a.container_id
        LEFT JOIN sys.internal_tables it ON p.[object_id] = it.[object_id]
    ) pg'

SELECT 
      d.name
    , total_size_mb = data.row_size_mb + data.log_size_mb
    , data.log_size_mb
    , data.row_size_mb
    , reserved_space_mb = CAST(do.reservedpages * 8. / 1024 AS DECIMAL(10,2))
    , data_size_mb = CAST(do.pages * 8. / 1024 AS DECIMAL(10,2))
    , index_size_mb = CAST((do.usedpages - do.pages) * 8. / 1024 AS DECIMAL(10,2))
    , unused_size_mb = CAST((do.reservedpages - do.usedpages) * 8. / 1024 AS DECIMAL(10,2))
    , unallocated_space_mb = 
        CAST(CASE WHEN data.row_size >= do.reservedpages 
            THEN (data.row_size - do.reservedpages) * 8. / 1024 
            ELSE 0
        END AS DECIMAL(10,2))
FROM (
    SELECT
          df2.database_id
        , log_size_mb = CAST(df2.log_size * 8. / 1024 AS DECIMAL(10,2))
        , row_size_mb = CAST(df2.row_size * 8. / 1024 AS DECIMAL(10,2)) 
        , df2.log_size
        , df2.row_size
    FROM (
        SELECT 
              df.database_id
            , log_size = SUM(CASE WHEN df.type_desc = 'LOG' THEN df.size END)
            , row_size = SUM(CASE WHEN df.type_desc = 'ROWS' THEN df.size END)
        FROM sys.master_files df
        GROUP BY df.database_id 
    ) df2
) data
JOIN sys.databases d ON data.database_id = d.database_id
JOIN #DBObj do ON do.DB = d.name
ORDER BY data.row_size_mb + data.log_size_mb DESC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

能否根据SQL Server许可证查询最大数据库大小? 的相关文章

  • pymssql 库中的参数绑定是否正确实现?

    我使用 pymsqsql 库从 Python 程序调用极其简单的查询 with self conn cursor as cursor cursor execute select extra id from mytable where id
  • 如何在 SQL Server 中不循环更新列?

    出于性能角度的考虑 我只需要删除循环并使用一些联接或其他解决方案来更新 Result 表中的数据并获得循环返回的相同结果 标量函数 CREATE FUNCTION MultiplyerScl a INT b INT RETURNS INT
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 总和和不同不会改变结果?

    我是一个新手 试图在这里解决这个问题 到目前为止还没有运气 非常感谢任何帮助 Select Distinct AB agency no ab branch no AS AGENCY BRANCH count AB agency no ab
  • C# 和 SQL Server:如果字符串值为空,如何在命令参数中插入 DBNull.Value?

    我已经搜索了几个小时 但找不到解决方案 我正在将一些字符串插入 SQL 但是有时 我用来执行此操作的方法可能包含空字符串 即 因此我想在 SQL Server 中插入一个空值 首先我测试我的方法以确保我能够插入DBNull Value通过使
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • 使用 DISTINCT 进行查询需要很长时间

    我正在使用 Microsoft Access 2003 我的项目中的一个表单需要很长时间才能向用户显示 这是适用的查询 SELECT DISTINCT tb KonzeptDaten DFCC tb KonzeptDaten OBD Cod
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • hive - 在值范围之间将一行拆分为多行

    我在下面有一张表 想按从开始列到结束列的范围拆分行 即 id 和 value 应该对开始和结束之间的每个值重复 包括两者 id value start end 1 5 1 4 2 8 5 9 所需输出 id value current
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

    我正在尝试使用 SSIS 将数据从 SQL Server 数据库导出到 Excel 文件中 我希望从第 6 行插入数据 第 5 行有标题 我可以映射标题名称Excel 目标编辑器 通过编写 SQL 命令到 SQL 表头 SELECT FRO
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 基本的多对多sql选择查询

    我认为这应该很容易 但它却在逃避我 我的帐户和帐户组之间存在多对多关系 一个帐户可以位于零个或多个组中 因此我使用标准连接表 Accounts ID BankName AcctNumber Balance AccountGroups ID
  • 默认情况下在sql日期时间列中插入null/空值

    如何在 SQL Server 中创建一个表 默认日期时间为空 而不是1900 01 01 00 00 00 000我得到了 我的意思是 如果没有插入值 则默认值应该为 null 空等 如果没有插入值 默认值应该是null empty 在表定
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是

随机推荐

  • C# 中的 3D 数学有什么好的库吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在编写一个工具 它将用于处理一堆 3D 数据 执行诸如旋转对象 平移 缩放和所有这些好东西之类的操
  • 如何向用户询问文件名?

    搜索 FileDialog 的调用 我想向用户询问 Pharo 4 0 中的文件名 通过观察员我找到了班级 FileDialogWindow 用一种方法 answerFileName 寻找 answerFileName 的发件人 我去上课
  • Google Maps API:缩放时 SVG 标记相对于地图移动

    我在地图上创建了两个标记 一个是标准标记 另一个使用 SVG 路径 当我缩小时 标准标记不会相对于地图移动 但 SVG 标记会相对移动 这是一个小提琴 你可以明白我的意思 http jsfiddle net 9A4ET http jsfid
  • 如何使用 Spray Routing 测试自定义 Json 对象

    我正在 mongodb 之上创建一个带有 Spray routing 的 Rest API 以进行一些 CRUD 操作 这一切都工作正常 预计每当我尝试使用 specs2 测试它时 以下规格 class RestServiceSpec ex
  • 使用 MapView 抛出 ClassNotFoundException

    我正在努力寻找这段代码锁定的原因 据我所知 我在清单文件中声明了正确的权限 如下所示 我尝试在实际设备 Droid x w 2 3 3 和 AVD 上运行它 但没有成功 我还附加了 logcat 这使我遇到了 classnotfound 异
  • 如何验证x509证书的签名?

    我有两个 X509Certificate 对象 x1 和 x2 我想验证 x2 是否由 x1 签名 我认为这是通过 x1 的公钥和 x2 的签名来完成的 具体如何做到这一点 我还想知道将 x2 的发行者与 x1 的主题进行逐字节比较并在不同
  • 使用node js按名称过滤

    有什么方法可以过滤具有给定扩展名的文件 然后进一步过滤它们 例如 我有 txt扩展 我想得到我所有的 txt来自数组 file animal bio txt xray pdf fish bio txt mammal doc txt huma
  • PHP DateTime::createFromFormat 不起作用

    DateTime createFromFormat似乎无法正常工作 有谁知道原因和 或如何修复它 鉴于此代码 var dump DateTime createFromFormat m 02 gt format m var dump Date
  • 我什么时候可以安全地使用 HTML5 中的新
    元素?

    12 月 16 日 HTML5 扩展规范
  • Java 记录器控制台流重复输出

    我希望这个问题有一个简单的答案 我正在尝试将记录器添加到我的 Java 应用程序中 我能够完美地格式化日志文件 但在尝试将 ConsoleHandler 添加到记录器以格式化控制台输出时遇到了问题 添加 ConsoleHandler 后 每
  • 为什么所有指向结构的指针必须具有相同的大小?

    C 标准规定 指向 void 的指针应具有相同的表示和对齐方式 要求作为指向字符类型的指针 同样 指针 兼容类型的合格或不合格版本应具有 相同的表示和对齐要求 所有指针指向 结构类型应具有相同的表示和对齐方式 要求彼此一致 所有指向联合类型
  • Maven 多模块:组装 WAR 时出错:需要 webxml 属性

    我正在将单个 Eclipse Maven 管理的 webapp 项目转换为多模块 Maven 项目 这是一个用于试验 Maven 的测试项目 因此请随意提供任何类型的建议 单个项目 Web 应用程序没有任何错误 成功编译并在部署时正常运行
  • 使用命令提示符启动命令和目标目录安装软件

    我正在尝试使用以下命令使用命令提示符安装软件 启动 wait d C abc C Users abc exe silent norestart 我想将软件安装在 c abc 文件夹中 但它安装在软件默认目录中 有没有办法使用启动命令将其安装
  • MATLAB:基类的导入包

    我有一个基类 A 和一个派生类 B 它们存储在以下文件夹结构中 myPackage package Path A folder of class A A m filename of class B B m 现在我想使用具有以下头部的 B 类
  • 在 OSX Startup 上启动 unicorn

    我目前正在 osx lion 下使用 rvm 和 unicorn 进行服务器管理 我也使用宝石 因此 为了启动我的服务器 我执行以下操作 cd xyz project unicorn c xyz project config unicorn
  • XML 中的根布局是什么?

  • 将 FullCalendar 方法与 AngularUI 包装器一起使用

    我正在尝试将 AngularUI 的日历包装器集成到我的应用程序中 并且日历初始化工作正常 但是 我不知道如何从这里调用日历方法 这是我的控制器代码 scope events scope calendarOptions calendar h
  • 使用 XMPP 创建组时收到“XMPPException$XMPPErrorException:XMPPError:服务不可用 - 取消”(4.1.3)

    我在使用 XMPP 4 1 3 创建聊天组时遇到问题 我的代码是 try Get the MultiUserChatManager MultiUserChatManager manager MultiUserChatManager getI
  • 电子邮件仅发送给第一个收件人 smtp 邮件 python

    我知道 同一个查询有数百个问题 为此事道歉 我几乎每一个都尝试过 但仍然没有得到解决方案 事实上 我从 stackoverflow 查询之一复制了一些代码 并根据我的要求对其进行了改进 我正在编写一个脚本 使用 python 为我们的一台服
  • 能否根据SQL Server许可证查询最大数据库大小?

    根据 SQL Server 数据库的许可和配置 您可能有非常不同的大小限制 例如 SQL Server 2012 Express 的限制为 10GB SQL Server 2008 R2 Express 的限制为 10GB SQL Serv