SQLSERVER2008企业版怎么不能附加2008开发版的数据库

时间:2022-09-30 07:14:58
根据网上的例子可以在sql2008开发版里生成脚本的方式生成数据库,但是这种生成的部分却是一个空数据库;每个表都是空怎么办呢???
SQLSERVER2008企业版怎么不能附加2008开发版的数据库

SQLSERVER2008企业版怎么不能附加2008开发版的数据库

57 个解决方案

#1


按照报错信息,你那个应该是2008R2的脚本,执行到2008的吧?

#3


低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。

#4


引用 1 楼 DBA_Huangzj 的回复:
按照报错信息,你那个应该是2008R2的脚本,执行到2008的吧?


本来是附加数据库的,但是就出现上面那个错误。现在是2008企业版

#5


如果你原有的库是R2甚至2012产生的,直接附加是报错的,我上面有连接,你可以看看

#6


引用 3 楼 fredrickhu 的回复:
低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。


什么是 SSIS导入,怎么导啊??

#7


2楼有连接.....

#8


高版本环境中创建的数据库是不能附加到低版本的环境中的

#9


引用 6 楼 feng1989612 的回复:
Quote: 引用 3 楼 fredrickhu 的回复:

低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。


什么是 SSIS导入,怎么导啊??


是把2008R2数据库文件附加SQL2008版的;你那个案例是2005到2008的。我你方法二, 出现消息 2760,级别 16,状态 1,过程 sp_dbcmptlevel,第 97 行
指定的架构名称 "sys" 不存在,或者您没有使用该名称的权限。
  怎么回事?

#10


你用方法1就可以了,我试过的,2008降到2005和2008R2降到2008是一样的啊。只是选择而已

#11


引用 10 楼 DBA_Huangzj 的回复:
你用方法1就可以了,我试过的,2008降到2005和2008R2降到2008是一样的啊。只是选择而已


我的sql2008中生成脚本,没有为服务器版本编写脚本,没有这个选项呢 ? SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#12


就选择08即可。另外你这个截图的sqlserver是R2还是08的?

--SQL Server版本
SELECT  SERVERPROPERTY('productlevel') AS 'Service Pack' ,
        SERVERPROPERTY('edition') AS edition ,
        SERVERPROPERTY('productversion') AS 'build number'

#13


一台SQLExpress版的,一台SQLEnterprise Edition版的;现在我在SQLEnterprise Edition版上附加一台SQLExpress版的数据库就出现上面那个截图错误的。

另外照你的方法是不是两台电脑要连接吗?
SQLSERVER2008企业版怎么不能附加2008开发版的数据库SQLSERVER2008企业版怎么不能附加2008开发版的数据库

我现在是把SQLExpress版的生成的SQL脚本拷贝到SQLEnterprise Edition版上的用这样不是吗?

#14


不需要相连,问题是你的版本,用我的代码看看你当前的版本

#15


引用 14 楼 DBA_Huangzj 的回复:
不需要相连,问题是你的版本,用我的代码看看你当前的版本



RTM Enterprise Edition 10.0.1600.22

也是SQL2008的,但是是SQL2008企业版的啊

#16


express的版本呢?这个据我目前所知跟是否企业版没关系但是跟sql server的版本号有关系

#17


SP1 Express Edition 11.0.3128.0    这个是SQLExpress版的

#18


SP1 Express Edition 11.0.3128.0   你这个是2012的express啊,所以你要在express上面进行降级操作,就是11楼的图,操作应该是在express上,然后选择2008的脚本,生成的脚本才能放到企业版中

#19


版本不一致  还是生成建库脚本导出数据把

#20


在SQLExpress版上不能导出数据啊

#21


把生成的脚本放在SQL2008里执行里面表还是一个空数据表呢?

#22


那当然,你导出来的是脚本,不是数据,用导入导出工具就可以导数据了啊

#23


SQLSERVER2008企业版怎么不能附加2008开发版的数据库我用了导入个工具,但是不能导入啊?

#24


你能定位哪个表吗?把表的脚本贴上来看看,另外引用一下我的回复

#25


