Mik*_*son 1 sql-server sql-server-agent temporary-tables
我想在 SQL Server 代理作业中创建一个全局临时表。
这是代码:
CREATE TABLE ##TestEmployee(Id int, EmployeeName nvarchar(50))
Run Code Online (Sandbox Code Playgroud)
当我在 SSMS 中执行时,一切都很好。
然后我将上面的代码放在 SQL 代理作业上。作业将成功完成,但是当我尝试在 SSMS 中执行 select 语句时,出现Invalid Object
错误。
SELECT * FROM ##TestEmployee
Run Code Online (Sandbox Code Playgroud)
在 SQL Server 代理中创建全局临时表是否有我遗漏的任何问题?
全局和本地临时表之间的区别不在于它们存在多长时间,而在于谁能看到它们。
本地临时表只能由创建它们的会话 (spid) 看到。每个人都可以看到全局临时表,但只有在创建它们的会话处于活动状态时才能看到。
如果您在 SQL 代理作业中运行它,一旦它完成,它就会消失。这就是您无法访问它的原因,因为它不再存在。