当前位置:首页 » 编程语言 » sql2008tempdb

sql2008tempdb

发布时间: 2022-12-18 05:09:17

sql server2008 里的tempdb的collation name 是korean_wansuang_ci_as 如何修改为chinese_prc_ci_as

tempdb的排序规则跟安装SQL Server的时候指定的排序规则是相同的,想要修改tempdb的排序规则,必须修改数据库实例的默认排序规则,这个比较麻烦,还不如重装,并指定排序规则。

如果是因为查询过程中排序规则与其它库不一样导致查询失败,可以使用collate关键字指定排序规则。
比如临时表#temp是属于tempdb的,该临时表包含varchar类型列a,其他用户库表temp,包含varchar类型列b,直接进行比较会出错
WHERE #temp.a=temp.b
但是使用collate关键字就可以避免
WHERE #temp.a COLLATE chinese_prc_ci_as=temp.b

⑵ sql server 2008的tempdb在不重装的情况下如何移到其他盘上

先分离 tempdb 数据库, 复制tempdb的文件(数据库文件和日志文件)到其他盘 然后附加tempdb数据库。可能会遇到权限问题;修改 tempdb 所在目录的访问权限

⑶ 如何修改SQL 2008的数据文件目录

use
master;
go
alter
database
master
modify
file
(name
=
master,filename='J:\data\master.mdf');
go
alter
database
master
modify
file
(name
=
mastlog,filename='J:\data\mastlog.ldf');
go
alter
database
tempdb
modify
file
(name
=
tempdev,filename='J:\data\tempdb.mdf');
go
alter
database
tempdb
modify
file
(name
=
templog,filename='J:\data\templog.ldf');
go
alter
database
msdb
modify
file
(name
=
msdbData,filename='J:\data\MSDBData.mdf');
go
alter
database
msdb
modify
file
(name
=
MSDBlog,filename='J:\data\MSDBLog.ldf');
go
alter
database
model
modify
file
(name
=
modeldev,filename='J:\data\model.mdf');
go
alter
database
model
modify
file
(name
=
modellog,filename='J:\data\modellog.ldf');
go
msdb、model、tempdb都可以移到我定义的目录,数据库可以启动,起来以后到数据库属性-文件看到的路径就是修改后的路径。但是master的语句也执行成功了,执行结果如下:
文件
'master'
在系统目录中已修改。新路径将在数据库下次启动时使用。
文件
'mastlog'
在系统目录中已修改。新路径将在数据库下次启动时使用。
但是将master的2个文件移动到j:\data目录下,数据库启动失败,从日志看,还是找原来的启动路径。

⑷ 如何不重启服务、收缩sql server2008 tempdb数据库

tempdb是你想变多大就变多大的么?

建议您参考阅读一下MSDN对tempdb数据库的解释:
http://msdn.microsoft.com/zh-cn/library/ms190768.aspx

⑸ SQL Server 2008安装程序创建4个系统数据库

master
tempdb
model
msdb
在实例中默认显示为4个,有一个是隐藏的Resource记录系统表信息

系统数据库 说明
master 数据库 记录 SQL Server 实例的所有系统级信息。
msdb 数据库 用于 SQL Server 代理计划警报和作业。
model 数据库 用作 SQL Server 实例上创建的所有数据库的模板。对 model
数据库进行的修改(如数据库大小、排序规则、恢复模式和其他数据库选项)将应用于以后创建的所有数据库。
Resource 数据库 一个只读数据库,包含 SQL Server 包括的系统对象。系统对象在物理上保留在 Resource 数据库中,但在逻辑上显示在每个数据库的
sys 架构中。
tempdb 数据库 一个工作空间,用于保存临时对象或中间结果集。

⑹ sql server 2008r2的tempdb很大怎么办

TEMPDB存放显式创建的临时对象,如表,存储过程,表变量和游标,以及所有版本的已更新记录(如果启用了快照隔离)或所用的隐式基于快照隔离的功能.
你的数据库用户多,查询量很大.当然TEMPDB会很大咯.如果可以的话,把SQL SERVER的TEMPDB单独放到一个高速磁盘上,TEMPDB的初始大小根据数据库查询和使用量来确定,建议你直接设定为10G.
当然,你也要看看那些查询语句,使用了临时表要记得DROP,如果很大的查询临时结果.譬如SQL SERVER的执行计划里有TABLE SPOOL,可以做成临时表,在使用完之后再删除.

⑺ sql2008数据库报错3417怎么处理

  • 当发现数据库不能连接时,我们第一反应是去检查数据库的服务。发现sql server(SQLexpress)服务未启动,当我们去启动服务时无法启动,错误代码为errorcode 3417 。

⑻ sql server 2008数据库有哪些表

