是否可以将表值参数用作存储过程的输出参数?
这是,我想在代码中做什么
/*First I create MY type */
CREATE TYPE typ_test AS TABLE
(
id int not null
,name varchar(50) not null
,value varchar(50) not null
PRIMARY KEY (id)
)
GO
--Now I want to create stored procedu whic is going to send output type I created,
--But it looks like it is inpossible, at least in SQL2008
create PROCEDURE [dbo].sp_test
@od datetime
,@do datetime
,@poruka varchar(Max) output
,@iznos money output
,@racun_stavke dbo.typ_test READONLY --Can I Change READONLY with OUTPUT …Run Code Online (Sandbox Code Playgroud) 我以前没有见过SLEEP_TASK等待类型,今天我似乎得到了很多。
我不是正式的 DBA,只是一名了解 DBA 知识的 SQL Server 开发人员。我们上周末将服务器升级到10.52.2500.0- 我认为是 R2SP1。
我在网上能找到的所有信息都表明SLEEP_TASK服务器正在等待某种内部进程完成。我没有任何阻塞或任何后台进程,如检查点或幽灵清理运行,所以我有点难住。
有没有人以前见过这种等待类型,如果有,你能告诉我是什么原因造成的吗?
SQL Server 2012 中代号Denali为Columnstore 索引的新功能之一。
我对常规的旧行存储索引非常了解,例如 b 树结构、叶级和 b 树页面之间的存储差异、包含字段的影响、优化使用它们、键的顺序等。
我很难获得有关列存储索引内部结构的任何好的信息。
我能找到的很多关于它们的信息基本上与“正常”索引完全相反,即没有键的排序,没有包含的字段,只有非聚集。
任何见解表示赞赏。
我即将推出一些非常大的东西。我需要准备我的服务器和数据库。
我想将每组 100,000 个用户分组在单独的用户表中,但我不知道如何关联一个尝试登录到相应用户表的用户。
例如,我怎么知道用户jay@mail.com与用户表 #36 相关?
在一个用户表中拥有 1000 万用户或 100,000 中的 100 个用户是一样的吗?
脸书怎么做?我不敢相信他们会有一个包含 9.5 亿个条目的全局用户表。
我正在使用 BIDS 在 SSAS 2008 r2 中创建一个多维数据集。
我使用向导创建了一个时间维度。该配置的一部分是选择日期范围。
创建后,我意识到我需要比最初指定的日期范围更广的日期范围。
我确实发现我可以打开维度,转到属性,并在那里重新定义日期范围。我保存并重新处理了维度,但表中的实际日期范围并未增加以包括新添加的日期。
有没有另一种方法可以让这个时间维度增长,还是我需要从头开始重新创建它?
我们有一个相当小的数据库,我们想将它从 MyISAM 转换为 InnoDB。作为数据库新手,我们只是转换(使用alter table),甚至没有关闭站点。
现在转换完成了,很多断断续续的行似乎丢失了。这可能是由于转换期间的操作造成的吗?还是其他地方的问题?
所以让我先说我不能完全控制我的数据库设计,所以当前系统的很多方面都不能为了这个场景的目的而改变。
关于我们应该如何重新思考设计方面的评论可能是正确的,但无济于事:)
我有一个非常大的表,大约 150 个字段宽,大约 600m 行,它驱动大量进程。这是在数据仓库情况下,因此我们在计划加载过程之外没有任何更新/插入,因此它被大量索引。
已决定尝试对该表进行分区,我对索引分区表有一些担忧。我没有任何分区经验,因此感谢任何输入或链接。我无法在 BOL 或 msdn 上具体找到我所追求的内容。
目前,我们聚集在一个我们称之为IncidentKeyavarchar(50)而非唯一的字段上——我们可以有 1-100 条相同的记录IK(请不要发表评论)。我们确实经常在旧IncidentKey记录上获取新数据,因此它也不是连续的。
我知道我需要IncidentDate在我的聚集索引键中包含我的分区字段 ,才能使分区正常工作。我想它会是IncidentKey, IncidentDate。
问题是,如果“新”分区中的记录应该在聚集索引中“旧”分区中的记录之前,聚集索引的机制将如何在分区表中的 2 部分键上工作?
例如,我有 5 条记录:
IncidentKey Date
ABC123 1/1/2010
ABC123 7/1/2010
ABC123 1/1/2011
XYZ999 1/1/2010
XYZ999 7/1/2010
Run Code Online (Sandbox Code Playgroud)
如果我得到一个新记录,ABC123, 2/1/2011它将需要在聚集索引BEFORE 中 XYZ999, 1/1/2010。这是如何运作的?
我假设有碎片和指针,但我找不到关于具有双部分键的分区表上非分区聚集索引的物理存储和配置的任何信息。
我对 SQL Server 2012 还很陌生,如果有人可以提供帮助,我将不胜感激。我已将大型数据库的副本恢复到 SQL Server 2012,并尝试对其运行一些简单的查询。
我正在尝试对数据库136898115行表运行 SELECT 查询。这个SELECT查询只有一个简单的WHERE子句。每次运行这个查询都会失败,因为系统盘(安装Windows的分区- C:\)空间不足(这个分区只有6GB可用空间),我不明白为什么。我将 tempdb 定义为位于不同驱动器上,该驱动器具有超过 14 TB 的可用空间。当然,我的数据库也位于不同的驱动器上。
是什么让我的系统分区空间不足?是页面文件吗?
我有一个应用程序,它每年向表中插入超过 10 亿行。此表包含一些varchar和bigint列和一个 blob 列。
这 10 亿行包含用于跟踪目的的历史数据。所以我想知道如果我根据这篇关于最大表大小的 MSDN 文章继续采用这种结构,是否会有表容量限制。
该链接中提到的数据文件大小是否指的是表数据文件组?
sql-server ×4
index ×2
mysql ×2
architecture ×1
columnstore ×1
datatypes ×1
innodb ×1
myisam ×1
parameter ×1
partitioning ×1
ssas ×1
t-sql ×1
tempdb ×1
users ×1
wait-types ×1