0

如果这是一个愚蠢的问题,请原谅我,我知道以前有过类似的问题,但我无法让任何事情对我有用。

我使用 SQL Server 2008 数据库在 c# 中开发了一个非常简单的 mvc3 应用程序。我需要将它发布到另一台运行 iis7 的 PC。我也需要数据库结构和内容来配合应用程序。

谁能给我一步一步的演练该怎么做?

提前致谢

4

3 回答 3

1

如果我错了,请纠正我,但我会假设

我也需要数据库结构和内容来配合应用程序。

意味着您需要将数据库的数据库结构和当前内容部署到另一台 PC。

根据您可以使用的工具,这里有几个选项:

  1. 从 Sql Server Management Studio ( http://msdn.microsoft.com/en-us/library/ms188664(v=sql.100).aspx )中使用复制数据库任务

  2. 如果您有 Visual Studio 2010 Premium 或 Ultimate,“数据”菜单下有用于比较和同步数据库的任务 ( http://msdn.microsoft.com/en-us/library/aa833435.aspx#synchronize )

  3. 如果您有 Visual Studio 2k8 数据库,则有类似的功能,但我从未使用过它 (http://msdn.microsoft.com/en-us/library/aa833435(v=vs.90).aspx)

  4. 使用 sqlcmd.exe 创建数据库的转储,移动这些转储,然后使用 sqlcmd 将它们恢复到新环境 ([http://msdn.microsoft.com/en-us/library/ms180944(v=sql.100) .aspx][4],查看维护部分。您只需要进行备份,然后制作类似的 .sql 即可使用 RESTORE 命令。http://msdn.microsoft.com/en-us/library/ ms186858(v=sql.100).aspx)

如果您要在多台机器上经常这样做,并且您的大部分内容都是静态的,请查看创建数据库项目是否会对您有所帮助。(http://msdn.microsoft.com/en-us/library/84b1se47.aspx)

于 2012-05-11T15:26:11.077 回答
1

如果它是一次性的,那么有一种快速简单的方法可以做到这一点,并且有一种长期可编程的方式。

快速简单:将您的应用程序文件复制到新服务器的 web 目录中,然后备份您的数据库,然后在新服务器上恢复它

长期:您可以查看 msdeploy 来推动您的更改,并查看 FluidMigrations 或 MS 数据项目之类的东西来进行数据库更改。

于 2012-05-11T15:47:56.610 回答
1

好的,我现在使用以下步骤使其工作:

  1. 在 Visual Studio 的解决方案资源管理器中右键单击项目名称,然后选择发布,选择File System发布方法并指定目标位置(站点根目录或您可以找到它的某个位置,以便稍后移动文件)。
  2. 打开sql server management studio,找到你的数据库,右键单击它,任务,备份。设置一个目的地(在某个容易找到的地方)并单击确定(受@BobTheJanitor 和@theunderscoregreg 的启发)。
  3. 在 iis 中建立一个新的网站,在任何机器上托管该网站。
  4. 在新站点的根目录中,我添加了一个名为的文件夹app,我将步骤 1 产生的所有文件都放入其中(我是通过 ftp 完成的,但我想你如何将它们放在那里并不重要)。
  5. 在 iis 的连接侧边栏中找到您的新站点,然后右键单击该app文件夹并选择转换为应用程序。
  6. 再次在连接侧边栏中单击Application Pools并选择您的新应用程序分配给的任何一个,右键单击它并选择高级设置。将 .NET 版本设置为 4.0,并在流程模型下将标识设置为(在此处LocalSystem找到此位)
  7. 在新主机上的 SSMS 中,右键单击数据库并选择Restore Database.... 在该To database:字段中输入与第一台机器上的数据库相同的名称。从设备中选择并选择您在步骤 2 中创建的备份文件(我必须将文件类型更改为所有文件才能查看文件),然后单击确定。
  8. 这可能是针对我的情况,不确定。我使用ADO.NET Entity Data Model项目项创建.edmx模型,该模型将连接字符串添加到Web.Config名为 somethingEntities 的文件中。这个连接字符串似乎是特定于电脑的Source=,因为字符串的一部分是指特定的机器,所以我不得不编辑它。再次在 iis 中,选择您的站点,然后选择应用程序文件夹。打开connection stringsASP.NET 部分中的项目。找到 somethingEntities 连接字符串并双击它,你现在应该有一个对话框窗口可以让你编辑它。我所要做的就是将字符串中的电脑名称更改为新主机的名称。

我的新网站正在运行!我远非专家,并意识到我在这里所做的可能不是最佳实践,但它确实有效。如果有人可以提出改进建议或更好的策略,我将更新此答案或仅接受更好的答案。

于 2012-05-14T09:10:25.060 回答