2010-05-31 179 views
3

我最近已经到达了我正在开发的ASP.net MVC应用程序已准备好部署到生产服务器的阶段。我已经制定了如何发布应用程序 - 我已经获得了服务器上的所有文件,并且可以通过互联网访问它们。部署ASP.Net MVC应用程序

但是,我不能解决如何部署我的数据库。该服务器安装了SQL Server Management Studio Express,因为使用的数据库是SQL Server Express数据库。我有服务器实例启动并运行 - 我只是不知道如何将表等添加到数据库。

我已经在开发机器上创建了“CREATE TABLE”脚本,但据我所知,Management Studio没有提供任何方法来实际运行这些脚本。我浏览了所有可以看到的菜单项,而且都没有工作。即使使用“创建新查询...”选项并粘贴脚本也不起作用。

当我尝试“文件 - >打开...”并选择一个脚本来运行,从工具栏上的下拉列表中设置正确的数据库,然后执行脚本,它抱怨没有找到数据库文件。甚至当我设置USE [...]语句的正确路径

删除USE [...]声明,脚本抱怨说,它无法找到[dbo].[Invoices]对象;但是,它不应能够找到它,因为它的努力创建

TL;博士:什么是最好的方式确保生产机器上的数据库与我的开发机器上的数据库相匹配?

编辑:其中一个脚本是在线here。输出(在前两行后删除)是here

+0

你可以向我们展示脚本的行,它试图创建'[dbo]。[Invoices]'表(错误大概来自哪里)? – 2010-05-31 01:28:19

+0

@codeka - 完成。 – 2010-05-31 01:35:47

回答

2

DATE数据类型在SQL Server 2008中大概增加,生产服务器只运行SQL Server 2005,这就是为什么你会得到“一栏,参数,或变量#2:找不到数据类型日期”错误。

您必须将您的数据类型更改为DATETIME(SQL Server 2005支持该数据类型)。

+0

其次。该脚本失败,因为它无法创建表...这解释了a_mod正在获取的其他错误。 – Tommy 2010-05-31 01:43:39

+0

谢谢,你是对的。这(以及重新运行所有其他脚本以使依赖关系得到解决)运行良好。 – 2010-05-31 01:51:22

0

你只是指模式或所有数据?如果所有的数据,我会做你的dev macine备份,然后恢复你的生产机器。此外,像你提到的那些类型的错误让我怀疑你的脚本是否正确。你看过它们以确保生成正确类型的脚本吗?您是否为所有表格和对象生成脚本?