标签: sql-server-2008

诊断 SQL Server 中的慢 SQL

我不是 DBA 所以请耐心等待我...

是否可以在 SQL Server 上打开跟踪,它会告诉我执行时间超过 2 秒的任何 SQL 语句、它发生的时间以及 SQL 是什么?是否可以将时间设置为 2, 3 , 4 ,无论如何...?

谢谢

sql-server-2008 sql-server

3
推荐指数
1
解决办法
106
查看次数

无法获取消息以转到 SQL Server Service Broker 队列

我正在尝试设置一个简单的 SQL Server Service Broker 消息设置。我正在关注 MS 教程,但无法使以下代码正常工作。一切运行正常,但消息没有出现在队列中。任何人都可以找出问题所在。

谢谢你的帮助。

-- This query returns "1"
SELECT
    Is_Broker_Enabled
FROM Sys.Databases
WHERE Name = 'ActivationTest2';
GO

-- Create the message types.
CREATE MESSAGE TYPE TestRequestMessage VALIDATION = WELL_FORMED_XML;
CREATE MESSAGE TYPE TestReplyMessage VALIDATION = WELL_FORMED_XML;

-- Create the contract.
CREATE CONTRACT TestContract (
    TestRequestMessage SENT BY INITIATOR, 
    TestReplyMessage SENT BY TARGET) ;

-- Create the target queue and service.
CREATE QUEUE ActTestTgtQueue;
CREATE SERVICE ActTestTgtService ON QUEUE ActTestTgtQueue;

-- Create the initiator queue …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server

3
推荐指数
1
解决办法
1万
查看次数

如何根据表中的另一列创建不同的顺序值集?

我有一张桌子,里面放着两种类型的笔记。提货单和交货单。它们是相同的数据结构,因此使用相同的表。

CREATE TABLE Notes (
   Id int IDENTITY(1,1) NOT NULL,
   Type int  NOT NULL,
   CustomerId int NOT NULL,
   -- etc
)
Run Code Online (Sandbox Code Playgroud)

我正在将数据从旧系统迁移到此表中,并且要求收款和交付票据具有自己的序列号。

我之前已经实现了两个序列表

CREATE TABLE CollectionNoteSequence (
    Id int IDENTITY(1,1) NOT NULL,
    NoteId int NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

其中该Id列是收藏笔记的唯一顺序 ID,然后是 NoteId 外键的 to Notes.Id

现在是进行最终(真实)数据迁移的时候了,而且这种设置似乎很难使用。

有没有办法可以将两个序列表合并并NoteNo在 Notes 表中添加一个字段,以便NoteNo根据Note.Type? 这是复合键还是什么?

新表可能看起来像

CREATE TABLE Notes (
   Id int IDENTITY(1,1) NOT NULL,
   NoteNo int NOT NULL,
   Type int  NOT NULL,
   CustomerId int NOT NULL,
   -- …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 t-sql

3
推荐指数
1
解决办法
3055
查看次数

怀疑是Sql Server 2008数据库

我在 sql server 2008 中的数据库已标记为可疑。

我该如何解决这个问题?

sql-server-2008 sql-server

3
推荐指数
1
解决办法
3115
查看次数

BIDS 的 async_network_io 问题

这与我之前的问题有关BIDS 和 SSRS Web Portal 中的运行时截然不同

我正在努力刷新 BIDS 中的一些报告,因为它们永远运行。我现在注意到,当我在 BIDS 中刷新报告时,查询将遇到 ASYNC_NETWORK_IO 等待。(也是 CXPACKET,但我明白这与其说是原因,不如说是结果)

帖子需要 ASYNC_NETWORK_IO 的帮助似乎表明 SQL Server 正在等待客户端,我假设在这种情况下是我桌面上的 BIDS。

如果可以从这个信息片段中识别出来,那么问题出在哪里?是我的桌面和它缺乏魅力吗?会不会是网络?我的报表是否在报表端做了太多计算?我还应该看哪里?我该如何解决?

我要补充的是,数据通常永远不会完全返回。相反,我收到以下(冗余)错误消息:

本地报告处理期间发生错误。报告处理期间发生错误。抛出了“System.OutOfMemoryException”类型的异常。

sql-server-2008 ssrs wait-types

3
推荐指数
1
解决办法
1850
查看次数

如何将 LOB_DATA ( varbinary/image/text) 移动到不同的文件组

LOB_DATA : varbinary(max),varchar(max), image , text 列。

我有 4 个包含大量 LOB_DATA 的表。我想将这些表中的 LOB_DATA 移动到不同硬盘中的不同文件组。

我在这个文件组中创建了一个新的文件组和文件。我还使用 了这个问题中的 sql 命令。但是 varbinary 列存储仍然保留在以前的位置。

-- To move table data to new filegroup
CREATE UNIQUE CLUSTERED INDEX PK_YourTableName 
ON dbo.YourTableName(YourPKFields)
WITH (DROP_EXISTING = ON) ON [NewFilegroup]
Run Code Online (Sandbox Code Playgroud)

我使用以下 sql来查看 lob_data 的文件组。

-- To see lob_data filegroups
SELECT OBJECT_NAME(object_id) as OBJECT_NAME, FILEGROUP_NAME(data_space_id) as 
FILE_GROUP_NAME, type_desc
FROM sys.partitions p
JOIN sys.allocation_units a
on p.partition_id = a.container_id
WHERE
type_desc = 'LOB_DATA'
Run Code Online (Sandbox Code Playgroud)

我正在使用 SQL Server 2008。

我找到了以下解决方案 …

sql-server-2008 sql-server

3
推荐指数
1
解决办法
8809
查看次数

我们可以使用 SQL Express 使用 Service Broker 向 SQL Standard 发送消息吗?

我们希望在我们的本地站点使用 SQL Express,但仍然能够使用 Service Broker 将数据推送回我们的总部。总部的 SQL Server 是 2008 R2 Standard。

查看 SQL Express 2008 R2 for Express 的功能列表,它说“仅客户端”,这对于我们的需求意味着什么?

sql-server-2008 license service-broker

3
推荐指数
1
解决办法
729
查看次数

查看外键约束,以便我可以删除表

我复制了一个我正在处理的数据库,这样我就可以为我的新版本更改其设计的一些关键元素。

我想从数据库中完全删除一些表,但是由于一些外键约束我不能。

1) 如何查看表中存在的外键约束?

2)如何删除外键和表?

