标签: sql-server-2000

在 READ COMMITTED 事务块中使用 (NOLOCK)

我们使用的是 SQL Server 2000。

我想知道如果我们NOLOCKREAD COMMITTED事务块中使用提示会有什么风险,例如:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED
GO
BEGIN TRANSACTION
IF EXISTS(SELECT * FROM clients (NOLOCK) WHERE clientID = 23249)
    BEGIN
        PRINT 'TODO Update client'
    END
ELSE
    BEGIN
        PRINT 'TODO Insert client'
    END

COMMIT TRANSACTION
Run Code Online (Sandbox Code Playgroud)

我担心的是,尽管事务块具有隔离级别,但 NOLOCK 提示将允许进行 ditry 读取。

这可能吗?

PS:我知道关于为什么我首先使用锁定提示存在争议,但我只想知道这种情况下的风险是什么。

sql-server-2000 locking

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

以错误的排序规则安装了 SQL Server 2000 .. 如何更正整个服务器实例?

我在我的笔记本电脑上安装了 SQL 2000 Developer(是的,旧的,不要问)......使用错误的排序规则。哎呀!

它显示了 Latin1_General_CI_AS,但事实证明我需要使用 SQL_Latin1_General_CP1_CI_AS 来匹配我们正在使用的另一个实例。

我在 Google 上找到了一些关于如何更改特定数据库的排序规则的参考资料,但我想为整个服务器实例更改它。有没有办法解决这个问题而不必重新安装 SQL Server 2000?服务包,安全修复等很痛苦。

谢谢

sql-server collation sql-server-2000

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

SQL Server 2012 中缺少系统表

我将 SQL Server 2000 数据库恢复到 2005 年,然后恢复到 2012 年。我现在看不到 SQL Server 2000 中存在的系统表。

为什么?

sql-server-2005 sql-server sql-server-2000 sql-server-2012

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

添加 Where 子句使数据倾斜

这是我使用查询返回的结果集:

empname itemssold
JJ      14
Run Code Online (Sandbox Code Playgroud)

但这是我想要的结果集:

empname itemssold
AA      0
BB      0
CC      0
DD      0
JJ      14
RR      0
Run Code Online (Sandbox Code Playgroud)

它似乎会拉动所有员工,直到我将where子句添加到我的查询中,这让我想知道我是否在错误的位置添加了它,或者我是否错误地设置了我的查询?

以下是我使用的 DDL 和我的查询:

Create Table #ShowAll
(
  empname varchar(1000)
  ,empid varchar(100)
)

Create Table #Data
(
  empid varchar(100)
  ,itemssold int
  ,beenverified varchar(100)
)

Insert Into #ShowAll Values
('JJ', 'J1'), 
('AA', 'A1'), 
('BB', 'B1'), 
('CC', 'C1'),
('DD', 'D1'), 
('RR', 'R1')

Insert Into #Data Values
('J1','14', 'Yes'), 
('A1', '12','No'), 
('B1', '13', 'No')

Select sa.empname
    , Da.itemssold
FROM #ShowAll sa …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2000 t-sql

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

生成 XML 的语法不正确

我试图在 SQL Server 2000 SP4 中运行以下代码,但出现错误。

Declare @Body varchar(8000);
Declare @TableHead varchar(8000);
Declare @TableTail varchar(8000);

Set NoCount On;
Set @TableTail = '</table></body></html>';
Set @TableHead = '<html><head>' + 
            '<style>
    td {border: solid black 1px;padding-left:5px;padding-right:5px;padding-top:1px;padding-bottom:1px;font-size:11pt;}
    tr.even {background-color:white;}
    tr.odd {background-color:#eeeeee;}
            </style>' + 
            '</head>' + 
            '<body><table cellpadding=0 cellspacing=0 border=0>' + 
            '<tr bgcolor=#FFEFD8><td align=center><b>Server Name</b></td>' + 
            '<td align=center><b>Product</b></td>' + 
            '<td align=center><b>Provider</b></td>' + 
            '<td align=center><b>Data Source</b></td>' + 
            '<td align=center><b>Is Linked?</b></td></tr>';

Select @Body = (Select 
        name As [TD],
        product As [TD],
        provider As [TD],
        data_source As [TD …
Run Code Online (Sandbox Code Playgroud)

xml sql-server sql-server-2000 t-sql

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

我有来自 SQL Server v7 的数据库备份 (.bak),如何将其转换为加载到 v10?

客户给了我一个来自 SQL Server v 7 数据库的备份 (.bak)。我正在尝试将其加载到不兼容的版本 10。是否有任何工具可以恢复或准备要恢复到版本 10 的旧版本备份?

编辑:根据请求,这是错误对话框中的文本

数据库备份在运行版本 7.00.1063 的服务器上。该版本与运行版本 10.00.1600 的服务器不兼容。在支持备份的服务器上还原数据库,或者使用与此服务器兼容的备份。RESTORE DATABASE 异常终止。(Microsoft SQL Server,错误:3169)

sql-server-2008 sql-server sql-server-2000

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

在 SQL Server 2000 中哪些任务只能由系统管理员执行?

我正在清理我的 SQL Server 2000 上的权限,并且我想验证某个特定帐户是否仍然具有 sysadmin 权限。
哪些非破坏性任务只能由系统管理员执行,我可以用来确认这一点?

security sql-server permissions sql-server-2000

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

SQL 服务器 CPU 使用率过高

我的 SQL Server 2000 有问题。从上午 9 点到下午 5 点,它的 CPU 利用率很高。三个应用程序通过三个不同的实例使用此服务器,但当 CPU 利用率很高时,会连接一个实例。我查看了 sp_who2 结果,显示有很多 AWAITING COMMANDS 并且占用了大部分 CPU 时间。请告知更多等待命令是否会导致 CPU 使用率过高。

performance sql-server sql-server-2000

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

多视图查询优化

我们有一个怪物视图,其中包含与许多(许多)表的联接,以便返回所需的数据。在某些情况下,为了获取一列信息,我们必须连接到 4 个表,只是为了获取我们需要的值(数据库结构不是很好,我们无法更改它)。

为了提高性能,我提取了某些组件并将它们构建到自己的视图中,以简化执行计划,并希望优化查询。

如果我编写一个将这些视图连接在一起的查询,我是否会失去每个视图的查询优化的好处?即,我最终会回到开始的地方,将视图组合成单个选择,还是因为它们彼此原子地起作用,所以它本身会表现得更好?

sql-server optimization sql-server-2000 view

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

我可以用两年前的 ldf 恢复当前的 mdf 吗?

我的 SQL Server 2000(又名版本 8.0)在电源故障后无法恢复数据库。我发现的唯一备份是当前的 mdf 文件和两年前的 ldf 文件。

我可以使用当前的 mdf 文件和旧的 ldf 文件恢复数据库吗?

sql-server sql-server-2000

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