Recipe: 把SQL数据库部署到远程主机环境(第一部分)(3)

作者:Scott Guthrie 来源:Scott Guthrie博客中文版 时间:2007-09-23 13:07:00 

第二步:为我们的数据库创建 .SQL 安装脚本

至此,我们建立了新的应用和本地数据库,向数据库中添加了自定义数据,象新用户账号以及他们的角色成员,以及新的相片和相册等,我们想要把这应用部署到一个远程主机服务器上去。

我们要做的第一步是创建 .SQL 脚本文件,这些文件将允许我们在远程主机账号上自动重建完全一样的数据库定义和数据库内容。我们将使用作为SQL Hosting Toolkit的一部分安装在本机上的数据库发布向导(Database Publishing Wizard)来做。

一开始,点击 Visual Studio 或 Visual Web Developer中的服务器管理器页,查看一下我们的程序所用的数据库:

在上图中可以看到,我们用到了2个SQL Express数据库:ASPNETDB.MDF 和 Personal.MDF。想为每个数据库生成一个 .SQL 安装文件的话,只要选择管理器里的数据库,然后按右鼠标,在其上选择“Publish to Provider(发布到提供者)”上下文菜单项(是由数据库发布向导添加的):

这会启动数据库发布向导,允许我们按部就班地生成数据库的安装脚本。就象在本帖子里的简介部分提到的一样,数据库发布向导支持2个部署选项: 1) 生成 .SQL 安装脚本文件,你能将它们拷贝到远程主机上然后使用他们现有的管理控制面板工具来运行它们,或者 2) 使用主机网站提供的数据库发布Web Service直接把数据库上传。

在这第一个教程里,我们将使用 .SQL 脚本文件的方法,所以,保留默认的单选按钮选项,给你想生成的 .SQL 安装脚本文件提供一个名字:

 

在点击“下一步”之后,向导会提供选项让你定制生成 .SQL 安装文件时的一些设置。注意,你可以控制是否要删除目标数据库中的现有对象,脚本针对的是SQL 2000 还是SQL 2005 ,是否要同时安装数据定义和数据,还是只要数据定义,或者只要数据:

在本教程中,保留默认的选项,点击“下一步”,生成.SQL 脚本:

至此,你就拥有一个名为Personal.SQL的文件,内含你可以在任何SQL服务器上运行的脚本,该脚本能用来重建数据库中的数据表,存储过程,视图,全文索引目录等,以及导入创建.SQL文件时对应数据库中的所有的数据记录。

该.SQL文件本身是个文本文件,所以你可以用任何文本编辑器将它打开,查看其中的内容,或者添加你自己的语句来做任何定制:

注意,上面的.SQL文件既包括了创建Photos表所需的DDL SQL语句(包括该表所有约束和主键/外键等关系),也包括了在该表创建后在改该表内插入数据的SQL语句。在上面的例子中,甚至包括了插入相片的二进制数据的SQL语句,因为这些数据是保存在数据库里的。

把上述步骤对ASPNETDB SQL Express数据库重复执行之后,你将拥有2个你可以用来在任何SQL服务器上自动重建你的SQL数据库的.SQL 安装脚本:

 

注意,我们建立的.SQL文可以用来在一个服务器上创建2个单独的数据库,或者也可以在同个数据库里运行,从而生成一个包含了你程序的所有的数据表,存储过程和数据的单一数据库。要实现这个目的,只要对同个数据库运行这两个脚本就可以了。假如没有表名和存储过程名冲突的话,你将拥有一个包括所有东西的单一数据库。当你的主机账号只提供了一个可用的数据库实例时,这后一个选项是非常有用的。

标签:sql,上传,远程,数据库
0
投稿

猜你喜欢

  • 做设计还是做产品

    2009-06-11 13:01:00
  • js表单检测数字

    2007-10-12 13:52:00
  • 动态加载JavaScript的小实践

    2009-11-12 12:38:00
  • 我们用什么来衡量设计3:定量研究的风险

    2009-07-19 14:14:00
  • SQL server高级应用 收藏版

    2012-10-07 11:04:06
  • select @@identity的应用(得到刚插入数据的ID)

    2009-09-10 11:24:00
  • Mootools 1.2教程(4)——函数

    2008-11-18 15:36:00
  • 仿迅雷焦点广告效果(JQuery版)

    2009-08-03 14:18:00
  • asp 使用正则表达式替换word中的标签,转为纯文本

    2011-02-28 10:49:00
  • PL/SQL数据类型及操作符

    2009-02-26 11:17:00
  • 服务器响应HTTP的类型ContentType大全

    2007-10-23 10:21:00
  • 使用sp_xml_preparedocument处理XML文档的方法

    2011-09-30 11:56:15
  • Sql server 2005 找出子表树

    2008-11-24 15:23:00
  • asp如何使用ADO 2x Command 对象读取数据?

    2010-06-03 10:51:00
  • 随滚动条移动的DIV层js代码

    2007-10-10 12:51:00
  • asp如何读取Windows的信息文件(.ini)?

    2009-11-20 18:27:00
  • SQL Server 2005数据库批量更新解决办法

    2009-04-11 16:12:00
  • 使用XML技术上传文件的例子

    2008-05-29 11:33:00
  • 细线表格的处理

    2008-08-06 12:53:00
  • SQL学习笔记三 select语句的各种形式小结

    2011-09-30 11:09:31
  • asp之家 网络编程 m.aspxhome.com