由于xx原因,sql server 要降级,所以有了下文。。。。

一 直接 通过sql server 自带工具 生成脚本即可,具体操作方法如下:

1.打开 Microsoft Sql Server Managenment Studio

2.右键该数据库>>任务>>生成脚本

3.按提示操作下一步,直到看到高级按钮,这时如下图操作

如果生成的脚本文件不大,将生成的脚本直接在查询分析器 执行即可

也可以尝试将每个对象生成一个文件后执行

如果脚本文件较大则 需要 分割文件后执行

如果单文件(整个库)执行过大的时候,可以尝试这样:

1.先把每一类脚本文件分组后执行,如下图

2.用以下程序逐个执行 xxtables xxviews xxfunctions  xxproc

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestSql.aspx.cs" Inherits="TestSql" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.IO" %>
<% string xx = ""; string[] filelist = Directory.GetFiles(Server.MapPath("~/website1/xxtables"));
if (Request["dir"] != null) filelist = Directory.GetFiles(Server.MapPath("~/website1/"+Request["dir"].ToString()));
foreach (string fileInfo in filelist)
{
List<string>errorList=new List<string>(); //string fileName = "users.sql";
//if (Request["sqlfile"] != null) fileName = Request["sqlfile"].ToString();
//string strSql = System.IO.File.ReadAllText(Server.MapPath("~/website1/" + fileName + ""));
////Response.Write(strSql);
///
string strSql = System.IO.File.ReadAllText(fileInfo); string constr = "data source=.;uid=sa;pwd=1@1.com;database=21744new"; // 定义链接字符窜 constr = "data source=localhost;uid=21744;pwd=123456789;database=21744"; //公网 SqlConnection conn = new SqlConnection(constr);
conn.Open(); SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
//cmd.CommandText = strSql; //为SqlCommand赋Sql语句;
//cmd.ExecuteNonQuery();
//conn.Close(); //ArrayList Lists = Lj.ExecuteSqlFile(Server.MapPath("NetShop.sql")); //调用ExecuteSqlFile()方法,反回 ArrayList对象;
String[] Lists = strSql.Split(new string[] {"\r\nGO\r\n"}, StringSplitOptions.RemoveEmptyEntries);
string teststr = ""; //定义遍历ArrayList 的变量;
string errorMsg = "";
foreach (string varcommandText in Lists)
{
try
{
teststr = varcommandText; //遍历并符值;
//Response.Write(teststr + "|@|<br>");
cmd.CommandText = teststr; //为SqlCommand赋Sql语句;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
errorList.Add(ex.Message);
errorMsg += teststr + "<br/>";
}
//执行
}
conn.Close(); Response.Write("执行完毕 ok啦,错误信息如下:errorMsg:" + errorList.Count.ToString()+">>"+fileInfo+"<br/>");
} %>
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> </div>
</form>
</body>
</html>

当然如果客户端环境支持的话,也可以通过这种方式

string[]filelist=Directory.GetFiles(Server.MapPath("~/xxtables"));
foreach (string fileInfo in filelist)
{ string sqlConnectionString = "data source=.;uid=sa;pwd=1@1.com;database=21744new";
//sqlConnectionString = "data source=localhost;uid=21744;pwd=123456789;database=21744";//公网
FileInfo file = new FileInfo(fileInfo);
string script = file.OpenText().ReadToEnd();
SqlConnection conn = new SqlConnection(sqlConnectionString);
Server server = new Server(new ServerConnection(conn));
server.ConnectionContext.ExecuteNonQuery(script);
Response.Write("完毕 OK");
Response.Write(fileInfo+"<br/>"); }

如果单个文件还是比较大的话,那只能先单独生成架构脚本,再生成数据脚本了(对数据脚本 进行文件分割)

下面是该例子完整源码

http://www.haolizi.net/example/view_3253.html

