2011-03-18 143 views
0

我在辦公室PC上使用了sql server express和visual studio。我有一個數據庫abcDB。我創建了一個登錄密碼='abcpass',默認數據庫= abcDB,備份數據庫是否需要登錄和用戶備份

現在是一個winform應用程序,當通過文本框提供正確的ID和密碼時,允許訪問abcDB。

,如果我想用我的家用電腦相同的應用程序,然後將我有什麼要執行的任務:

  1. 創建我的應用程序

  2. 的一個.exe從安裝該應用程序的.EXE在我的家用電腦

  3. 在我的家用電腦上安裝SQL Server(我一定要安裝同一版本上我辦公室的電腦)

  4. 我不會安裝SQL Server Management Studio中,我只需要使用的應用程序,而不是使用該應用程序

  5. 但什麼,我在我的辦公室的電腦做數據庫)

  6. 開始玩關於數據庫。我會備份它並在家用電腦上恢復。這也將採取'abclogin'的備份?或者我將不得不從sqlcmd再次創建它或在家用電腦上安裝管理工作室。

當我創建abclogin默認數據庫= ABCDB,那時它存儲這個細節在abcDB.mdf文件或將其保存在其他地方?

回答

1

像登錄這樣的東西存儲在SQL Server主表中 - 他們是而不是您的備份abcDB的一部分。

另一方面,用戶是數據庫的一部分,因此他們會與您的數據一起備份。

因此,當您在另一臺計算機上恢復數據庫時,數據庫將包含用戶,但是如果它們依賴於登錄,那麼登錄可能會從該SQL Server的master數據庫中丟失(並且需要重新創建,例如作爲你的安裝的一部分)

+0

好吧,先生,如果我有一個軟件,並希望將其安裝在客戶的電腦上,並且客戶將通過軟件插入數據,在這種情況下,我不想使用Windows身份驗證,所以我選擇應用程序角色或SQL Server登錄。所以我用sql server登錄。所以現在,當客戶打開applcn。然後他進入登錄。所以在這種情況下,我將不得不從sqlcmd手動創建該登錄名? - sqlchild – sqlchild 2011-03-18 13:50:36

+1

@sqlchild:是的,你將不得不在任何客戶位置創建一次** SQL Server登錄名 - 通常是在服務器端安裝期間要做的事情(您正在服務器上安裝數據庫,之後全部 - 包含一個腳本來創建登錄名並將您的用戶與這些登錄名相關聯) – 2011-03-18 13:58:50

+0

但是如果我選擇了應用程序角色呢?他們是否與備份abcDB一起備份? – sqlchild 2011-03-18 14:05:11