對於tempdb數據庫中的永久表有沒有任何用例?永久性我的意思是不使用#或##,但在tempdb中創建一個真正的表。我知道重新啓動sql服務會清除tempdb,但是這種做法會因爲其他原因而變壞嗎?SQL Server tempdb永久表使用案例
我在問,因爲我有一個這樣的用例,我需要一個臨時表,但會打開更多的SQL連接跨度。
編輯:在長期居住的臨時表中的實際數據序列化的文件,而不是數據基礎上整理或其他任何
對於tempdb數據庫中的永久表有沒有任何用例?永久性我的意思是不使用#或##,但在tempdb中創建一個真正的表。我知道重新啓動sql服務會清除tempdb,但是這種做法會因爲其他原因而變壞嗎?SQL Server tempdb永久表使用案例
我在問,因爲我有一個這樣的用例,我需要一個臨時表,但會打開更多的SQL連接跨度。
編輯:在長期居住的臨時表中的實際數據序列化的文件,而不是數據基礎上整理或其他任何
爲什麼在數據庫中沒有創建一個名爲「臨時」的架構(或分期),和在該模式中創建長期存在的臨時表。例如
create schema [temp]
authorization [dbo]
create table [temp].[MyTempTable]
(
Id int,
[name] varchar(50),
... SomeColumns ...
)
更新:爲了響應你額外的信息,您可以使用FILESTREAM? (SQL服務器2008年起)
的想法是不好的原因有很多,例如 - 如果你的數據庫和tempdb(服務器)的排序規則不匹配 - 隱含的字符串比較可能會失敗
它爲什麼準確地在tempdb上? 爲什麼除了發佈的所有其他替代方案之外,還要創建共享數據庫來保存此表?
因爲tempdb已經存在於所有客戶的主分區旁邊,所以爲此創建另一個數據庫看起來像是很多開銷 – 2012-02-20 12:09:27
我建議採用不同方法的主要原因是因爲tempdb已經是瓶頸,因爲SQL Server對它的使用次數。我不會建議找到另一個將東西插入tempdb的原因。
除此之外,tempdb與任何其他位置一樣好,並具有額外的好處,即在服務重新啓動後,您留下的所有內容都將被清除。
因爲臨時表中的數據將用於從服務器到網絡的文件傳輸(串行化,然後使用sql select讀取字節),而文件實際上是指數據庫備份。 – 2012-02-20 10:51:17