我在80的compatibility_level ( Server 2000)中有许多数据库;我需要执行以下操作:
select
sf.fileid, sf.groupid, sf.name, sf.filename, mf.database_id
from
sys.sysfiles sf
JOIN
sys.master_files mf ON sf.filename = mf.physical_name COLLATE DATABASE_DEFAULT
CROSS APPLY
sys.dm_os_volume_stats (mf.database_id, sf.fileid)但我得到了以下错误:
Msg 102,15级,状态1,第4行 “.”附近的语法不正确。
我无法更改兼容模式,也不知道如何从master db的上下文中为我的数据库运行这个特定的脚本。
发布于 2015-03-19 15:28:58
“交叉应用”在早期版本的SQL中是不允许的,在运行在旧的兼容性模型中的数据库中也是不允许的。
发布于 2015-02-27 14:04:52
在Server 2000中,没有“sys”文件。很多人都有等价物,你可以在下面看到一个很好的图表:
http://www.mssqltips.com/sqlservertip/1037/system-information-in-sql-server-2000-vs-sql-server-2005/
例如,在2000年有一个dbo.sysfiles,但没有sys.sysfiles。这些表不一定包含相同的列.
https://stackoverflow.com/questions/28765656
复制相似问题