-- 判斷具有指定資料庫存取權的相關資訊
USE [master]
GO
ALTER DATABASE [Test] SET OFFLINE ; -- 設置離線
GO
DECLARE @Status BIGINT
SELECT @Status= status FROM master. dbo. sysdatabases WHERE Name = 'Test'
SELECT HAS_DBACCESS ( 'Test' ) AS [ 是否可訪問 ],
DATABASEPROPERTY ( 'Test' , 'issingleuser' ) AS [ 是否單用戶 ],
@Status & ltrim ( str ( convert ( int , 0x03e0), 11)) AS [ 數據狀態為時可用 ]
/*
是否可訪問 是否單用戶 數據狀態為時可用
0 0 512
*/
GO
ALTER DATABASE [Test] SET ONLINE ; -- 設置在線
GO
DECLARE @Status BIGINT
SELECT @Status= status FROM master. dbo. sysdatabases WHERE Name = 'Test'
SELECT HAS_DBACCESS ( 'Test' ) AS [ 是否可訪問 ],
DATABASEPROPERTY ( 'Test' , 'issingleuser' ) AS [ 是否單用戶 ],
@Status & ltrim ( str ( convert ( int , 0x03e0), 11)) AS [ 數據狀態為時可用 ]
/*
是否可訪問 是否單用戶 數據狀態為時可用
1 0 0
*/