引用 24 楼 DBA_Huangzj 的回复:
你能定位哪个表吗?把表的脚本贴上来看看,另外引用一下我的回复


  CREATE TABLE [dbo].[P_Category](
[CategoryId] [varchar](20) NOT NULL,
[Name] [varchar](80) NULL,
[Descn] [varchar](255) NULL,
 CONSTRAINT [PK_P_Category] PRIMARY KEY NONCLUSTERED 
(
[CategoryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO



上面那个错误应该是数据库里面表的结构都是有关联的吧 不能直接插入吧  很多表多少这样的?

#26


在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#27


还是一样的,导入出同样的错误。      是表中的主外键关系吧,使其不能插入的吧

SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#28


引用 26 楼 DBA_Huangzj 的回复:
在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#29


SELECT is_read_only
FROM sys.databases
你没替换“库名”吧?

#30


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???

#31






引用 28 楼 feng1989612 的回复:
Quote: 引用 26 楼 DBA_Huangzj 的回复:

在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#32


引用 30 楼 feng1989612 的回复:
SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???
0代表数据库不是只读,排除数据库配置方面的这个问题。只是某些表出现这个问题?

#33


引用 32 楼 DBA_Huangzj 的回复:
Quote: 引用 30 楼 feng1989612 的回复:

SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???
0代表数据库不是只读,排除数据库配置方面的这个问题。只是某些表出现这个问题?



那怎么办呢?数据导入不进啊?

#34


试一下不直接导,先导成txt或者csv,然后再导进去

#35


引用 34 楼 DBA_Huangzj 的回复:
试一下不直接导,先导成txt或者csv,然后再导进去


怎么导入txt或者csv呢?

#36


那是这个导入导出工具,只是目标那里改成平面文件或者csv,而不是sqlserver

#37


这个不会用呢 ?  还要有CSV文件吧

#38


引用 37 楼 feng1989612 的回复:
这个不会用呢 ?  还要有CSV文件吧


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#39


截图全一点,我看看是哪一步出问题

#40


引用 39 楼 DBA_Huangzj 的回复:
截图全一点,我看看是哪一步出问题


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

怎么弄得?

#41


我知道原因了,你的步骤有问题,你用这个步骤:
1、右键数据库,选择任务→导出数据
2、第一个界面,选择你的express那个sqlserver,你这个报错就是因为你反过来了。
3、第二个界面才是你这个截图,也就是说csv是“目标”,你把csv设为“源”了

#42


这样啊  csv文件时脚本文件吗

引用 41 楼 DBA_Huangzj 的回复:
我知道原因了,你的步骤有问题,你用这个步骤:
1、右键数据库,选择任务→导出数据
2、第一个界面,选择你的express那个sqlserver,你这个报错就是因为你反过来了。
3、第二个界面才是你这个截图,也就是说csv是“目标”,你把csv设为“源”了

#43


不是,是类似excel的东西,不过在你这个贴里面,作为中间过程的临时存放文件,不用在意太多。

#44


引用 43 楼 DBA_Huangzj 的回复:
不是,是类似excel的东西,不过在你这个贴里面,作为中间过程的临时存放文件,不用在意太多。


SQLSERVER2008企业版怎么不能附加2008开发版的数据库


这里只能选一个吗?   难道要一个个导吗?

#45


你就把23楼中导不进的那些用这个方法吧。不至于全部导不进吧?

#46


是没有没有数据呢?都是空的,还还没有执行就停止 了呢?

#47


引用 45 楼 DBA_Huangzj 的回复:
你就把23楼中导不进的那些用这个方法吧。不至于全部导不进吧?


是不是SQL2012要连接SQL2008的服务器呢?

SQLSERVER2008企业版怎么不能附加2008开发版的数据库
这里是写SQLEXPRESS服务名吗?


SQLSERVER2008企业版怎么不能附加2008开发版的数据库
这里是写SQL2008的服务器名吗? 


可我的两个数据库版本分别安装在两台电脑上呢,是这样吗?

#48


源那里,填2012,目标那里,填2008的那个。具体实例名你才知道。有多个实例的话,不要用“.”,这个是默认实例,可能会连错

#49


那这样怎么能连接呢?   要用远程服务吗?而且两台电脑不是在同一网络中的  怎么办呢?

引用 48 楼 DBA_Huangzj 的回复:
源那里,填2012,目标那里,填2008的那个。具体实例名你才知道。有多个实例的话,不要用“.”,这个是默认实例,可能会连错

#50


那就要求你本机可以访问对方那台机的sqlserver了,不过你不是能访问吗?

#1


按照报错信息,你那个应该是2008R2的脚本,执行到2008的吧?

#2


#3


低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。

#4


引用 1 楼 DBA_Huangzj 的回复:
按照报错信息,你那个应该是2008R2的脚本,执行到2008的吧?


本来是附加数据库的,但是就出现上面那个错误。现在是2008企业版

#5


如果你原有的库是R2甚至2012产生的,直接附加是报错的,我上面有连接,你可以看看

#6


引用 3 楼 fredrickhu 的回复:
低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。


什么是 SSIS导入,怎么导啊??

#7


2楼有连接.....

#8


高版本环境中创建的数据库是不能附加到低版本的环境中的

#9


引用 6 楼 feng1989612 的回复:
Quote: 引用 3 楼 fredrickhu 的回复:

低版本数据库是不能附加高版本数据库的
数据你可以通过SSIS导过去。


什么是 SSIS导入,怎么导啊??


是把2008R2数据库文件附加SQL2008版的;你那个案例是2005到2008的。我你方法二, 出现消息 2760,级别 16,状态 1,过程 sp_dbcmptlevel,第 97 行
指定的架构名称 "sys" 不存在,或者您没有使用该名称的权限。
  怎么回事?

#10


你用方法1就可以了,我试过的,2008降到2005和2008R2降到2008是一样的啊。只是选择而已

#11


引用 10 楼 DBA_Huangzj 的回复:
你用方法1就可以了,我试过的,2008降到2005和2008R2降到2008是一样的啊。只是选择而已


我的sql2008中生成脚本,没有为服务器版本编写脚本,没有这个选项呢 ? SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#12


就选择08即可。另外你这个截图的sqlserver是R2还是08的?

--SQL Server版本
SELECT  SERVERPROPERTY('productlevel') AS 'Service Pack' ,
        SERVERPROPERTY('edition') AS edition ,
        SERVERPROPERTY('productversion') AS 'build number'

#13


一台SQLExpress版的,一台SQLEnterprise Edition版的;现在我在SQLEnterprise Edition版上附加一台SQLExpress版的数据库就出现上面那个截图错误的。

另外照你的方法是不是两台电脑要连接吗?
SQLSERVER2008企业版怎么不能附加2008开发版的数据库SQLSERVER2008企业版怎么不能附加2008开发版的数据库

我现在是把SQLExpress版的生成的SQL脚本拷贝到SQLEnterprise Edition版上的用这样不是吗?

#14


不需要相连,问题是你的版本,用我的代码看看你当前的版本

#15


引用 14 楼 DBA_Huangzj 的回复:
不需要相连,问题是你的版本,用我的代码看看你当前的版本



RTM Enterprise Edition 10.0.1600.22

也是SQL2008的,但是是SQL2008企业版的啊

#16


express的版本呢?这个据我目前所知跟是否企业版没关系但是跟sql server的版本号有关系

#17


SP1 Express Edition 11.0.3128.0    这个是SQLExpress版的

#18


SP1 Express Edition 11.0.3128.0   你这个是2012的express啊,所以你要在express上面进行降级操作,就是11楼的图,操作应该是在express上,然后选择2008的脚本,生成的脚本才能放到企业版中

#19


版本不一致  还是生成建库脚本导出数据把

#20


在SQLExpress版上不能导出数据啊

#21


把生成的脚本放在SQL2008里执行里面表还是一个空数据表呢?

#22


那当然,你导出来的是脚本,不是数据,用导入导出工具就可以导数据了啊

#23


SQLSERVER2008企业版怎么不能附加2008开发版的数据库我用了导入个工具,但是不能导入啊?

#24


你能定位哪个表吗?把表的脚本贴上来看看,另外引用一下我的回复

#25


引用 24 楼 DBA_Huangzj 的回复:
你能定位哪个表吗?把表的脚本贴上来看看,另外引用一下我的回复


  CREATE TABLE [dbo].[P_Category](
[CategoryId] [varchar](20) NOT NULL,
[Name] [varchar](80) NULL,
[Descn] [varchar](255) NULL,
 CONSTRAINT [PK_P_Category] PRIMARY KEY NONCLUSTERED 
(
[CategoryId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO



上面那个错误应该是数据库里面表的结构都是有关联的吧 不能直接插入吧  很多表多少这样的?

#26


在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#27


还是一样的,导入出同样的错误。      是表中的主外键关系吧,使其不能插入的吧

SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#28


引用 26 楼 DBA_Huangzj 的回复:
在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#29


SELECT is_read_only
FROM sys.databases
你没替换“库名”吧?

#30


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???

#31






引用 28 楼 feng1989612 的回复:
Quote: 引用 26 楼 DBA_Huangzj 的回复:

在你的企业版上执行一下这个语句,替换where条件中的库名
SELECT is_read_only
FROM sys.databases
WHERE name='库名'

#32


引用 30 楼 feng1989612 的回复:
SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???
0代表数据库不是只读,排除数据库配置方面的这个问题。只是某些表出现这个问题?

#33


引用 32 楼 DBA_Huangzj 的回复:
Quote: 引用 30 楼 feng1989612 的回复:

SQLSERVER2008企业版怎么不能附加2008开发版的数据库

还是一样的呢 怎么办???
0代表数据库不是只读,排除数据库配置方面的这个问题。只是某些表出现这个问题?



那怎么办呢?数据导入不进啊?

#34


试一下不直接导,先导成txt或者csv,然后再导进去

#35


引用 34 楼 DBA_Huangzj 的回复:
试一下不直接导,先导成txt或者csv,然后再导进去


怎么导入txt或者csv呢?

#36


那是这个导入导出工具,只是目标那里改成平面文件或者csv,而不是sqlserver

#37


这个不会用呢 ?  还要有CSV文件吧

#38


引用 37 楼 feng1989612 的回复:
这个不会用呢 ?  还要有CSV文件吧


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

#39


截图全一点,我看看是哪一步出问题

#40


引用 39 楼 DBA_Huangzj 的回复:
截图全一点,我看看是哪一步出问题


SQLSERVER2008企业版怎么不能附加2008开发版的数据库

怎么弄得?

#41


我知道原因了,你的步骤有问题,你用这个步骤:
1、右键数据库,选择任务→导出数据
2、第一个界面,选择你的express那个sqlserver,你这个报错就是因为你反过来了。
3、第二个界面才是你这个截图,也就是说csv是“目标”,你把csv设为“源”了

#42


这样啊  csv文件时脚本文件吗

引用 41 楼 DBA_Huangzj 的回复:
我知道原因了,你的步骤有问题,你用这个步骤:
1、右键数据库,选择任务→导出数据
2、第一个界面,选择你的express那个sqlserver,你这个报错就是因为你反过来了。
3、第二个界面才是你这个截图,也就是说csv是“目标”,你把csv设为“源”了

#43


不是,是类似excel的东西,不过在你这个贴里面,作为中间过程的临时存放文件,不用在意太多。

#44


引用 43 楼 DBA_Huangzj 的回复:
不是,是类似excel的东西,不过在你这个贴里面,作为中间过程的临时存放文件,不用在意太多。


SQLSERVER2008企业版怎么不能附加2008开发版的数据库


这里只能选一个吗?   难道要一个个导吗?

#45


你就把23楼中导不进的那些用这个方法吧。不至于全部导不进吧?

#46


是没有没有数据呢?都是空的,还还没有执行就停止 了呢?

#47


引用 45 楼 DBA_Huangzj 的回复:
你就把23楼中导不进的那些用这个方法吧。不至于全部导不进吧?


是不是SQL2012要连接SQL2008的服务器呢?

SQLSERVER2008企业版怎么不能附加2008开发版的数据库
这里是写SQLEXPRESS服务名吗?


SQLSERVER2008企业版怎么不能附加2008开发版的数据库
这里是写SQL2008的服务器名吗? 


可我的两个数据库版本分别安装在两台电脑上呢,是这样吗?

#48


源那里,填2012,目标那里,填2008的那个。具体实例名你才知道。有多个实例的话,不要用“.”,这个是默认实例,可能会连错

#49


那这样怎么能连接呢?   要用远程服务吗?而且两台电脑不是在同一网络中的  怎么办呢?

引用 48 楼 DBA_Huangzj 的回复:
源那里,填2012,目标那里,填2008的那个。具体实例名你才知道。有多个实例的话,不要用“.”,这个是默认实例,可能会连错

#50


那就要求你本机可以访问对方那台机的sqlserver了,不过你不是能访问吗?