sql-server – 安全地移动和创建新的tempdb文件
|
我想知道的两件事: >如何以最短的停机时间安全地移动tempdb? 每个核心是1个文件吗?那么四核= 4个tempdb文件,创建三个新文件? 解决方法要移动tempdb文件,只需执行以下操作:alter database tempdb
modify file
(
name = tempdev,filename = 'C:YourNewTempdbDirtempdb.mdf'
)
go
alter database tempdb
modify file
(
name = templog,filename = 'C:YourNewTempdbDirtemplog.ldf'
)
go
如果要向tempdb添加新文件,只需执行以下操作(假设您要将其添加到PRIMARY文件组,或创建自己的文件组): alter database tempdb
add file
(
name = tempdb2,filename = 'C:YourNewTempdbDirTempdb2.ndf'
)
go
要使这些更改生效,您需要重新启动SQL Server服务.因此,就最大限度地减少停机时间而言,您将受限于服务重启所需的时间.您不必担心移动预先存在的tempdb数据库文件,因为SQL Server总是重新创建文件,并且将在服务启动时创建新的位置/文件. 至于“每个核心1个tempdb数据文件”,这在很大程度上是一个神话.正确的方法是监视页面可用空间(PFS),全局分配映射(GAM)和共享全局分配映射(SGAM)页面的tempdb文件争用.请参阅通过sys.dm_os_waiting_tasks DMV查看的this article to get a query,以查看有多少tempdb文件争用.然后你需要离开这个,而不是仅仅使用与核心相同数量的文件覆盖tempdb.这是更明智的方法. (编辑:黄山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server-2005 – 在SQL Server 2005中分析非常大的结果集
- sql-server – 模仿group_concat()与GROUP BY结合使用
- sql-server – 恢复数据库,不包括FILESTREAM数据
- sql-server – Transact-SQL查询中字符串前的N前缀
- SQL server中怎样做锁表和解锁表的操作?
- sql-server-2008 – SQL 2008每10分钟执行一次CHECKDB,任何
- 初学者SQL问题:具有多个COUNT(*)结果的算术
- 用户帐户 – 最佳实践 – 删除未使用的SQL帐户或仅禁用它们
- sqlserver得到当前日期的最大时间值
- sqlserver 临时表 Vs 表变量 详细说明
