什么是SQL Server 2008中的platform()

问题描述 投票:-3回答:2

任何人都可以解释一下platform()在SQL Server 2008中的作用吗?

sql-server sql-server-2008
2个回答
4
投票

基于2017年10月的this linkPLATFORM()仍在开发中,无论是否仍然如此,我在快速谷歌搜索中找不到任何相关内容。

似乎PLATFORM()类似于@@VERSION作为上述链接上的Erland引用

当我在我的Azure数据库(基本版)中测试它时,它返回1029,这与我尝试的任何64位实例上返回的值相同。在我的SQL 2000和SQL7实例上,这些实例是32位并且在64位虚拟硬件上运行32位操作系统(我认为),它返回1025.该功能在SQL 6.5中不可用。

这个值显然是某种掩饰。


1
投票

从MSDB存储过程中,它用于查找服务器使用的Windows SKU:

IF ((PLATFORM() & 0x1) = 0x1) -- NT

IF ((PLATFORM() & 0x2) = 0x2) -- Win9x

/* check that local server is not running a desktop SKU */
if( PLATFORM() & 0x100 = 0x100 ) -- Win9x, Office, or MSDE

请注意,这似乎是一个未记录的内部MS功能,因此不建议在用户代码中使用

© www.soinside.com 2019 - 2024. All rights reserved.