无法在Azure SQL数据库中查看或编辑tempdb

时间:2017-11-27 17:24:17

标签: sql azure-sql-database

我使用SQL数据库(PaaS)产品在Azure上有一个数据库。

我无法查看或访问 tempdb ,也无法创建它。

Azure SQL Database view

如果我尝试创建数据库,则会收到以下错误:

Msg 1801, Level 16, State 3, Line 10
Database 'tempdb' already exists. Choose a different database name.

有谁知道这里发生了什么?

3 个答案:

答案 0 :(得分:4)

Azure SQL数据库上的TempDB由Azure平台创建和管理,TempDB容量的大小限制基于Azure SQL数据库层。

希望这有帮助。

答案 1 :(得分:1)

由于他对处理这个系统数据库的服务是正确的,所以我要打开Alberto。

我想我的主要问题是你为什么使用[tempdb]?

在推送到云之前,懒惰的SQL开发人员会在[tempdb]中创建表。这些表应该放在用户定义的登台数据库或模式中。

让我们看看是否允许[tempdb]中的本地/全局临时表和用户定义的表。

-- local temp table
select 'Fee Fie Foo Fumb' as rhymes into #a
go

-- show the data
select * from #a
go

-- show my local tables
select * from tempdb.sys.tables
go

预期结果如下所示。支持本地和全局临时表。

enter image description here

如果我们在Azure SQL数据库中尝试以下create语句,该服务足够聪明,知道您无法直接使用[tempdb]。

enter image description here

现在,回到我的第一个问题。

您为什么要尝试使用和/或修改[tempdb] ??

答案 2 :(得分:0)

在对Alberto的反驳中,Azure现在支持全局临时表。会话引用的数据库是基本层(b0)级别。

enter image description here