加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2005 – SQL Server:如何判断数据库是否是系统数据

发布时间:2020-12-12 16:55:45 所属栏目:MsSql教程 来源:网络整理
导读:我知道到目前为止(至少MSSQL 2005),系统数据库是master,model,msdb和tempdb. 据我所知,事实上,这并不能保证在将来得以保存. sys.databases视图和sys.sysdatabases视图都不会告诉我数据库是否被视为系统数据库. 有没有可以获得这个信息(数据库是否被认为是系统
我知道到目前为止(至少MSSQL 2005),系统数据库是master,model,msdb和tempdb.

据我所知,事实上,这并不能保证在将来得以保存. sys.databases视图和sys.sysdatabases视图都不会告诉我数据库是否被视为系统数据库.

有没有可以获得这个信息(数据库是否被认为是系统数据库)?

解决方法

刚刚分入Microsoft.SqlServer.Management.Smo. Database对象(由Microsoft本身提供!)
他们只是使用以下语句:
CAST(case when dtb.name in ('master','model','msdb','tempdb') 
   then 1 
   else dtb.is_distributor end AS bit) AS [IsSystemObject]

简而言之:如果一个数据库命名为master,msdb或tempdb,那么它是一个系统db;
它也是系统db,如果视图sys.databases中的字段is_distributor = 1.

希望这可以帮助

吉米

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读