您的位置:首页 > 数据库

SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)

2012-07-22 12:18 761 查看


SQL Server 2008 转换为 SQL 2005 数据库 脚本生成方式(解决主键、索引、标识等数据库约束丢失)

要转换的数据库上右击,出现的快捷菜单中点击“任务 > 生成脚本”,在“脚本向导”中点击“下一步”,选中你要转换的数据库(如果前边已经选中,这次就是选中状态),勾选下部的“为所选数据库的所有对象编写脚本”,如下图





5、点击下一步,这里选择一下 "为打所选数据库中的所有对象编写脚本".

现在进入配置的最关键阶段:





由于生成的脚本最后是在主机提供商已经建好的数据库中生成表,所以注意按照如下的配置进行:

编写创建数据库的脚本:False (主机提供商已经有数据库,这里只生成表,不再生成数据库)

编写数据的脚本:True (因为有用的数据要一并生成, 这个是用来生成那些数据的, 都是一些Insert语句)

编写Use DataBase的脚本:False

为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本)

6、按照下边图片的选项设定,点击“完成”,即可完成数据库由SQL Server 2008到SQL Server 2005的转换。





后注:然后根据主机提供商给的数据库,直接到网络数据库上导入脚本;或者再次使用本SSMS连接到主机提供商的数据库上(这时肯定是SQL Server身份验证,需要提供用户名及密码),通过网络数据库“新建查询”的方法将刚才生成的脚本粘贴到新建查询窗口,点击“运行”,即可将全部数据表、存储过程、约束关系等导入主机提供商的数据库中,更具体问题,要与主机提供商联系。

用作备份:

另外,如果是把数据库类似于备份一样生成脚本,以后再完整地生成这个数据库,那么第5步应该这样做:

编写创建数据库的脚本:True (数据库一并生成)

编写数据的脚本:True (包含有用的数据)

编写Use DataBase的脚本:True

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

用SQL2008导出数据库的时候,会导致数据库中的主键、索引、标识等数据库约束丢失。

解决方法:

跟上面的步骤一样. 要注意几点.

1.



勾选下面的“为所选数据库中的所有对象编写脚本”(默认是没有勾选的)

2.



编写数据的脚本:True (因为有用的数据要一并生成, 这个是用来生成那些数据的, 都是一些Insert语句)

为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本)

最后将生成的脚本放在目标服务器上执行一下就可以.

注:

1. 导出的脚本, 如果存储过程有问题的话, 该存储过程是不会被创建的(例:表中的某字段已不存在, 而存储过程中还有该字段),

小知识:

1.对于自增长的列, 插入数据的处理, 用SET IDENTITY_INSERT 来开启对自增长列的手动插入.

SET IDENTITY_INSERT [dbo].[T_QQinfo] ON

INSERT [dbo].[T_QQinfo] ([id], [QQno], [QQName], [OrderID], [QQType]) VALUES (3, N'372992868 ', N'客服辜先生 ', 2, 0)

INSERT [dbo].[T_QQinfo] ([id], [QQno], [QQName], [OrderID], [QQType]) VALUES (4, N'280622222 ', N'售后陈先生 ', 4, 0)

SET IDENTITY_INSERT [dbo].[T_QQinfo] OFF

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

把sqlserver 2008数据库转换为2005.

1、在2008下,将数据库“生成脚本”,在上图第五步时,选择“生成数据脚本”服务器版本填2005。不要选择生成数据库脚本。

2、在2005下,先建立一个空白数据库。名字必须和2008下的数据库名字一致,否则修改脚本文件。然后打开脚本文件,选择“执行”。

即可顺利把表和表中的数据建立在新的数据库中。

注意1:不会用远程两个数据库导数据。

注意2:当在生成脚本时,不要自动生成数据库脚本。否则在2005下面提示“找不到存储过程 'sys.sp_db_vardecimal_storage_format'。”,无法插入数据

其它信息:

SQL2005 SQL2008 远程连接配置方法 收藏

SQL2005:

打开SQL2005的配置工具-->SQL Server 2005外围应用配置器-->服务和连接的外围应用配置器 -->Database Engine -->远程连接,选择本地连接和远程连接并选上同时使用Tcp/Ip和named pipes.

(附:如何配置 SQL Server 2005 以允许远程连接:http://support.microsoft.com/kb/914277/zh-cn )

SQL2008:

打开SQL Server Management Studio-->在左边[对象资源管理器]中选择第一项(主数据库引擎)-->右键-->方面-->在方面的下拉列表中选择[外围应用配置器]-->将RemoteDacEnable置为True.

Express:

如果XP有开防火墙,在例外里面要加入以下两个程序:

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe,

C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe

http://hi.baidu.com/gagahjt/blog/item/6ec9a1034fa5fb0e738da5f4.html

#Sql Server
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