标签: sql-server-2008

数据库镜像 - 仅见证

在 SQL Server 2008 R2 Express 中,唯一的镜像替代方案是“仅见证”,但是我找不到一个很好的解释。

我想在虚拟服务器上有一个数据库,然后有一个本地 SQL Server 来镜像这个数据库,以防互联网连接中断,我想在本地服务器上进行故障转移。

关于我需要在两端运行哪些 SQL Server 版本的任何想法?

sql-server-2008 mirroring

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

如何使用 SQL Server Management Studio 将数据库从一台服务器移动到另一台服务器?

我需要移动一个数据库,但我想确保我安全地完成它并使用所有触发器、存储过程和函数。

我认为只需使用 SQL Server Management Studio 将数据库从我的服务器上分离,然后将.mdf.ldf文件移动到新目录并将其附加到新服务器。

有人可以指导我吗?

sql-server-2008 sql-server ssms

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

SQL 2008 Server 代理看不到性能计数器

我正在尝试创建一个新的 SQL Server 代理警报来捕获“SQLServer:General Statistics|Processes Blocked||>|5”,但看起来警报创建 GUI 无法看到任何性能计数器,如下图所示: 在此处输入图片说明

对象、计数器和实例的下拉菜单为空。我什至无法使用 TSQL 创建警报,如下所示: 在此处输入图片说明 我可以看到这些计数器在 perfmon 中收集数据。

有任何想法吗?提前致谢...

sql-server-2008 perfmon

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

如何在触发器中确定直接插入和通过存储过程插入

TableX 可以通过两种方式修改:

  • 客户执行“直接”插入
  • 客户端使用存储过程插入记录

如何在tableX的触发器中确定客户端的调用方式(直接或存储过程)

谢谢你。

trigger sql-server-2008

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

SQL Server 2008 是否可以使用带有标识列的分区表?

我不考虑将它用于分区功能。我只想知道,是否支持。

不要告诉我为什么在分区表上使用这样的列不是一个好主意。

sql-server-2008 partitioning

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

创建用户时应以哪种形式提供 Microsoft SQL 密码?

我正在根据这篇 MSDN 文章的指导创建一个 Microsoft SQL 服务器用户,并向系统提供以下命令:

CREATE LOGIN MyName WITH PASSWORD = 'MyPass';
使用我的$DatabaseName;
CREATE USER MyName FOR LOGIN MyName;

我使用 SQL Studio 通过单击Logins列表中的名称再次查看密码。在那里我看到密码上的星号太多了,它可能代表我给定的密码。

我的问题是,如果我根据我写的(纯文本)提供密码,我是否正确提供了密码?我在登录数据库时遇到问题,我现在不知道那里的密码是否正确。

(MSDN 上的链接没有说明任何关于加密的内容,但我不能说示例密码是否遵循某些加密规则。)

sql-server-2008 users password

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

如何跟踪数据被读取了多少次?

我想跟踪在特定表中读取记录的次数。

假设我们有这张桌子

ID      Name
1       Cat
2       Dog
3       Fish
Run Code Online (Sandbox Code Playgroud)

我想知道记录“Cat”被读取了多少次,记录“Dog”被读取了多少次等等。

实现这一目标的最佳方法是什么?

sql-server-2008

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

非确定性聚合结果

为什么我的查询是不确定的?

我有执行以下操作的查询:

select sum(float1*float2*coalesce(float3,1)) from table
Run Code Online (Sandbox Code Playgroud)

当我运行这个查询时,我得到了一个确定性的结果,但是当查询运行很多次时,情况似乎并非如此。

结果中的最后一个整数因不同的运行而异。

所有列都是 (float,null)

所有运行的浮动截断都应该相同吗?

sql-server-2008 query aggregate

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

将 varchar 数据转换为日期时间失败

我们正在将数据从旧表(所有 varchar 字段)移动到强类型的对应提示中

作为这项工作的一部分,如果所有数据都可以正确转换为适当的类型,我们将从基础实体表中获取数据并将其转储到 Entity_New 中。否则,它将进入名为 Entity_Bad 的现有表的副本。

我们有一个规则引擎,可以在理论上验证数据和类型,因此即使数据存储在字符字段中,数据也应该是干净的。现实是我在这里发帖是因为有些事情已经过去了,我找不到了。Entity 中的 CompletionDate 字段是 varchar(46) NULL

环境是

productversion  productlevel   edition
10.0.4064.0     SP2            Enterprise Edition (64-bit)
Run Code Online (Sandbox Code Playgroud)

我的脚本展示了我在做什么以及什么在起作用但没有起作用

SET NOCOUNT ON

DECLARE
    @startid int = 0
,   @stopid int = 796833


-------------------------------------------------------------------------------
-- Check doesn't find anything wrong with CompletionDate
-------------------------------------------------------------------------------
SELECT
    1
FROM
    [dbo].[Entity] E
    INNER JOIN
        dbo.EntityBatch_New PB
        ON E.FiscalYear = PB.FiscalYear
            AND E.HashCode = PB.HashCode
            AND E.AAKey = PB.AAKey
            AND PB.ProcessResultCode IN ('A','W','M')
WHERE
    PB.EntityBatchId BETWEEN @StartId AND @StopId
    AND …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server t-sql datetime

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

在 WHERE 中使用 COUNT(*) 的一些有效方法是什么

除了COUNT(*)使用WHERE子句调用之外,有什么方法可以使这项工作在服务器上更有效?我想对复杂的连接进行计数,只是想知道这样做的最佳方法。使用SET NOCOUNT OFF? 因为SET NOCOUNT ON在新的存储过程中默认启用,我猜是微软建议的。谢谢你。

performance sql-server-2008 sql-server t-sql query-performance

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