我們有一個使用SQL Server身份驗證的SQL Server,可以部署的用戶以及其他可以讀取的數據庫,爲了簡單起見,我會稱之爲「部署」和「網絡」。發佈Visual Studio數據庫項目時可以忽略登錄嗎?
我很難使用Visual Studio(2012)數據庫項目設置權限,因爲「部署」用戶沒有足夠的權限來創建新的服務器登錄名。
我可以添加腳本,做這樣的事情:
GRANT SELECT ON foo.bar TO [web]
這就生悶氣(用 「SQL71501:權限有一個懸而未決的參考對象[網絡]。」),直到我補充一下:
CREATE USER [web] FOR LOGIN [web];
這於是生悶氣(用 「SQL71501:用戶:[幅]具有未解決的引用登錄[網絡]。」),直到我添加:
CREATE LOGIN [web] WITH PASSWORD = '******';
這則失敗發佈:
刪除權限...
滴許可...
創建[WEBUSER] ...
(67,1):SQL72014:.net SqlClient數據提供:消息15247,級別16,狀態1,行1用戶沒有執行此操作的權限。
(67,0):SQL72045:腳本執行錯誤。執行的腳本:
CREATE LOGIN [webuser]
WITH PASSWORD ='**';執行批處理時發生錯誤。
這是沒有意義的,因爲用戶已經存在,所以不應該需要創建
我怎樣才能讓出版通過部署用戶,但不嘗試(重新)創建登錄每一次?或者,是否可以引用外部創建的用戶,而不必發佈它?