重建tempdb

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 没有TempDB数据库并非无法启动,只不过启动的方式与往常不同,简单的说,就是希望Sqlserver引擎在启动的时候不去启动具体的数据库,这样以后就给了DBA足够的资源来恢复数据库的运行,具体实现方法如下:

重建TempDB的方法


环境:

     Sqlserver 2008 R2的TempDB文件被误删除,导致Sqlserver服务无法启动。

分析:

没有TempDB数据库并非无法启动,只不过启动的方式与往常不同,简单的说,就是希望Sqlserver引擎在启动的时候不去启动具体的数据库,这样以后就给了DBA足够的资源来恢复数据库的运行,具体实现方法如下:

1. 进入cmd,cd切换到sqlserver程序目录下的bin目录中

2. 运行sqlserver.exe /f /c /T 3608或者net start "mssqlserver" /f /T 3608

   说明:几个参数的含义

           /f:通过最小配置启动数据库

          /c:sqlserver独立与window service control manager启动

          /T:用于指定数据库启动时的跟踪标记,通过具体的参数,用于控制sqlserver按照非标准的方式启动,其中3608表示  

                数据库引擎在启动时只加载master库。

3. 查看下此时引擎中记录的tempd文件的位置:

    SELECT name, physical_name AS CurrentLocation

    FROM sys.master_files

   WHERE database_id = DB_ID(N'tempdb');

   GO

4. 请执行如下语句重建tempdb数据库:

USE master;

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');

GO

5. 在windows服务中重启数据库服务

参考文档:

http://msdn.microsoft.com/en-us/library/ms162819.aspx

http://msdn.microsoft.com/en-us/library/ms188396.aspx

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
SQL Oracle 关系型数据库
数据库复制对nologging操作的处理
当DML操作以NOLOGGING方式执行时,或者SQLLoader以UNRECOVERABLE方式进行直接路径加载时,会禁止生成重做日志或者只会生成很少的日志信息,这些可以加快这些操作的速度。
101 0
|
SQL Oracle 关系型数据库
truncate表后恢复方法总结
truncate表后恢复方法总结   1.1  BLOG文档结构图   1.2  前言部分   1.
1721 0
|
关系型数据库 MySQL 存储
|
Oracle 关系型数据库 数据库
|
SQL 数据库 索引
|
Oracle 关系型数据库 索引
|
数据库 索引 Go