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

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

【原文地址】 Recipe: Deploying a SQL Database to a Remote Hosting Environment (Part 1)
【原文发表日期】 Friday, December 22, 2006 12:58 AM

场景:

你开发完了一个得意的ASP.NET应用,所有的东西都测试过了而且在你本机上一切工作都正常,充分利用了ASP.NET 2.0中的成员,角色和用户信息等新功能,万事俱备,准备将它发布到一个远程主机环境,跟整个世界分享这个应用。

将.aspx文件和编译的程序集拷贝到远程系统是非常容易的,只要使用FTP或者直接向上拷贝文件即可。但许多开发人员面临的挑战是,如何在远程主机的站点上架设和重建数据库内容,包括数据定义数据本身。不幸的是,过去以来一直没有极其简单的方式来达成这个目的。

好消息是,这个星期,SQL Server产品组推出了新的 SQL Server Hosting Toolkit的发布候选版 ,这个工具包将使部署你的SQL解决方案到远程主机环境容易之极。这个工具包允许你在本地操作SQL Express,SQL Server 2000,和 SQL Server 2005数据库,然后把你的数据定义数据轻松地迁移,安装到一个共享的远程主机SQL Server账号上。

下面的内容将描述你可以如何开始使用这个工具包。

SQL Server Hosting Toolkit

SQL Server Hosting Toolkit可以免费获取,同时发布的还有一个数据库发布向导(Database Publishing Wizard),该向导支持2种数据库主机部署场景:

1) 数据库发布向导允许你指向一个你正在本机上操作的数据库,然后自动生成一个.SQL脚本文件,该文件包含了在任何远程系统上重建一个当前数据库的完整拷贝所需的安装逻辑。这个.SQL脚本包括了需要创建数据库定义(表,视图,存储过程,触发器,全文索引目录,角色,规则等等,可在此处参考所有细节),以及把与你本地数据库同样的数据内容填充到新数据库里去的所有的东西(这类似于MySQL 的dump工具)。把这些安装逻辑封装在单个.SQL 文件的好处是,大多数主机供应商已经支持上传 .SQL 文件到他们的主机环境,并且通过他们的管理控制面板运行这些脚本的能力。假定你现有一个支持这个功能的web主机供应商,你可以马上开始使用数据库发布向导来轻松地部署你的网站,而不需要主机供应商安装或配置什么东西。

2) 数据库发布向导也允许你指向一个你正在本机上操作的数据库,然后使用 web service 向你的远程主机环境迁移和重建数据库(而不用创建一个.SQL 文件或者使用主机供应商的管理控制面板运行这个文件)。不过,这个发布选项需要主机环境提供SQL发布web-service。 SQL Server Hosting Toolkit包含了一个免费的SQL发布web-service实现,我们将与主机供应商密切合作来部署这个web-service。

数据库发布向导允许你在本地使用 SQL Express 或 SQL Server 2000/2005 ,然后在远程主机环境中使用SQL 2000 或 SQL 2005。它不要求SQL服务器的版本是一样的,所以,你可以在本地使用SQL Express 2005,然后上传到主机环境中的SQL 2000服务器,而不用改动任何编码。

数据库发布向导也支持对内置的ASP.NET 2.0成员,角色管理,用户信息和健康监测等数据定义的处理。许多人遇上问题,因为随 ASP.NET一起发布的来建立这些数据定义的内置.SQL 脚本在安装时(install-time)需要DBO权限,但很多主机供应商对此并不支持(注:脚本在运行时(runtime)需要DBO权限,只是在安装时(install time)才需要,但这有时会是个障碍,除非主机供应商愿意为你安装)。而在另一方面,数据库发布向导在安装ASP.NET 2.0成员,角色管理,用户信息等数据定义和数据时,并需要DBO权限,应该允许你,和使用数据库发布向导部署其他数据库一样,轻松地部署 ASPNETDB数据表和存储过程。

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

猜你喜欢

  • 一次python-flask蓝图的踩坑记录

    2021-11-04 13:32:35
  • Python数据结构dict常用操作代码实例

    2022-05-13 02:16:43
  • Go与C语言的互操作实现

    2024-02-04 08:39:28
  • pytorch实现onehot编码转为普通label标签

    2023-04-18 10:19:21
  • Python实现子类调用父类的方法

    2023-09-28 12:00:55
  • vue3.0如何使用computed来获取vuex里数据

    2024-04-28 09:24:20
  • Python中reduce函数详解

    2022-09-03 12:26:33
  • Python3 ID3决策树判断申请贷款是否成功的实现代码

    2021-02-11 15:01:58
  • python计算分段函数值的方法

    2022-10-08 20:23:34
  • python smtplib发送多个email联系人的实现

    2023-07-24 18:39:43
  • 怎样删除Git中缓存的用户名和密码

    2023-08-12 23:56:55
  • Python的三种主要模块介绍

    2023-10-15 23:16:26
  • python实现随机漫步算法

    2022-07-23 19:08:05
  • 用IE浏览器UTF-8页面是一片空白

    2009-06-14 19:55:00
  • python hough变换检测直线的实现方法

    2022-06-11 10:08:37
  • 常见Dreamweaver使用过程中的问题及解决办法

    2011-03-17 16:16:00
  • mysql 5.7.14 下载安装配置方法图文教程

    2024-01-21 00:12:58
  • 查找备注(text,ntext)类型字段为空的方法

    2008-08-02 12:47:00
  • python模块内置属性概念及实例

    2023-11-23 15:34:27
  • vue中异步数据获取方式(确保数据被获取)

    2024-05-09 15:23:07
  • asp之家 网络编程 m.aspxhome.com