全局临时表的生命周期.

时间:2021-12-14 09:02:12
我知道mssqlserver的全局临时是随着最后一个访问该表的会话消失的,怎么才能使这个全局临时表的生命周期维持到mssqlserver进程结束呢(即到关闭mssqlserver服务或关机的时候)?

端午节到啦,预祝各位身体健康,节日快乐!嘻~

9 个解决方案

#1


全局临时表##Tb,是服务器关闭才消失的

#2


有关创建和修改表的基础知识
http://technet.microsoft.com/zh-cn/library/ms177399.aspx

#3


全局临时表关联session,临时表关联processes

#4


引用 1 楼 xys_777 的回复:
全局临时表##Tb,是服务器关闭才消失的

应该是session断开才释放

#5


只有保证创建全局临时表的会话不被关闭,或者始终有一个会话在使用全局临时表。

#6


引用 5 楼 xman_78tom 的回复:
只有保证创建全局临时表的会话不被关闭,或者始终有一个会话在使用全局临时表。
.........

#7



-- 可以通过自启动过程创建全局临时表,此临时表的作用时间将维持到 SQL Server 实例关闭

-- 启用 scan for startup procs 服务器选项,让 SQL Server 支持自启动过程
exec sp_configure 'show advanced options';
go
reconfigure with override;
go
exec sp_configure 'scan for startup procs',1
go
reconfigure with override;
go

-- 在 master 数据库中创建存储过程
use master
go
create procedure [dbo].[usp_create_global_temporary_table]
as
create table ##global (id int);
go

-- 将存储过程标示为自启动
exec sp_procoption '[dbo].[usp_create_global_temporary_table]','startup','on';
go

-- 重启 SQL Server。
-- 在 SQL Server 启动时自动运行 [dbo].[usp_create_global_temporary_table] 过程创建全局临时表。
-- 测试 。。。
select * from ##global;

#8


谢谢各位大虾的见解,由于忙其他项目,把这事忘了。迟迟结贴,对不起各位了。

#9


look

#1


全局临时表##Tb,是服务器关闭才消失的

#2


有关创建和修改表的基础知识
http://technet.microsoft.com/zh-cn/library/ms177399.aspx

#3


全局临时表关联session,临时表关联processes

#4


引用 1 楼 xys_777 的回复:
全局临时表##Tb,是服务器关闭才消失的

应该是session断开才释放

#5


只有保证创建全局临时表的会话不被关闭,或者始终有一个会话在使用全局临时表。

#6


引用 5 楼 xman_78tom 的回复:
只有保证创建全局临时表的会话不被关闭,或者始终有一个会话在使用全局临时表。
.........

#7



-- 可以通过自启动过程创建全局临时表,此临时表的作用时间将维持到 SQL Server 实例关闭

-- 启用 scan for startup procs 服务器选项,让 SQL Server 支持自启动过程
exec sp_configure 'show advanced options';
go
reconfigure with override;
go
exec sp_configure 'scan for startup procs',1
go
reconfigure with override;
go

-- 在 master 数据库中创建存储过程
use master
go
create procedure [dbo].[usp_create_global_temporary_table]
as
create table ##global (id int);
go

-- 将存储过程标示为自启动
exec sp_procoption '[dbo].[usp_create_global_temporary_table]','startup','on';
go

-- 重启 SQL Server。
-- 在 SQL Server 启动时自动运行 [dbo].[usp_create_global_temporary_table] 过程创建全局临时表。
-- 测试 。。。
select * from ##global;

#8


谢谢各位大虾的见解,由于忙其他项目,把这事忘了。迟迟结贴,对不起各位了。

#9


look