Azure SQL重命名数据库后,Microsoft Entra Admin脚本仍返回旧名称
问题解答
1. Microsoft Entra Admin查询sys.databases会返回已重命名/删除的数据库吗?
不会,正常情况下sys.databases只返回当前SQL实例上实际存在的活跃数据库,已重命名的旧名称、已删除的库都不会出现在结果里。
你碰到的脚本仍能查到旧名的情况,大概率是这几个原因:
- 脚本可能连接到了错误的SQL实例,或者脚本内部缓存了之前的查询结果(比如变量未及时更新)
- 极少数情况下Azure SQL的元数据同步会有短暂延迟,但这类延迟通常只会持续几分钟,不会长期存在
- 注意你提到的
sql-MyProj-dev-e2-001.database.windows.net是服务器的FQDN地址,并非数据库名称!如果脚本误将服务器名当成数据库名查询,就会出现这种矛盾的结果
2. 是否有字段可筛选仅返回活跃数据库?
有的,使用sys.databases中的state_desc字段即可:
- 正常活跃的数据库,
state_desc的值为ONLINE - 诸如
RESTORING、RECOVERING、OFFLINE等状态,代表非活跃或异常的数据库
你可以修改查询语句,仅返回在线的活跃数据库:
SELECT name FROM sys.databases WHERE name LIKE '%-e2-%' AND name LIKE '%-MyProj-%' AND state_desc = 'ONLINE';
另外建议检查脚本逻辑:确认脚本是否正确区分了服务器名称和数据库名称,重命名操作后是否重新获取了最新的元数据,而非使用缓存值。
内容的提问来源于stack exchange,提问作者Don Chambers
相关产品推荐
相关产品推荐

