首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-09-19 
sql server 临时文件 位置更改 导致的问题我将临时数据库和log的文件指定到 一个ramdisk之后,数据库服务就

sql server 临时文件 位置更改 导致的问题
我将临时数据库和log的文件指定到 一个ramdisk之后,数据库服务就无法启动了。
报的错误是:

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


有没有 方法可以不用启动数据库服务,重新指定一下临时数据库的位置?之后再启动..

[解决办法]
搜索移动TEMPDB数据库
[解决办法]
tempdb数据库保存所有的临时表和临时存储过程,还满足其他的临时存储要求。是一个全局资源,所有连接到系统的用户的临时表和存储过程都存储在该数据库中。temp代表数据库在SQL Server每次启动时都重新创建。tempdb数据库不需要特殊权限,临时数据库永远不需要进行备份。你还是重启动下数据库服务吧
[解决办法]

SQL code
--确定 tempdb 数据库的逻辑文件名称以及这些文件在磁盘上的当前位置。SELECT name, physical_nameFROM sys.master_filesWHERE database_id = DB_ID('tempdb');GO --使用 ALTER DATABASE 更改每个文件的位置。USE master;GOALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');GOALTER DATABASE  tempdb MODIFY FILE (NAME = templog, FILENAME = 'E:\SQLData\templog.ldf');GO --停止再重新启动 SQL Server 的实例。--验证文件更改。SELECT name, physical_nameFROM sys.master_filesWHERE database_id = DB_ID('tempdb'); --将 tempdb.mdf 和 templog.ldf 文件从其原始位置中删除。
[解决办法]
你把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 文件从其原始位置中删除。

热点排行