附加数据库对于服务器失败 SQL同步数据库不成功,作业失败,如何解决
各位老铁们好,相信很多人对附加数据库对于服务器失败都不是特别的了解,因此呢,今天就来为大家分享下关于附加数据库对于服务器失败以及SQL同步数据库不成功,作业失败,如何解决的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
数据库空间不足怎么解决
一、用户数据库搬家
操作方法有以下两种
方法1:在企业管理器中进行
(1)在企业管理器中选定要搬家的数据库名,在其上单击鼠标右键,出现如图1所示对话框。
(2)选中“所有任务”,在其子菜单中单击“分离数据库”。
(3)将该数据库的数据文件和日志文件从旧的位置(如D:\MSSQL\Data)拷贝到新的位置(如E:\SQLDataNew)。
(4)再在企业管理器中选中“数据库”文件夹,在其上单击鼠标右键,在出现的对话框中选中“所有任务”,在其子菜单中单击“附加数据库”。
(5)在出现的“附加数据库”对话框中,选择数据库的两个文件的新位置。
方法2:用SQL系统存储过程sp_detach_db/sp_attach_db实现
(1)使用下面语句分离数据库:
USE master
GO
EXEC sp_detach_db'mydb'
GO
(2)将该数据库的数据文件和日志文件从旧的位置拷贝到新的位置。
(3)使用下面语句重新附加数据库:
USE master
GO
EXEC sp_attach_db
'mydb','E:\SQLDataNew\mydbdata.mdf','E:\SQLDataNew\mydblog.ldf''
GO
二、系统数据库搬家
1.master数据库搬家
(1)由于SQL Server每次启动的时候都需要读取master数据库,因此必须在企业管理器中改变SQL Server启动参数中master数据文件和日志文件的路径。
在 SQL Server属性的“常规”选项卡下面有一个叫做“启动参数”的按钮,单击后可以看到所示的界面。
其中,-d用来指定master数据库文件的路径,而–l用来指定master数据库日志文件的路径。
删除旧的master数据库文件和日志文件的路径,添加新的master数据文件和日志文件所在的路径,如:
-dE:\ SQLDataNew\master.mdf
-lE:\ SQLDataNew\mastlog.ldf
(2)停止SQL Server服务,将master.mdf文件和mastlog.ldf文件拷贝到新的位置,如E:\ SQLDataNew文件夹中。
(3)重新启动服务即可。
小技巧:如果在“启动参数”添加的master数据库文件和日志文件的路径或文件名有误,就会造成SQL Server启动不起来。而此时想改正错误又因SQL Server启动不了而重设不了“启动参数”。其实这两个文件路径和文件名是放置在注册表HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Miccrosoft SQL Server\你安装SQL服务器的名\MSSQLServer\Parrmeters下的参数SQLArg1和SQLArg2中,修改这两个参数的值即可。
2. msdb数据库和model数据库搬家
(1)对于msdb数据库和model数据库,我们不能在企业管理器中实现分离和附加,只能用sp_detach_db和sp_attach_db存储过程来分离和附加这两个数据库。
其中,对于msdb数据库,还应确保SQL Server代理当前没有运行,否则sp_detach_db存储过程将运行失败,并返回如下消息:
“无法除去数据库'msdb',因为它当前正在使用。”
(2)调出如图4所示的“启动参数”对话框,添加新参数-T3608。这样,启动SQL Server,它就不会恢复除master之外的任何数据库。
(3)重新启动SQL Server,再用下面命令分离msdb或者model数据库:
EXEC sp_detach_db'msdb'
GO
(4)将数据文件和日志文件移到新的位置,然后再用下面命令重新附加msdb数据库或者model数据库:
USE master
GO
EXEC sp_attach_db
'msdb',‘E:\SQLDataNew\msdbdata.mdf',' E:\SQLDataNew\msdblog.ldf'
GO
(5)在企业管理器中,从“启动参数”框中删除-T3608跟踪标记,再停止并重新启动SQL Server。
3. tempdb数据库搬家
对于tempdb数据库,则可以直接使用ALTER DATABASE语句来为数据文件和日志文件指定新的存放位置,如下所示:
USE master
GO
ALTER DATABASE tempdb MODIF
Y FILE(NAME=tempdev, FILENAME='E:\SQLDataNew\tempdb.mdf')
GO
ALTER DATABASE tempdb MODIF
Y FILE(NAME=templog, FILENAME=
' E:\SQLDataNew\templog.ldf')
GO
至此,SQL Server中数据库全部搬家完成。
sql 2005 附加数据库 错误602
因为数据库附加到2005的时候,数据库文件已经自动升级到2005,所以在2000下是无法再附加的(没有向上兼容的)直接restore或附加是不行的,用脚本+导数据肯定没有问题。
2005转到2000的步骤步骤
1.生成for 2000版本的数据库脚本
2005的manger studio
--打开"对象资源管理器"(没有的话按F8),连接到你的实例
--右键要转到2000的库
--任务
--生成脚本
--在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库
--勾选"为所选数据库中的所有对象编写脚本"
--在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"SQL Server 2000"
--其他选项根据需要设置
--最后把脚本保存到一个.sql脚本文件
2.在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件),连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库
3.将数据从2005导到2000
2005的manger studio
--打开"对象资源管理器"(没有的话按F8),连接到你的实例
--右键要转到2000的库
--任务
--导出数据
--在"SQL Server导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数据库
--在"选择目标"步骤中,连接到 2000,并选择步骤2新建的库
--在"选择源表和源视图"中,选择所有的表
--最后完成
SQL同步数据库不成功,作业失败,如何解决
出现的问题是文件中记录的信息版本未知,(对于高版本的无法识别过老的2000版本),解决方法很简单,在有2005或2008数据库的电脑上,附加一下该2000的数据库,相当于转换一下数据格式,然后分离重新附加即可。
首先进入SQL2005,并在左侧数据库上点击右键选择“附加”→在弹出窗口点击“添加按钮”→并在路径选择框中,找到要附加的数据库,点击确定。
附加完毕之后,文件格式就已经转换完毕了。这个时候将刚才附加的数据库分离出来。依旧在2015的数据库上点击右键→在弹出右键菜单中,选择任务→并再次选择分离,在弹出窗口中直接点确定即可。
sql添加数据库不成功
遇到这种情况首先核对一下51aspx上源码所表明的开发环境(如 VS2005+Sql2005),如果是采用sqlServer2005的话你用Sql2000附加Sql2005的数据库就会出现这种错误(解决方法:改用SqlServer2005附加一下,如果还想用Sql2000格式那就用导出sql语句等方式进行转换)
转csdn sql专家邹建的解决办法
直接restore或附加应该是不行的,用脚本+导数据肯定没有问题。
2005转到2000的步骤步骤
1.生成for 2000版本的数据库脚本
2005的manger studio
--打开"对象资源管理器"(没有的话按F8),连接到你的实例
--右键要转到2000的库
--任务
--生成脚本
--在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库
--勾选"为所选数据库中的所有对象编写脚本"
--在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"SQL Server 2000"
--其他选项根据需要设置
--最后把脚本保存到一个.sql脚本文件
2.在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件),连接到SQL Server 2000,执行上面生成的脚本.以创建一个新的数据库
3.将数据从2005导到2000
2005的manger studio
--打开"对象资源管理器"(没有的话按F8),连接到你的实例
--右键要转到2000的库
--任务
--导出数据
--在"SQL Server导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数据库
--在"选择目标"步骤中,连接到 2000,并选择步骤2新建的库
--在"选择源表和源视图"中,选择所有的表
--最后完成
如果你还想了解更多这方面的信息,记得收藏关注本站。