2009-12-17 40 views
1

稍後介紹一下。如何在SQL Server Express 2008中以非交互方式使數據庫用戶具有某些數據庫角色成員身份

我們有一個SQL Server Express的2008數據庫,其模式被保存在源代碼控制在腳本的形式,最初由Management Studio中的數據庫上打開上下文菜單,然後選擇任務創建|生成腳本。 ..

每個開發者都有一個本地SQL Server Express 2008數據庫,並有一個由CI服務器使用中央SQL Server 2008數據庫。只要開發人員更改本地數據庫的模式,他就會重新生成腳本,將它們與源代碼一起提交,並更新CI服務器使用的中央數據庫上的模式。

有時候,變化是巨大的,這是很容易直接刪除整個數據庫,並使用腳本,這是很容易從頭開始創建它。

,有一個問題。雖然,這些腳本做創建正確的數據庫用戶(比如ServerUser),他們不授予該用戶通過應用程序所需的db_owner角色成員。開發人員必須記得打開Management Studio中ServerUser用戶的屬性對話框,並檢查數據庫角色成員資格列表中的db_owner複選框。不用說,我們經常忘記這一步。我自己,浪費了大約一個小時,試圖弄清楚爲什麼服務器不啓動。作爲腳本執行的一部分,我認爲我可以通過簡單的sql insert語句操作[master].[sys].[database_role_members]目錄來自動添加必要的角色成員身份。當然,失敗的錯誤信息不允許對系統目錄進行臨時更新。。愚蠢的我。

不管怎樣,我的問題是這樣的。當數據庫和ServerUser創建時,我們是否可以運行一個SQL腳本?這會使該用戶擁有新數據庫的角色成員資格db_owner

謝謝。

回答

相關問題