https://www.cnblogs.com/OpenCoder/p/10322904.html

操作步骤:
1、检查tempdb的逻辑名字和它的存在位置。可以使用下面语句:

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

2、停止数据库服务.

3、拷贝原来tempdb的文件到新的位置(原来文件位置可以通过上述查询得到)。拷贝完毕后,启动数据库服务。

4、执行如下命令:

USE master;
GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb.mdf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp2, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_2.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp3, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_3.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp4, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_4.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp5, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_5.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp6, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_6.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp7, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_7.ndf'); ALTER DATABASE tempdb
MODIFY FILE (NAME = temp8, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb_mssql_8.ndf'); GO
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\templog.ldf');
GO

在这里,name=tempdev 和templog 等是tempdb的逻辑名字,FILENAME = N'D:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\系统临时数据库\tempdb.mdf'是tempdb的新位置.

执行结果如下:

5、然后检查tempdb移动是否成功。

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

6、接着重启数据库服务

7、注意在步骤3中,我们重新启动数据库服务的时候,还是会在老的tempdb路径下生成一套tempdb的数据库文件,现在它们都是没用的垃圾文件了,我们要去删掉它们。

特别提示:

存放SQL Server数据库文件及数据库日志文件的文件夹,必须要开放对Windows用户组"NT Service\MSSQLSERVER"(也就是SQL Server服务的执行账户)的Full control权限,否则会导致上面步骤6中重启SQL Server服务失败。

如果你不知道SQL Server服务的执行账户是什么,可以通过在Windows服务(services)管理列表中,找到SQL Server数据库引擎服务(如果你只有一个SQL Server Instance,一般就是"SQL Server (MSSQLSERVER)"),然后查看其"Log On As"列的账户:

如果你发现SQL Server执行账户不是上图中的"NT Service\MSSQLSERVER",那么需要将存放SQL Server数据库文件及数据库日志文件的文件夹,开放相应Windows账户的Full control权限。

这一点要千万注意,否则SQL Server服务启动不起来会非常麻烦,如果实在因为移动tempdb到新位置后,SQL Server服务启动不起来,可以参考下面这个帖子的内容:

How to Start SQL Server without TempDB

[转帖]SQL Server 中如何移动tempdb到新的位置的更多相关文章

  1. SQL Server 中如何移动tempdb到新的位置

    操作步骤:1.检查tempdb的逻辑名字和它的存在位置.可以使用下面语句: SELECT name, physical_name FROM sys.master_files WHERE databas ...

  2. 《SQL Server企业级平台管理实践》读书笔记——SQL Server中关于系统库Tempdb总结

    Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用. 存储的内容项: 1.用户对象 用户对象由用户显示创建.这些对象可以位于用户会话的作用域中,也可以位于创建对象所 ...

  3. SQL Server 中关于系统库Tempdb总结

    Tempdb系统数据库是一个全局资源,可供连接到SQL Server实例的所有用户使用. 存储的内容项: 1.用户对象 用户对象由用户显示创建.这些对象可以位于用户会话的作用域中,也可以位于创建对象所 ...

  4. SQL Server中约束的介绍

    SQL Server中约束的介绍(转载收藏) Posted on 2010-09-03 11:05 grayboy 阅读(8501) 评论(0) 编辑 收藏 作者:GrayBoy 出处:http:// ...

  5. SQL Server中tempdb的管理

    原文:SQL Server中tempdb的管理 资料来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive/tags/tempdb/ ht ...

  6. SQL Server中的TempDB管理——TempDB基本知识(为什么需要版本存储区)

    原文:SQL Server中的TempDB管理--TempDB基本知识(为什么需要版本存储区) 参考资料来自: http://blogs.msdn.com/b/sqlserverstorageengi ...

  7. SQL Server中TempDB管理(version store的逻辑结构)

    原文:SQL Server中TempDB管理(version store的逻辑结构) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/arch ...

  8. SQL Server中TempDB管理(版本存储区的一个example)

    原文:SQL Server中TempDB管理(版本存储区的一个example) 原文来自: http://blogs.msdn.com/b/sqlserverstorageengine/archive ...

  9. SQL Server中tempdb的management

    对<SQL Server中tempdb的management>的一些更正和补充   对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这 ...

  10. 对《SQL Server中tempdb的management》的一些更正和补充

    对<SQL Server中tempdb的management>的一些更正和补充 前几天看了这篇文章:SQL Server中tempdb的management 发现里面有些内容不是很准确 文 ...

随机推荐

  1. Prometheus 与 VictoriaMetrics对比

    公众号「架构成长指南」,专注于生产实践.云原生.分布式系统.大数据技术分享 时序数据库有很多,比如Prometheus.M3DB.TimescaleDB.OpenTSDB.InfluxDB等等.Pro ...

  2. .NET MAUI (微软 .Net 6 跨多平台应用 UI)框架的研究学习

    针对 .NET MAUI (微软 .Net 6 跨多平台应用 UI)框架的研究学习,使用VS2022  C# 和 XAML 创建本机移动和桌面应用,开发一套代码可以发布在 Android . iOS ...

  3. Spring WebFlux 简介

    本文基于 Spring Boot 2.6.0 基于之前提到的 Reactor 的出现,使得编写响应式程序成为可能.为此,Spring 的开发团队决定添加有关 Reactor 模型的网络层.这样做的话将 ...

  4. 2023-08-26:请用go语言编写。开心一下的智力题: 有一个村庄,一共250人, 每一个村民要么一定说谎,要么只说真话, 村里有A、B、C、D四个球队,且每个村民只会喜欢其中的一支球队, 但是说

    2023-08-26:请用go语言编写.开心一下的智力题: 有一个村庄,一共250人, 每一个村民要么一定说谎,要么只说真话, 村里有A.B.C.D四个球队,且每个村民只会喜欢其中的一支球队, 但是说 ...

  5. 第3章-图形处理单元-3.2-GPU管线概览

    3.2 GPU管线概览 GPU实现了第2章中描述的概念:几何处理.光栅化和像素处理流水线阶段.这些阶段被分为几个具有不同程度的可配置性或可编程性的硬件阶段.图3.2显示了根据可编程或可配置程度对各个阶 ...

  6. GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例

    本文分享自华为云社区<GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例>,作者: O泡果奶~ . 本文针对SQL语句长时间执行不出来,且verbose执行 ...

  7. 教你用Python自制拼图小游戏,轻松搞定熊孩子

    摘要:本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyth ...

  8. Solon2 开发之IoC,一、注入或手动获取配置

    约定 resources/app.yml( 或 app.properties ) #为应用配置文件 配置样例 track: name: xxx url: http://a.a.a db1: jdbcU ...

  9. PPT 如何将大段WORD制作成PPT

    PPT 如何将大段WORD制作成PPT 标记等级 发送到PPT 图片.表格,无法发送

  10. 机器学习周刊第五期:一个离谱的数据可视化Python库、可交互式动画学概率统计、机器学习最全文档、快速部署机器学习应用的开源项目、Redis 之父的最新文章

    date: 2024/01/08 这个网站用可视化的方式讲解概率和统计基础知识,很多内容还是可交互的,非常生动形象. 大家好,欢迎收看第五期机器学习周刊 本期介绍7个内容,涉及Python.概率统计. ...