从 6.5 到 >= SQL Server 2008 的 SQL 查询转换

Posted

技术标签:

【中文标题】从 6.5 到 >= SQL Server 2008 的 SQL 查询转换【英文标题】:SQL Query conversion from 6.5 to >= SQL Server 2008 【发布时间】:2017-11-14 13:51:25 【问题描述】:

目前我正在做迁移项目。在一个过程中找到了以下查询。我能够从 sys.master_files 表中获取数据库的大小。在 WHERE 条件下使用 segmap。我无法在 sys.master_files 中找到类似的列。请帮我解决这个问题

SELECT sum(size) * 2
FROM master..sysusages U
WHERE U.segmap = 3
  AND U.dbid = db_id(@db_name)

【问题讨论】:

我希望您升级到比 2008 年更新的版本。否则您将从一个不受支持的版本升级到另一个版本。 >. 【参考方案1】:

SYBASE 和 SQLSERVER 曾经共享相同的代码库。因此来自 SYBASE 文档..below is definition of segmap

master..sysusages.segmap 的值含义如下:

3:存储在此段上的数据 4:此段上存储的日志 7:由于7=4+3,日志和数据都存储在这个段上

所以等价的应该是 type='0' 这意味着只获取数据空间

【讨论】:

以上是关于从 6.5 到 >= SQL Server 2008 的 SQL 查询转换的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 6.5 jdbc (jdts) 不兼容

vCenter Server6.5 & SQL Server2014单机部署 - vShpere ESXI6.0-6.5集群管理

centOS 6.5下升级mysql,从5.1升级到5.6

从 AJAX JSON 提交到 SQL Server --> Web 方法

将 XML 从 C# 传递到 SQL Server

从 SQLite 导出到 SQL Server