天蓝色 sql DB_ID 不起作用

azure sql DB_ID doesn't work

我已经通过 SSMS 在 AzureSql 服务器中手动创建了一个名为 SnapshotsDb 的数据库。

正在尝试使用 DB_ID() 函数获取 SnapshotsDb 的 ID:

DECLARE @db_id int;  
SET @db_id = DB_ID(N'SnapshotsDb')
PRINT @db_id

不输出

如果我在 sql 服务器的本地实例上尝试相同的逻辑,它会 return 一个与数据库 ID 匹配的 int。

如果您需要 database_id 数据库,您需要查询 sys.databases 系统视图并按数据库名称过滤 WHERE 子句。 sys.databases中的database_id字段是一致的,在数据​​库的生命周期内不会改变。

您不能依赖 DB_ID(),因为该函数可能 return 不同的值,具体取决于您 运行 将其作为异地复制设置的一部分的数据库。您可以阅读更多 here.