如何上传.SQL文档到远程主机并用他部署数据库

2008-04-02 11:00:44来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  上篇文章,我讨论了新的(免费的)数据库发布向导,他是设计来充分简化在web主机环境中上传和部署 SQL Express 和 SQL Server数据库的。

  这里提供一个极其容易的方法来构造在另外一个服务器上完全复制您的数据库的 .SQL 脚本:

  

  在我以前的帖子里,我提到主机供给商经常提供在线SQL管理工具,您能够用他来打开/运行您新生成的 .SQL 文档,或会提供SQL查询工具允许您拷贝/粘贴 .SQL 文档的内容到一个查询执行窗口来运行这些SQL语句。但不幸的是,并不是任何的主机供给商支持类似的工具。即使在那些支持类似工具的主机供给商那里,您也会遇上一些情形,譬如您生成的 .SQL 文档是如此之大,把他拷贝/粘贴进一个文本框是行不通的(提交一个 200M 字节内容的表单一般都会造成超时)。

  这个帖子示范了把 .SQL 文档部署到远程主机环境中去的另外一个方法,这个方法不需要您的主机供给商在后端为您配置和安装任何东西。

  不通过使用管理工具把SQL数据库部署到远程SQL服务器的步骤

  下面是把一个本地数据库不通过使用任何管理工具就部署到远程主机上去的步骤:

  第一步:生成一个包含数据定义和数据的 .SQL文档

  远程部署数据库到主机环境的第一步是生成一个 .SQL 文档,内含您数据库的数据定义和数据。按我的 第一个关于数据库发布的博客帖子 (英文)里的步骤,来了解如何为 SQL Express 或 SQL Server数据库生成一个 .SQL 文档。

  第二步: 把 .SQL 文档FTP到您的远程主机上去

  生成 .SQL 文档之后,使用FTP或其他文档传输机制将他上传到您的远程主机上去。最好是把这个文档拷贝到一个远程用户不易访问的受保护的场所。一个建议,给这个文档一个随机的名字,然后将他上传到 /app_data 文档夹,因为在默认情形下,该文档里的内容是受保护的。

  用FTP来上传这个文档的好处是,他不会强迫您限制 .SQL 文档的大小。有必要的话,该文档的大小可达几百个M字节之多。

  第三步: 下载 RunSQL.aspx 辅助页面

  访问这个页面,下载其上连接的 RunSQL.aspx 文档。

  RunSQL.aspx文档是个ASP.NET页面,是SQL Server产品组编写的,支持2个参数: 1) .SQL 文档的名字, 连同 2) 数据库的连接字符串。运行RunSQL.aspx页面,他会打开指定的 .SQL 文档,在通过连接字符串指定的数据库中迭代执行文档中的每一句SQL语句。这就会把 .SQL 文档中定义的数据库配备到远程的目标数据库中去。

  第四步: 编辑 RunSQL.aspx 辅助页面

  在本地打开/编辑RunSQL.aspx文档,配置好您的 .SQL 文档名字,连同提供和您的主机供给商给予您的SQL数据库对应的连接字符串:

  点击放大此图片

  把 <> 标记连同相关的连接字符串标记替换成您主机环境中的正确配置值。注意,除非您知道您的 .SQL 文档的完整路径,您大概需要使用ASP.NET中的Server.MapPath(fileName)方法来推算出您应用中和 .SQL 文档的相对路径相对应的绝对路径。譬如:

  // Filename of the T-SQL file you want to run
  string fileName = Server.MapPath("personal.SQL");
  // Connection string to the server you want to execute against
  string connectionString = @"Server=server123;User ID=user123;Password=password123;Initial Catalog=MyDBName123";
  // Timeout of batches (in seconds)
  int timeout = 600;

  第五步: 把 RunSQL.aspx 辅助页面上传到您的远程主机

  完成更改文档名和连接字符串值之后,把RunSQL.aspx文档上传到您的远程主机上去(譬如,使用FTP)。

  为安全的原因,我建议您在上传时给该文档一个随机的文档名,这样,别人就不容易找到这个文档并执行他了。

  第六步: 用浏览器访问 RunSQL.aspx 辅助页面

  上传后,通过浏览器访问远程的RunSQL.aspx网页,这会导致您远程服务器上的网页分析 .SQL 文档,执行其中的任何SQL语句。 因为 .SQL 文档包含了重建数据库所需的数据库数据定义和数据填充的任何语句,网页执行完毕后,您就将一个一模相同的数据库部署到您的远程主机上了:

  点击放大此图片

  第七步: 删除 RunSQL.aspx 和 .SQL 文档

  运行完您的 .SQL 脚本之后,把RunSQL.aspx网页和 .SQL 文档同时从您的远程主机服务器上删除。

  为安全的原因,您不想要任何其他人能够远程访问RunSQL.aspx网页,因为他也许会重建您的数据库,导致数据丢失。

  第八步: 更新您应用的Web.Config文档来指向主机环境中的数据库

  剩下的最后一步是更新您的web.config文档的 部分指向您的远程主机数据库的连接字符串值。之后,您的应用就应该在远程主机上正常工作了。

  希望本文对您有所帮助。


标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 把SQL数据库部署到远程主机环境

下一篇: 理解数据库的死锁和阻塞