sql server 2008数据库 降为 sql server 2005数据库 最终方案总结的更多相关文章

  1. 使用SQL Server 2008远程链接时SQL数据库不成功的解决方法

    关键设置: 第一步(SQL2005.SQL2008): 开始-->程序-->Microsoft SQL Server 2008(或2005)-->配置工具-->SQL Serv ...

  2. 【转】SQL Server 2008 事件探查器(SQL SERVER Profiler)

    跟踪数据库sql语句的执行情况.例:一个系统,用到了sql server 数据库,这个系统共有500张表,当用户在前台页面做某一个操作时,比如插入,登录等等,我们想知道此刻是在对哪一张表操作,打开事件 ...

  3. SQL Server 2008 R2升级到SQL Server 2012 SP1

    1.建议对生产环境对的数据库升级之前做好备份,以防不测. 2.从SQL Server 2008 R2 升级到SQL Server 2012 SP1,需要先安装SQL Server 2008 R2 的S ...

  4. 安装 SQL Server 2008 和管理工具 SQL Server 2008 management studio 及相关问题解决

    Sql Server 2008 问题小总结 http://www.lihengyu.com/blog/4877.html 安装 SQL Server 2008 和管理工具 SQL Server 200 ...

  5. sql server 2008 64位连接sql 2000服务器的时候出现

    来源 https://blog.csdn.net/loeley/article/details/7095741 sql server 2008 64位连接sql 2000服务器的时候出现以下提示: 链 ...

  6. Windows Server 2008 R2 SP1安装SQL 2012安装报错之0x858C001B

    使用Windows Server 2008 R2 SP1安装SQL 2012的时候总是报这样一个错: SQL Server Setup has encountered the following er ...

  7. SQL Server 2008 R2 SP3 and SQL Server 2008 SP4 are now available!

    时间 2014-10-02 00:00:00 SQL Server Team Blog   原文  http://blogs.technet.com/b/dataplatforminsider/arc ...

  8. 阿里云服务器Windows Server 2008/2012部署Office Web Server 2013

    以前成功将Office Web Server 2013部署在了本地服务器上,此次是将Office Web Server 2013部署在阿里云服务器Windows Server 2008和2012上,中 ...

  9. SQL SERVER 2008 服务器登录名、角色、数据库用户、角色、架构的关系

    sql server登录名.服务器角色.数据库用户.数据库角色.架构区别联系 1.一个数据库用户可以对应多个架构(架构是表容器).架构里面包含的是数据库表. 2.一个数据库角色有可能涉及多个架构.数据 ...

  10. SQL Server 2008教程和Microsoft® SQL Server® 2008 R2 SP2 - Express Edition下载

    教程 SQL Server 2008 Tutorialhttp://www.quackit.com/sql_server/sql_server_2008/tutorial/ 数据库下载 Microso ...

随机推荐

  1. beaglebone-black reference url

    reference : https://github.com/beagleboard/beaglebone-black/wiki/System-Reference-Manual https://bea ...

  2. SQL Server 调优系列基础篇 - 索引运算总结

    前言 上几篇文章我们介绍了如何查看查询计划.常用运算符的介绍.并行运算的方式,有兴趣的可以点击查看. 本篇将分析在SQL Server中,如何利用先有索引项进行查询性能优化,通过了解这些索引项的应用方 ...

  3. Hexo博客搭建教程

    1.使用淘宝npm源 $ npm install -g cnpm --registry=https://registry.npm.taobao.org 2.安装hexo cnpm install -g ...

  4. Python & PyCharm & Django 搭建web开发环境(续)

    由于Django自带轻量级的server,因此在前篇博文中,默认使用该server,但实际生产中是不允许这么干的,生产环境中通常使用Apache Httpd Server结合mod_wsgi.so来做 ...

  5. jQuery 3.1 参考手册.CHM离线版下载

    制作了一份jQuery 3.1 参考手册.CHM离线版供大家使用 点击下载 预览一下

  6. WebGL编程指南理论分析之物体的运动和点光源

    之前的所有案例中物体都是静止的并且是平行光照射,这里我们来讨论一下运动物体和点光源. 一.运动物体 我们知道对于一个提供原始顶点坐标和原始顶点法向量数据的着色器绘制出来的图形看上去是这样的: 看上去很 ...

  7. 从 Python 第三方进度条库 tqdm 谈起 (转载)

    原文地址: https://blog.ernest.me/post/python-progress-bar tqdm 最近一款新的进度条 tqdm 库比较热门,声称比老版的 python-progre ...

  8. markdown添加本地图片

    这是个坑 如果你的markdown在一个文件目录下,需要添加另一个目录下的图片,绝对路径是不可行的.需要 "迂回" 所谓 迂回,即需要先用../../命令返回上一文件目录,直至可以 ...

  9. TensorBoard 实践 1

    从新查看图的时候,删除旧的logs/下面的文件 tf.scalar_summary('loss',self.loss) AttributeError: 'module' object has no a ...

  10. JS new RegExp

    ★实例: var regex = new RegExp('k', 'g'); var v1 = 'akbdk'; v1.match(regex); //检索'k',返回数组(次数组中放的是 目标区域中 ...