在安装了sql
server
2008的系统共中将创建4个可见系统数据库:master、model、msdb、tempdb
master数据库
master数据库是sql
server中最重要的数据库,它是sql
server的核心数据库,如果该数据库被损坏,sql
server将无法正常工作,master数据库中包含所有的登录名或用户id所属的较角色、服务器中的数据库的名称及相关的信息、数据库的位置、sql
server如何初始化四个方面的重要信息。
model数据库
用户创建数据库时是以一套预定义的标准为模型。例如,若希望所有的数据库都有确定的初始大小,或者都有特定的信息集,那么可以吧这些信息放在model数据库中,以model数据库作为其他数据库的模板数据库。如果想要使用所有的数据库都有一个特定的表,可以把该表放在model数据库里。
model数据库是tempdb数据库的基础。对model数据库的任何改动都将反映在tempdb数据库中,所以,在决定对model数据库有所改变时,必须预先考虑好
msdb数据库
msdb数据库给sql
server代理提供必要的信息来运行作业,因而它是
sql
server中另一个十分重要的数据库。
tempdb数据库
tempdb数据库用作系统的临时存储空间,其主要作用是存储用户建立的临时表和临时存储过程,存储用户说明的全局变量值,为数据排序创建临时表,存储用户利用游标说明所筛选出来的数据。

⑼ SQL server2008 临时表tempdb如何自动释放存储空间

sql server中如何创建,使用,释放临时表
drop table #Tmp --删除临时表#Tmpcreate table #Tmp --创建临时表#Tmp( ID int IDENTITY (1,1) not null, --创建列ID,并且每次新增一条记录就会加1 WokNo varchar(50), primary key (ID) --定义ID为临时表#Tmp的主键 );Select * from #Tmp --查询临时表的数据truncate table #Tmp --清空临时表的所有数据和约束
相关例子:
Declare @Wokno Varchar(500) --用来记录职工号Declare @Str NVarchar(4000) --用来存放查询语句Declare @Count int --求出总记录数 Declare @i intSet @i = 0 Select @Count = Count(Distinct(Wokno)) from #TmpWhile @i < @Count Begin Set @Str = 'Select top 1 @Wokno = WokNo from #Tmp Where id not in (Select top ' + Str(@i) + 'id from #Tmp)' Exec Sp_ExecuteSql @Str,N'@WokNo Varchar(500) OutPut',@WokNo Output Select @WokNo,@i --一行一行把职工号显示出来 Set @i = @i + 1 End临时表可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。
本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。
SQL 语句使用 CREATE TABLE 语句中为 table_name 指定的名称引用临时表:
CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)INSERT INTO #MyTempTable VALUES (1)
如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server 必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。
除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去:
当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。
所有其它本地临时表在当前会话结束时自动除去。
全局临时表在创建此表的会话结束且其它任务停止对其引用时自动除去。任务与表之间的关联只在单个 Transact-SQL 语句的生存周期内保持。换言之,当创建全局临时表的会话结束时,最后一条引用此表的 Transact-SQL 语句完成后,将自动除去此表。 在存储过程或触发器中创建的本地临时表与在调用存储过程或触发器之前创建的同名临时表不同。如果查询引用临时表,而同时有两个同名的临时表,则不定义针对哪个表解析该查询。嵌套存储过程同样可以创建与调用它的存储过程所创建的临时表同名的临时表。嵌套存储过程中对表名的所有引用都被解释为是针对该嵌套过程所创建的表,例如:
CREATE PROCEDURE Test2ASCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (2)SELECT Test2Col = x FROM #tGOCREATE PROCEDURE Test1ASCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (1)SELECT Test1Col = x FROM #tEXEC Test2GOCREATE TABLE #t(x INT PRIMARY KEY)INSERT INTO #t VALUES (99)GOEXEC Test1GO
下面是结果集:
(1 row(s) affected)
Test1Col ----------- 1
(1 row(s) affected)
Test2Col ----------- 2
当创建本地或全局临时表时,CREATE TABLE 语法支持除 FOREIGN KEY 约束以外的其它所有约束定义。如果在临时表中指定 FOREIGN KEY 约束,该语句将返回警告信息,指出此约束已被忽略,表仍会创建,但不具有 FOREIGN KEY 约束。在 FOREIGN KEY 约束中不能引用临时表。
考虑使用表变量而不使用临时表。当需要在临时表上显式地创建索引时,或多个存储过程或函数需要使用表值时,临时表很有用。通常,表变量提供更有效的查询处理。

热点内容
小米笔记本存储不够 发布:2024-05-20 06:32:53 浏览:783
dirt5需要什么配置 发布:2024-05-20 06:02:58 浏览:542
怎么把电脑锁上密码 发布:2024-05-20 05:19:09 浏览:985
安卓为什么连上wifi后没有网络 发布:2024-05-20 05:17:50 浏览:419
安卓usb在设置哪里 发布:2024-05-20 05:03:03 浏览:187
绥化编程 发布:2024-05-20 04:59:44 浏览:991
基本原理和从头计算法 发布:2024-05-20 04:50:32 浏览:30
配置情况指的是什么 发布:2024-05-20 04:48:14 浏览:497
那个程序用来编译源文件 发布:2024-05-20 04:46:45 浏览:551
小程序需要数据库吗 发布:2024-05-20 04:35:14 浏览:338