sql server 临时文件 位置更改 导致的问题

meatbird 2012-08-30 04:25:57
我将临时数据库和log的文件指定到 一个ramdisk之后,数据库服务就无法启动了。
报的错误是:

在文件 'S:\temp\tempdb.mdf' 中、偏移量为 0000000000000000 的位置执行 读取 期间,操作系统已经向 SQL Server 返回了错误 38(已到文件结尾。)。SQL Server 错误日志和系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重系统级错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。


有没有 方法可以不用启动数据库服务,重新指定一下临时数据库的位置?之后再启动..
...全文
530 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
KevinLiu 2012-08-31
  • 打赏
  • 举报
回复
你把TEMP文件移动到原来的地方再启动数据库看看。另外你能不能把SQL Server错误日志发出来看一下啊?

更改TEMPDB按照下面的步骤,你是这样操作的吗?

--确定 tempdb 数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
GO


--使用 ALTER DATABASE 更改每个文件的位置。

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
GO


--停止再重新启动 SQL Server 的实例。


--验证文件更改。

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');


--将 tempdb.mdf 和 templog.ldf 文件从其原始位置中删除。
  • 打赏
  • 举报
回复
LZ是用sql语句更改的吗?

一、执行下面语句
alter database tempdb modify file (NAME=tempdev,FILENAME = 'C:\tempdb.mdf')
alter database tempdb modify file (NAME=templog,FILENAME = 'C:\templog.ldf')
二、重新启动 SQL Server
xiaoxiangqing 2012-08-31
  • 打赏
  • 举报
回复
没这样试过
meatbird 2012-08-31
  • 打赏
  • 举报
回复
各位大侠,现在是sqlserver 的服务无法启动,我要如何执行sql语句?

sql server我是菜鸟。。。。。
Felixzhaowenzhong 2012-08-30
  • 打赏
  • 举报
回复

--确定 tempdb 数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');
GO


--使用 ALTER DATABASE 更改每个文件的位置。

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');
GO


--停止再重新启动 SQL Server 的实例。


--验证文件更改。

SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('tempdb');


--将 tempdb.mdf 和 templog.ldf 文件从其原始位置中删除。
以学习为目的 2012-08-30
  • 打赏
  • 举报
回复
tempdb数据库保存所有的临时表和临时存储过程,还满足其他的临时存储要求。是一个全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。temp代表数据库在SQL Server每次启动时都重新创建。tempdb数据库不需要特殊权限,临时数据库永远不需要进行备份。你还是重启动下数据库服务吧
SQL77 2012-08-30
  • 打赏
  • 举报
回复
搜索移动TEMPDB数据库

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