我正在查看 2008R2 的此文档,但我不理解它sys.foreign_keys

sql-server-2008 foreign-key sql-server constraint metadata

3
推荐指数
2
解决办法
5090
查看次数

为什么特定用户的 SSRS 报告运行时间更长

我们一直收到来自特定 SSRS 用户的投诉,称她的报告运行缓慢。我在ExecutionLog表中调查ReportServer数据库发现了一些奇怪的东西。

相当一致,TimeDataRetrieval比其他用户长得多。双方TimeProcessingTimeRendering其他用户的平均值附近。

我很困惑。这些报告都使用作为服务帐户运行的相同共享数据源。我想如果这是一个糟糕的用户计算机问题,我会看到渲染时间的差异。如果有网络问题也一样。

我不知道还能去哪里找 - 有什么想法吗?

sql-server-2008 sql-server ssrs

3
推荐指数
1
解决办法
1251
查看次数

需要过滤两个属性相同的维度

我已经混淆了场景,但总体思路仍然适用,所以如果模式看起来迟钝,它可能是在这个例子中......

假设我有一个 Student 维度,其中有两个属性 - Major 和 Minor(主题)。

我希望能够在 SSAS 中创建一个命名集,让我以某种方式被记录为主要和次要主题相同的学生......

维度看起来有点像这样:

Student
  - Major
  - Minor
Run Code Online (Sandbox Code Playgroud)

底层表看起来像这样:

StudentID  |  MajorKey  | MinorKey
1             50          51
2             45          101
3             58          56
4             45          45
Run Code Online (Sandbox Code Playgroud)

所以,实际上,我想要一个像这样的 MDX 表达式:

FILTER (
  [Student].allmembers,
  [Student].[Major] = [Student].[Minor]
)
Run Code Online (Sandbox Code Playgroud)

...但我不太清楚语法。有任何想法吗?

更新:

如果我使用这种语法...

FILTER (
  [Student].allmembers,
  [Student].[Major].Properties("Key") = [Student].[Minor].Properties("Key")
)
Run Code Online (Sandbox Code Playgroud)

然后它出于某种原因减慢了整个多维数据集的速度。每个度量(自然的或计算的)需要几分钟,而不是 1-2 秒的预缓存。

sql-server-2008 ssas mdx

3
推荐指数
1
解决办法
4011
查看次数