日期:2014-05-17  浏览次数:20567 次

tempdb表里的表, 怎么会自动消失呢?
在2008里,的tempdb里建立了一张表,上周五

刚才,进了数据库,表就没有了,怎么样才能把表个保存呀?



另外,上周五在 master里也建了张表,就没丢,咋回事?


------解决方案--------------------
临时表(#开头的)都存放在tempdb数据库中的,你在tempdb中建的表,你会话一关掉就会清空的
------解决方案--------------------
tempdb库会随着服务的重启而重建,重建的库表源于model库
也就是如果没有模型的话tempdb库在重启后是保留不了任何对象的
------解决方案--------------------
临时表有两种类型:本地表和全局表。在与首次创建或引用表时相同的 SQL Server 实例连接期间,本地临时表只对于创建者是可见的。当用户与 SQL Server 实例断开连接后,将删除本地临时表。全局临时表在创建后对任何用户和任何连接都是可见的,当引用该表的所有用户都与 SQL Server 实例断开连接后,将删除全局临时表。



tempdb 系统数据库是一个全局资源,可供连接到 SQL Server 实例的所有用户使用,并可用于保存下列各项:
显式创建的临时用户对象,例如全局或局部临时表、临时存储过程、表变量或游标。
SQL Server 数据库引擎创建的内部对象,例如,用于存储假脱机或排序的中间结果的工作表。
由使用已提交读(使用行版本控制隔离或快照隔离事务)的数据库中数据修改事务生成的行版本。
由数据修改事务为实现联机索引操作、多个活动的结果集 (MARS) 以及 AFTER 触发器等功能而生成的行版本。
tempdb 中的操作是最小日志记录操作。 这将使事务产生回滚。 每次启动 SQL Server 时都会重新创建 tempdb,从而在系统启动时总是保持一个干净的数据库副本。 在断开联接时会自动删除临时表和存储过程,并且在系统关闭后没有活动连接。 因此 tempdb 中不会有什么内容从一个 SQL Server 会话保存到另一个会话。 不允许对 tempdb 进行备份和还原操作。
------解决方案--------------------
重启服务器,tempb里面的临时表就不再了