小编Fai*_*aiz的帖子

如何在T-SQL中的调试时查看表变量的值?

我们可以在调试时间内在SQL Server Management Studio(SSMS)中看到表值变量中的值(行和单元格)吗?如果有,怎么样?

在此输入图像描述

sql debugging ssms table-variable

180
推荐指数
5
解决办法
10万
查看次数

Wiki数据库,有吗?

我正在网上寻找类似维基数据库的东西,就像维基百科一样,而是存储结构化内容,可由用户编辑.我正在寻找的是每个人都可以访问的在线数据库,人们可以通过适当的模式和数据版本来设计模式和数据.我找不到任何这样的网站.我不确定这是否是我的搜索技巧,或者现在是否真的没有维基数据库.有没有人知道这样的事情?

我认为这样的事情有很大的潜力.可能的示例是具有用于查询MySQL DB的GUI的网站,其中任何网站访问者可以创建DB对象并填充数据.


更新:我已经注册了域wikidatabase.org以开始使用工具,但我还没有找到足够的时间.如果有人有兴趣花一些时间和编码,请在wikidatabase.org告诉我

sql database wiki

23
推荐指数
3
解决办法
5470
查看次数

LSN在SQL Server中的含义是什么?

Log Sequence Number是什么意思?我知道它是二进制类型和10bytes长,它对应于DB中事务发生的时间.但这是一个高精度的日期时间值,以某种有效的二进制格式存储,或者这是日期时间和其他东西的函数(例如,在相同的毫秒时间内发生的事务的序列号).我做了很多搜索,但找不到合适的答案.

任何人都可以解释用于从日期时间或任何事物中导出LSN的公式或函数.

sql architecture sql-server logging cdc

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

SQL:如何用前一行值填充空单元格?

我需要在不使用循环和相关子查询的情况下使用SQL生成下表中的"required"列.这在SQL 2008中是否可行?

Date    Customer   Value   Required   Rule
20100101       1      12         12
20100101       2                  0   If no value assign 0
20100101       3      32         32
20100101       4      42         42
20100101       5      15         15
20100102       1                 12   Take last known value
20100102       2                  0   Take last known value
20100102       3      39         39
20100102       4                 42   Take last known value
20100102       5      16         16
20100103       1      13         13
20100103       2      24         24
20100103       3                 39   Take last known value
20100103       4                 42   Take last …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008

10
推荐指数
2
解决办法
4万
查看次数

如何防止在DataBase First Model中删除DataAnnotations属性

我有我的asp.net mvc 3应用程序与实体框架,我使用Database First模型来设置它.

我的步骤如下:1.使用表生成数据库2.创建ADO.NET实体数据模型文件(.edmx)并导入表3.在设计内部我添加了代码生成项并使用了ADO.NET DbContext Generator 4. a使用所有表格模型制作的Model1.tt持有者

我已经编辑了模型并使用DataAnnotations Attributes更新它们(仅用于众所周知的示例)

public class LogOnModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我对数据库进行更改并将其更新为edmx文件时,所有模型都将被覆盖,DataAnnotations属性将会消失.

我的问题:我如何使用数据库第一模型并仍然编辑模型进行特定验证,如我可以免费使用代码优先模型?(请不要第三方工具解决方案)谢谢

asp.net-mvc entity-framework edmx data-annotations database-first

9
推荐指数
1
解决办法
7660
查看次数

SQL Server在GROUP BY期间丢弃SPACE

看起来像SQL Server(在2008 R2上试过)正在使用子句中的RTRIMGROUP BY.有没有人注意到这个?我在这里错过了什么吗?

这两个选择在下面的查询中返回相同的结果集,这不应该是我认为的情况.

declare @t table(Name varchar(100), Age int)
insert into @t values ('A', 20)
insert into @t values ('B', 30)
insert into @t values ('C', 40)
insert into @t values ('D', 25)
insert into @t values (' A', 21)
insert into @t values ('A ', 32)
insert into @t values (' A ', 28)

select
    Name,
    count(*) Count
from @t
group by Name

select
    rtrim(Name) RtrimmedName,
    count(*) Count
from @t
group by rtrim(Name) …
Run Code Online (Sandbox Code Playgroud)

t-sql group-by sql-server-2008-r2

8
推荐指数
1
解决办法
2667
查看次数

sp_send_dbmail中的HTML格式

我格式化sp_send_dbmail以HTML格式发送电子邮件.但它正在发送带有HTML代码的邮件.

以下是我使用的代码

EXEC msdb.dbo.sp_send_dbmail @recipients=N'*****@********.com', 
@body= '<font color="green" face="arial"><i>
Testing<br /> </i></font><hr />',  
@subject = 'SQL Server Trigger Mail', 
@profile_name = 'DBMailProfile1'
Run Code Online (Sandbox Code Playgroud)

sql database sql-server-2008

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

"无法锁定变量"SSIS错误

我为每小时运行的计划SSIS包随机收到错误.最有趣的是,如果我删除检查点文件并再次运行它,它可以正常工作,但错误可能会在将来运行时出现.我不知道为什么会这样.这是完整的错误消息.

