热烈祝贺台州朗动科技的站长论坛隆重上线!(2012-05-28)    热烈庆祝伟大的祖国60周年生日 点击进来我们一起为她祝福吧(2009-09-26)    站长论坛禁止发布广告,一经发现立即删除。谢谢各位合作!.(2009-08-08)    热烈祝贺台州网址导航全面升级,全新版本上线!希望各位一如既往地支持台州网址导航的发展.(2009-03-28)    台州站长论坛恭祝各位新年快乐,牛年行大运!(2009-01-24)    台州Link正式更名为台州网址导航,专业做以台州网址为主的网址导航!(2008-05-23)    热烈祝贺台州Link资讯改名为中国站长资讯!希望在以后日子里得到大家的大力支持和帮助!(2008-04-10)    热烈祝贺台州Link论坛改名为台州站长论坛!希望大家继续支持和鼓励!(2008-04-10)    台州站长论坛原[社会琐碎]版块更名为[生活百科]版块!(2007-09-05)    特此通知:新台州站长论坛的数据信息全部升级成功!">特此通知:新台州站长论坛的数据信息全部升级成功!(2007-09-01)    台州站长论坛对未通过验证的会员进行合理的清除,请您谅解(2007-08-30)    台州网址导航|上网导航诚邀世界各地的网站友情链接和友谊联盟,共同引领网站导航、前进!(2007-08-30)    禁止发广告之类的帖,已发现立即删除!(2007-08-30)    希望各位上传与下载有用资源和最新信息(2007-08-30)    热烈祝贺台州站长论坛全面升级成功,全新上线!(2007-08-30)    
便民网址导航,轻松网上冲浪。
台州维博网络专业开发网站门户平台系统
您当前的位置: 首页 » MySQL/MSSQL编程 » 如何上传.SQL文件到远程主机并用它部署数据库

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

论坛链接
  • 如何上传.SQL文件到远程主机并用它部署数据库
  • 发布时间:2007-11-20 13:26:42    浏览数:6330    发布者:tzlink    设置字体【   
这里提供一个极其容易的方法来构造在另外一个服务器上完全复制你的数据库的 .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文件的 部分指向你的远程主机数据库的连接字符串值。之后,你的应用就应该在远程主机上正常工作了。

  希望本文对你有所帮助。
娱乐休闲专区A 影视预告B 音乐咖啡C 英语阶梯D 生活百科
网页编程专区E AMPZF HTMLG CSSH JSI ASPJ PHPK JSPL MySQLM AJAX
Linux技术区 N 系统管理O 服务器架设P 网络/硬件Q 编程序开发R 内核/嵌入
管理中心专区S 发布网址T 版主议事U 事务处理