我有一个用于列出数据库的查询:
SELECT * FROM sys.databases
但是这个查询在 SQL Server 2000 中不起作用。
以下查询适用于 SQL Server 2000 及更高版本:
SELECT NAME FROM sysdatabases;
我发现 this article 有一些关于
sys.database
的注释(并且还指出出于兼容性原因保留了 sysdatabases)。我想知道的是,是否有任何原因我不应该使用
sysdatabases
来获取数据库名称列表?除了使用 sys.databases
是较新的样式之外,我在其他任何地方都没有看到任何东西。 最佳答案
我可以想到以下原因:
换句话说:是的,您可以使用
sysdatabases
,但是一旦发布不再支持 sysdatabases
的 SQL Server 版本,您可能需要重写所有内容。 sysdatabases
)在 SQL Server 2000 中保持“原样”并且不会获得新功能。因此,它们包含 less information than their new counterparts :关于sql-server - SQL Server sys.databases 与 sysdatabases?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34070483/