SQLServer中的数据库相互移植。

在前几天整理BS模板资料的时候,师哥让我们在服务器上发布几个网站,我负责的是永和收银系统的后台发布,这个系统有个特点,在登录页加载之前就得向数据库中查询信息,如果数据库中没有信息,整个程序根本就运行不了,自己又不了解这个系统的需求和业务逻辑,只好将数据库弄到服务器上再能发布。这时候就问题就来了,服务器上的数据库时SQLServer2008 R2版本的,我的是SQLServer2012,分离的数据库不能向下兼容,而且我的将数据库中的数据一块移植过去,这个肿木办?

在网上找了点关于数据库移植数据的资料,这里我大概介绍一下。

1、备份数据库,然后在目标机器上还原

备份的数据库时bak格式的,这个方法在在相同版本的SQLServer之间行的通,但是在我的SQLServer2012备份好了之后在还原到SQLServer2008 R2上,行不通。

2、分离附加数据库。

此方法是将目标数据库在SQLServer的对象资源管理器中分离,然后复制到别的机器上,然后在附加数据库,这个方法在相同版本之间也行,或者是说版本相差不大也行,但是对我的问题,还是行不通。

3、生成Sql脚本

这是我实验的最后一个方法了,此方法是生成Sql脚本(附带数据库中的数据),然后到目标机器上执行,因为在生成sql脚本的时候可以选择Script for Server Version选项,这里就弥补了因SQLServer版本不同而导致的数据不兼容问题,下面是详细步骤。

右击要生成脚本的数据库——任务——生成脚本,图示如下

在这可以编辑生成路径,然后点击高级选项。

在这选择导出的Sql脚本的版本,还有要导出的架构和数据。

然后根据提示,下一步、下一步......就成功了。

点击完成,就这样,OK了,最后将导出的Sql脚本在目标机器上执行,先建库,然后再建表插入数据,最后就是这么成功的。其实导出数据的方法还很多,我只是介绍了其中的一种,SQLServer真的很强大,我们还需要探索它的每一个功能。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-25 15:51:31

SQLServer中的数据库相互移植。的相关文章

Sql语句在SqlServer中创建数据库、表格并添加约束

通过Sql语句来创建数据库与架构 创建数据库 数据库的创建首先是要引用主数据库的,需要在master数据库的环境下进行创建.大致的语法如下: 1 -- 使用master数据库 2 use master 3 -- 创建数据库 4 create datebase [架构名.]数据库名 5 on [primary]--主文件数据描述 6 ( 7 name = '数据库逻辑名', --一般是数据库的名称 8 filename = '数据文件的名字',--全路径 9 size = 12mb, --数据文件

SqlServer中获取数据库中每个表的行数

CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT INTO #RowCounts SELECT COUNT_BIG(*) AS NumberOfRows, ''?'' as TableName FROM ?' SELECT TableName,NumberOfRowsFROM #RowCounts ORDER BY NumberOfRows DESC

Sqlserver 中添加数据库登陆账号并授予数据库所有者权限

USE master GO --通过sp_addlogin创建登录名 --DEMO:登陆账号 --123456:登陆密码 execute sp_addlogin 'DEMO','123456' --切换数据库 USE dbtest go --在数据库dbtest里创建数据库Demo账号 --每一个DEMO为登陆名 --第二个DEMO为账号 execute sp_grantdbaccess 'DEMO','DEMO' --将DEMO账号添加到数据库角色为数据库所有者 execute sp_addr

c#在sqlserver中使用EF框架

vs2017,sqlserver2017(localdb)调试通过.在sqlserver中创建数据库d1,表t1如下: 录入数据如下: 在vs新建任意项目,此处以控制台为例.添加数据模型Model1: 为了尽量少写代码,选择下图内容(该模式似乎没有迁移问题,挺好的): 说明:连接字符串可以在代码中自行设置,所以下面选了“否”并且没有勾选复选框. 选择需要使用的表:完成 项目里自动添加Model1.cs和t1.cs.一个是数据库对象(含表),一个是表里的记录对象. 把Model1.cs当中的‘ba

将*.sql数据库脚本导入到sqlserver中(sql文件导入sqlserver)

在SqlServer中这个是用生成sql脚本生成的 要是在导入数据库用数据导入/导出向导导不进去 其实要用查询分析器来打开sql文件 然后执行就可以了

SQLServer中服务器角色和数据库角色权限详解

SQLServer中服务器角色和数据库角色权限详解 by e-online 26. 九月 2009 18:55 coming from http://blog.csdn.net/e_online/article/details/4597957 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role).数据库角色指定了可以访问相同数据库对象的一组数据库用户. 数据库角色的成员可以分为如下几类: Windows用户组或

mysql、oracle、sqlserver查询某数据库中对应的表的个数

1.oracle查询数据库中表的个数: select count(*) from user_tables 这个操作的前提是,登录成功 2.mysql查询数据库中表的个数: SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES WHERE table_schema = '数据库' GROUP BY table_schema;把数据库这三个字修改成自己对应的数据库的名字3.sqlserver中查询某一个数据中表的个数:

SQLServer中的页如何影响数据库性能 (转)

无论是哪一个数据库,如果要对数据库的性能进行优化,那么必须要了解数据库内部的存储结构.否则的话,很多数据库的优化工作无法展开.对于对于数据库管理员来说,虽然学习数据库的内存存储结构比较单调,但是却是我们必须攻下的一个堡垒.在SQLServer数据库中,数据页是其存储的最基本单位.系统无论是在保存数据还是在读取数据的时候,都是以页为单位来进行操作的. 一.数据页的基本组成. 如上图所示,是SQLServer数据库中页的主要组成部分.从这个图中可以看出,一个数据页基本上包括三部分内容,分别为标头.数

在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个。必须提供所有成员。 (microsoft.sqlserver.smo)

问题:在SQL SERVER 2005中还原数据库时出现错误:system.data.sqlclient.sqlerror 媒体集有 2 个媒体簇 但只提供了 1 个.必须提供所有成员. (microsoft.sqlserver.smo) 原因:由于备份时,没有去掉默认的备份路径(C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\backup.bak),而又添加了一个新的路径,结果备份了两份,但它们之间彼此依赖,所以没有办法恢复