Sql-Server
關於在系統數據庫上創建使用者對象的建議
我想為我們的生產數據庫使用 Service Broker 在 SQL Server 上設置一堆事件通知。
我已經在我的測試機器上設置了一個新數據庫,一切正常。問題是我寧願不必為此通知目的部署整個數據庫,並且我不能使用已經存在的使用者數據庫之一(無論如何,這將是一團糟)。
如果可能的話,我最好將通知對象部署在 上
master
,但首先我想確定這實際上是一個好主意(如果確實如此的話)。來自線上書籍:
不要在 master 中創建使用者對象。如果這樣做,則必須更頻繁地備份 master。
Books Online建議我不要在 中創建使用者對象
master
,但在這種情況下,我認為這不是什麼大問題,因為我並不真正關心我是否最終會失去一些通知數據。此外,我們已經master
經常備份我們的數據庫。在這種情況下我應該使用
master
數據庫還是其他東西?
master
在設置之前,我是否應該了解有關數據庫、服務代理或事件通知的資訊?
在繼續之前,我想知道一些關於此實現的問題:
- 如果微軟以某種方式在新版本中創建了一個具有完全相同名稱的對象,會發生什麼情況?
- 如果數據庫遷移到一個新的伺服器,怎麼會有人知道 master 中有東西要遷移?
- 如果您的對象損壞了主數據庫會發生什麼?
- master 中有額外的數據會對實例產生什麼不利影響?
- 如果在此實例上執行就地升級會發生什麼?(即,將 2008 升級到 2008 R2)
- 從備份中恢復整個實例會受到怎樣的影響?
其中大部分我不知道答案,但是當我考慮將對象放入 master 時會出現這些問題。