我们使用的是 SQL Server 2000。
我想知道如果我们NOLOCK在READ 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 2000 Developer(是的,旧的,不要问)......使用错误的排序规则。哎呀!
它显示了 Latin1_General_CI_AS,但事实证明我需要使用 SQL_Latin1_General_CP1_CI_AS 来匹配我们正在使用的另一个实例。
我在 Google 上找到了一些关于如何更改特定数据库的排序规则的参考资料,但我想为整个服务器实例更改它。有没有办法解决这个问题而不必重新安装 SQL Server 2000?服务包,安全修复等很痛苦。
谢谢
我将 SQL Server 2000 数据库恢复到 2005 年,然后恢复到 2012 年。我现在看不到 SQL Server 2000 中存在的系统表。
为什么?
这是我使用查询返回的结果集:
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 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) 客户给了我一个来自 SQL Server v 7 数据库的备份 (.bak)。我正在尝试将其加载到不兼容的版本 10。是否有任何工具可以恢复或准备要恢复到版本 10 的旧版本备份?
编辑:根据请求,这是错误对话框中的文本
数据库备份在运行版本 7.00.1063 的服务器上。该版本与运行版本 10.00.1600 的服务器不兼容。在支持备份的服务器上还原数据库,或者使用与此服务器兼容的备份。RESTORE DATABASE 异常终止。(Microsoft SQL Server,错误:3169)
我正在清理我的 SQL Server 2000 上的权限,并且我想验证某个特定帐户是否仍然具有 sysadmin 权限。
哪些非破坏性任务只能由系统管理员执行,我可以用来确认这一点?
我的 SQL Server 2000 有问题。从上午 9 点到下午 5 点,它的 CPU 利用率很高。三个应用程序通过三个不同的实例使用此服务器,但当 CPU 利用率很高时,会连接一个实例。我查看了 sp_who2 结果,显示有很多 AWAITING COMMANDS 并且占用了大部分 CPU 时间。请告知更多等待命令是否会导致 CPU 使用率过高。
我们有一个怪物视图,其中包含与许多(许多)表的联接,以便返回所需的数据。在某些情况下,为了获取一列信息,我们必须连接到 4 个表,只是为了获取我们需要的值(数据库结构不是很好,我们无法更改它)。
为了提高性能,我提取了某些组件并将它们构建到自己的视图中,以简化执行计划,并希望优化查询。
如果我编写一个将这些视图连接在一起的查询,我是否会失去每个视图的查询优化的好处?即,我最终会回到开始的地方,将视图组合成单个选择,还是因为它们彼此原子地起作用,所以它本身会表现得更好?
我的 SQL Server 2000(又名版本 8.0)在电源故障后无法恢复数据库。我发现的唯一备份是当前的 mdf 文件和两年前的 ldf 文件。
我可以使用当前的 mdf 文件和旧的 ldf 文件恢复数据库吗?
sql-server-2000 ×10
sql-server ×9
t-sql ×2
collation ×1
locking ×1
optimization ×1
performance ×1
permissions ×1
security ×1
view ×1
xml ×1