2011-03-18 137 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