以用户身份执行:UserNameChanged.Microsoft(R)SQL Server执行包实用程序版本10.0.2531.0(适用于64位版权所有(C)Microsoft Corporation 1984-2005.版权所有.
开始时间:09:21:40错误:2010-06-24 09:21:45.83代码:0xC0014054
来源:保存MaxLSN和提取日期
说明:无法锁定变量"User :: UpdateProcessControlQuery"以进行读取访问,错误为0xC0010001"无法找到变量.当在程序包执行期间尝试从容器上的Variables集合中检索变量时会发生这种情况,并且变量不存在.变量名称可能已更改或未创建变量." 结束错误错误:2010-06-24 09:21:45.84代码:0xC0024107来源:保存MaxLSN和提取日期说明:任务验证期间出错.结束错误DTExec:程序包执行返回DTSER_FAILURE(1).开始时间:09:21:40完成时间:09:21:45经过:4.875秒.包执行失败.步骤失败了.

除此之外,我还有100多个这样的软件包在一组20个软件包中运行,一小时内有5个组.并且这个"可变锁定"错误在每个循环中至少弹出一次.所以我需要找出根本原因.谁能帮忙......

sql-server ssis

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

Flot条形图:在时间轴问题上重叠的条形图

我试图根据时间轴绘制费用数据,如果数据栏显示相同日期的数据,我看到数据栏是重叠的.我期待图表显示相互之间的条形,但事实并非如此.查看此链接的代码示例 ...

$.plot($("#placeholder"), newJson, 
{
    bars: {
        show: 1,
        barWidth: 24 * 60 * 60 * 1000 * 10
    },
    xaxis: { mode:"time" }
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

time jquery flot bar-chart overlapping

5
推荐指数
1
解决办法
3311
查看次数

ValidateExternalMetadata属性,这到底是做什么的?

我有一个从表中读取数据的包,并根据列值将记录存储在另外两个表中.包使用Transaction required属性.直到最近,我在源表上创建了一个非聚集索引以提高性能,它运行顺畅.在将"进度"显示为"验证已启动"后,程序包拒绝继续执行.

有两件事可以解决问题:

  1. 使用聚簇索引而不是非聚簇索引
  2. 将ValidateExternalMetadata属性设置为False

我不必同时使用它们,而且包装顺利运行.我选择了选项1,但我不明白引擎盖下发生了什么.我的问题是,

  1. 除了检查列元数据之外,当您将属性设置为false时,会发生什么?
  2. 为什么非聚集索引导致验证问题?

PS:之前桌子上没有索引.

sql-server ssis

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

Getdate()在不同的时间返回相同的值!怎么了?

对具有100万条记录的表运行的以下SQL为Date1和Date2列提供相同的值,并且执行需要38秒.这是预期的行为吗?为什么?

CREATE FUNCTION Fn_Test(@a decimal)RETURNS TABLE
AS
RETURN
(
    SELECT @a Parameter, Getdate() Date1, PartitionTest.*
    FROM PartitionTest
);

SELECT *, GETDATE() Date2 FROM Fn_Test(RAND(DATEPART(s,GETDATE())))
Run Code Online (Sandbox Code Playgroud)

这是某种缓存吗?

sql sql-server

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

如何手动禁用表的CDC?

我为此禁用了CDC之前放了一张桌子。现在,当我重新创建表并尝试启用CDC时,它说捕获实例已经存在。我可以使用其他捕获实例名称,但是需要知道是否仍然有必要手动删除关联的捕获实例。

当我通过SSMS GUI删除表时,它也会删除CDC表。但是这次我使用代码删除了该表,但它没有禁用或删除CDC。因此麻烦了。她的文档讨论了如果错误删除了变更表的修补程序。但是我已经删除了基表。关于如何删除已删除表的此捕获实例的任何线索?

sql-server cdc

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

在SQL中发现了很大的性能差异(1小时到1分钟).你能解释一下原因吗?

对于100万条记录,以下查询分别在标准机器上花费70分钟和1分钟.可能的原因是什么?

查询[01:10:00]

SELECT * 
FROM cdc.fn_cdc_get_net_changes_dbo_PartitionTest(
    CASE WHEN sys.fn_cdc_increment_lsn(0x00)<sys.fn_cdc_get_min_lsn('dbo_PartitionTest')        
        THEN sys.fn_cdc_get_min_lsn('dbo_PartitionTest')        
        ELSE sys.fn_cdc_increment_lsn(0x00) END
    , sys.fn_cdc_get_max_lsn()
    , 'all with mask') 
WHERE __$operation <> 1
Run Code Online (Sandbox Code Playgroud)

修改查询[00:01:10]

DECLARE @MinLSN binary(10)
DECLARE @MaxLSN binary(10)
SELECT @MaxLSN= sys.fn_cdc_get_max_lsn()
SELECT @MinLSN=CASE WHEN sys.fn_cdc_increment_lsn(0x00)<sys.fn_cdc_get_min_lsn('dbo_PartitionTest')     
        THEN sys.fn_cdc_get_min_lsn('dbo_PartitionTest')        
        ELSE sys.fn_cdc_increment_lsn(0x00) END

SELECT * 
FROM cdc.fn_cdc_get_net_changes_dbo_PartitionTest(
        @MinLSN, @MaxLSN, 'all with mask') WHERE __$operation <> 1
Run Code Online (Sandbox Code Playgroud)

[改性]

我尝试使用类似的函数重新创建场景,以查看是否针对每一行评估参数.

CREATE FUNCTION Fn_Test(@a decimal)RETURNS TABLE
AS
RETURN
(
    SELECT @a Parameter, Getdate() Dt, PartitionTest.*
    FROM PartitionTest
);

SELECT * FROM Fn_Test(RAND(DATEPART(s,GETDATE())))
Run Code Online (Sandbox Code Playgroud)

但是我在38秒内处理了一百万条记录的"参数"列获得了相同的值.

sql sql-server performance function cdc

0
推荐指数
1
解决办法
675
查看次数