由於帳戶權限或數據庫被標記爲只讀,確定給定SQL Server表是否爲只讀的最佳方式是什麼?確定SQL Server表是否爲只讀
0
A
回答
0
你的意思是除了試圖寫入它的權利?
0
在SQL Server的Information Schema Views,特別是,TABLE_PRIVILEGES有一個翻身。
1
--for database (updated for newer versions)
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability')
--for tables.
SELECT
*
FROM
sys.tables t
LEFT JOIN
sys.database_permissions dp2 ON dp2.major_id = t.object_id AND dp2.permission_name = 'SELECT'
WHERE
NOT EXISTS (SELECT * FROM
sys.database_permissions dp
WHERE
dp.major_id = t.object_id
AND
dp.permission_name IN ('INSERT', 'DELETE', 'UPDATE'))
修改*如需要得到你想要的東西:這個檢查無/ SELECT那裏沒有I/U/d權利
你也有FILEGROUPPROPERTY等,如果您有隻讀文件組
編輯:用於當前連接和每個用戶的直接表權限。不通過組層級迭代
SELECT
*
FROM
sys.tables t
JOIN
sys.database_permissions dp2 ON dp2.major_id = t.object_id AND dp2.permission_name = 'SELECT'
WHERE
dp2.grantee_principal_id = USER_ID()
AND
dp.permission_name IN ('INSERT', 'DELETE', 'UPDATE'))
相關問題
- 1. SQL Server確定值是否單調
- 2. 只讀在SQL Server
- 3. 確定SQLite 3數據庫是否爲只讀 - 不使用sqlite3_db_readonly()
- 4. 確定SQL Server CE中是否存在表?
- 5. SQL Server數據庫是隻讀錯誤
- 6. SQL Server XML是隻讀的嗎?
- 7. SQL Server 2005 - 將列設置爲只讀
- 8. SQL Server只讀權限
- 9. SQL Server 2012只讀連接
- 10. 確保SQL查詢是隻讀的
- 11. SQL Server如何確定存儲過程對「只讀」應用程序意圖是否有效?
- 12. 確定SQL Server中是否存在臨時表的最佳方法是什麼?
- 13. SQL Server是表鎖定?
- 14. 如何確定Word文檔是否只讀?
- 15. 確定SqlTransaction是否寫入數據或只讀
- 16. 有沒有辦法確定輸入流是否只讀?
- 17. 確定Access數據庫是否具有隻讀權限
- 18. 如何在運行時確定只讀屬性是否較弱?
- 19. SQL:以編程方式確定表是否爲視圖
- 20. 如何確定列表是否爲alist
- 21. 確定SQL Server數據庫是否恢復
- 22. 如何確定我是否安裝了本地SQL Server 2008 R2
- 23. 如何確定SQL Server是否支持複製
- 24. 確定夏令時是否激活? SQL Server
- 25. 如何確定SQL Server實例是否區分大小寫
- 26. 如何確定SQL Server Management Studio Express(2005)是否已安裝?
- 27. 如何確定SQL Server 2012中是否存在序列?
- 28. 如何確定SQL Server中是否存在數據庫角色?
- 29. 表是「只讀」
- 30. 確定這是SQL Server作業嗎?
我使用屬於public和db_datareader角色的帳戶連接到數據庫。證實它具有隻讀訪問權限,並且這些查詢都沒有表明我擁有隻讀訪問權限,從我所知道的情況來看。 – Rono 2010-04-08 02:34:17
從這個意義上說,如果連接是隻讀的,則無法檢測到連接。我給出的第二個查詢會告訴你public和db_datareader沒有I/U/D權限,它們是相同的。 – gbn 2010-04-08 04:23:02
我應該看哪些列來確定?我在一個只讀連接和一個可編輯連接上運行了第二個查詢,我沒有看到它們之間有用的區別。或者你說這是不可能的? – Rono 2010-04-18 02:34:34