在 SQL Server 2008 R2 Express 中,唯一的镜像替代方案是“仅见证”,但是我找不到一个很好的解释。
我想在虚拟服务器上有一个数据库,然后有一个本地 SQL Server 来镜像这个数据库,以防互联网连接中断,我想在本地服务器上进行故障转移。
关于我需要在两端运行哪些 SQL Server 版本的任何想法?
我需要移动一个数据库,但我想确保我安全地完成它并使用所有触发器、存储过程和函数。
我认为只需使用 SQL Server Management Studio 将数据库从我的服务器上分离,然后将.mdf和.ldf文件移动到新目录并将其附加到新服务器。
有人可以指导我吗?
我正在尝试创建一个新的 SQL Server 代理警报来捕获“SQLServer:General Statistics|Processes Blocked||>|5”,但看起来警报创建 GUI 无法看到任何性能计数器,如下图所示:

对象、计数器和实例的下拉菜单为空。我什至无法使用 TSQL 创建警报,如下所示:
我可以看到这些计数器在 perfmon 中收集数据。
有任何想法吗?提前致谢...
TableX 可以通过两种方式修改:
如何在tableX的触发器中确定客户端的调用方式(直接或存储过程)
谢谢你。
我不考虑将它用于分区功能。我只想知道,是否支持。
不要告诉我为什么在分区表上使用这样的列不是一个好主意。
我正在根据这篇 MSDN 文章的指导创建一个 Microsoft SQL 服务器用户,并向系统提供以下命令:
CREATE LOGIN MyName WITH PASSWORD = 'MyPass';
使用我的$DatabaseName;
CREATE USER MyName FOR LOGIN MyName;
走
我使用 SQL Studio 通过单击Logins列表中的名称再次查看密码。在那里我看到密码上的星号太多了,它可能代表我给定的密码。
我的问题是,如果我根据我写的(纯文本)提供密码,我是否正确提供了密码?我在登录数据库时遇到问题,我现在不知道那里的密码是否正确。
(MSDN 上的链接没有说明任何关于加密的内容,但我不能说示例密码是否遵循某些加密规则。)
我想跟踪在特定表中读取记录的次数。
假设我们有这张桌子
ID Name
1 Cat
2 Dog
3 Fish
Run Code Online (Sandbox Code Playgroud)
我想知道记录“Cat”被读取了多少次,记录“Dog”被读取了多少次等等。
实现这一目标的最佳方法是什么?
为什么我的查询是不确定的?
我有执行以下操作的查询:
select sum(float1*float2*coalesce(float3,1)) from table
Run Code Online (Sandbox Code Playgroud)
当我运行这个查询时,我得到了一个确定性的结果,但是当查询运行很多次时,情况似乎并非如此。
结果中的最后一个整数因不同的运行而异。
所有列都是 (float,null)
所有运行的浮动截断都应该相同吗?
我们正在将数据从旧表(所有 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) 除了COUNT(*)使用WHERE子句调用之外,有什么方法可以使这项工作在服务器上更有效?我想对复杂的连接进行计数,只是想知道这样做的最佳方法。使用SET NOCOUNT OFF? 因为SET NOCOUNT ON在新的存储过程中默认启用,我猜是微软建议的。谢谢你。
performance sql-server-2008 sql-server t-sql query-performance
sql-server-2008 ×10
sql-server ×3
t-sql ×2
aggregate ×1
datetime ×1
mirroring ×1
partitioning ×1
password ×1
perfmon ×1
performance ×1
query ×1
ssms ×1
trigger ×1
users ×1