我的数据库是sql server2005 的,可是网上的却是sql server2008的,现在本地的数据库不是最新的,想把网上的下载到本地,可本地是sql server 2005 的,请问如何把sql server 2008 的转成2005 的。
这个问题正常用附加,还原是不好用的,所以要把已经开发好的数据库(里边含有用的数据)降低到SQL2005可以识别,或者说降级到SQL2005。具体办法如下(已经下载并安装了SSMS2008):
1、点击“开始 > 程序 > Microsoft Sql Server 2008 > SQL Server Management Studio”
2、在出现的“连接到数据库服务器”对话框,服务器类型选“数据库引擎”,服务器名称选择本机的SQL Server(一般是主机名/SQL服务器),点击下拉框可以找到,身份验证选“Windows 身份验证”(一般本地SQL Server都是这种验证,如果选“SQL Server身份验证”,需要用户名及密码,互联网上的数据库是这种身份验证,主机服务提供商会提供用户名及密码)
3、SSMS界面出来,在对象资源管理器中的“数据库”目录中查找你要转换的数据库,如果没有,右击“数据库”目录,在出来的快捷菜单中点击“附加...”,新出现一个对话窗口,点击右边窗格中的“添加...”按钮,找到你要转换的数据库,点击“确定”
4、在要转换的数据库上右击,出现的快捷菜单中点击“任务 > 生成脚本”,在“脚本向导”中点击“下一步”,选中你要转换的数据库(如果前边已经选中,这次就是选中状态),勾选下部的“为所选数据库的所有对象编写脚本”,如下图
5、点击下一步,现在进入配置的最关键阶段:
由于生成的脚本最后是在主机提供商已经建好的数据库中生成表,所以注意按照如下的配置进行:
编写创建数据库的脚本:False (主机提供商已经有数据库,这里只生成表,不再生成数据库)
编写数据的脚本:True (因为有用的数据要一并生成)
编写Use DataBase的脚本:True
为服务器版本编写脚本:SQL Server 2005 (生成2005的脚本,而不是默认的2008脚本,见下图)
6、按照下边图片的选项设定,点击“完成”,即可完成数据库由SQL Server 2008到SQL Server 2005转换脚本的生成。
后注:然后根据主机提供商给的数据库,直接到网络数据库上导入脚本;或者再次使用本SSMS连接到主机提供商的数据库上(这时肯定是SQL Server身份验证,需要提供用户名及密码),通过网络数据库“新建查询”的方法将刚才生成的脚本粘贴到新建查询窗口,点击“运行”,即可将全部数据表、存储过程、约束关系等导入主机提供商的数据库中,更具体问题,要与主机提供商联系。
需要注意的是,当把脚本向新的数据库导入时,要把脚本中原来的Use后的数据库名改为要导入的数据库名称,这样才可以把本地的数据库导入到网络的数据库内。