标签: sql-server-2000

如何更改 SQL Server 2000 中数据文件的位置?

我在集群环境中有一台旧的 SQL Server 2000 机器。数据文件位于磁盘 S: 上,磁盘空间不足。我有另一个磁盘 B: 在有很多空间的同一个磁盘阵列中。我希望 SQL Server 使用磁盘 B: 而不是磁盘 S:

如何设置 SQL Server 将数据文件存储在磁盘 B 上?

任何帮助将不胜感激。

谢谢。

sql-server sql-server-2000

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

SQL Server 2000 上的警报和通知问题

我正在尝试在 SQL Server 2000 中设置警报和通知,但它们不起作用。我正在测试它们的代理计划作业,我收到一条说明:

注意:无法通过电子邮件通知“[operatorname]”。

然后在当前错误日志中,我看到如下条目:

[264] 在没有建立电子邮件会话时尝试发送电子邮件

xp_sendmail 工作正常,我实际上在这些代理工作中使用它。通知应该告诉我程序已成功完成。我只是要求完成通知才能使其正常工作,然后我会将其更改为失败通知。

任何人都知道为什么会发生这种情况以及如何纠正?我真的很想通知工作。

sql-server sql-server-2000 sql-server-agent

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

SELECT 锁仅用于插入

我需要获取MAX交易中某个字段的聚合。我在事务中进一步使用此值。我想避免在整个表中插入,而我正在从中获取MAX事务完成时。

我研究了可用的隔离模式和锁定提示。最接近的似乎是TABLOCKX,这是唯一避免在整个表中插入(也更新和选择)的方法。

由于我不会受到表中更新或选择的影响,我希望避免在事务期间仅插入。这个有可能?

更新:执行的字段MAX仅在插入时设置,因此没有获得更新结果过时的风险。

我正在使用 SQL Server 2000。

sql-server sql-server-2000 hints isolation-level

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

SQL Server 2000 日期格式永久更改

我将 SQL Server 2000 用于旧系统网站。我刚刚遇到了一个问题,该问题将导致我在此过程中遇到无尽的麻烦。

当我在本地系统上安装服务器时,我采用了所有默认值,但现在任何日期时间数据类型都以mm/dd/yyyy格式存储。

现在这不是插入数据的问题,而是在取出数据并将其写入美国格式的页面时的问题。

该站点将位于英国的英国服务器上,因此我需要我的本地开发系统来反映该站点,并且我还希望避免在每个日期时间字段上使用 CONVERT。

尝试更改数据库排序规则几次但没有成功。

所以我的问题是这样的:

是否可以更改日期时间的格式,以便插入 23/01/1972 存储为这样而不是 1/23/1972?

服务器属性:

  • 默认语言:英语(美国)
  • 排序规则:SQL_Latin1_General_Cp1_CI_AS

数据库属性

  • 排序规则:SQL_Latin1_General_CP1_CI_AS

具体作为例子

CREATE TABLE [dbo].[lbg_app_section1](
    [id_app_section1] [int] IDENTITY(1,1) NOT NULL,
    [refid_applications] [int] NOT NULL,
    [dateofbirth] [datetime] NULL,
    [gender] [nvarchar](50) NULL,
    [ninumber] [nvarchar](15) NULL,
    [address_hsno] [nvarchar](60) NULL,
    [address_twncty] [nvarchar](60) NULL,
    [address_cnty] [nvarchar](60) NULL,
    [address_postcode] [nvarchar](15) NULL,
    [address_country] [nvarchar](30) NULL,
    [dt_section1_modified] [datetime] NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

collation sql-server-2000 date-format

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

恢复使用中的 SQL Server 2000 数据库

我需要将 SQL Server 2000 数据库恢复到大约 2 天前的备份。我刚刚备份了它并试图恢复它,但它说它正在使用中。

找出谁仍在使用它,然后如何断开它们的最佳方法是什么?

我想使数据库离线是一种简单的方法,但可能不是最安全的方法?

backup sql-server-2000 restore

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

空的 SQL Server 2000 LDF 文件

我有一个 1 GB.LDF的测试数据库,我想将其缩小。如果需要,我很乐意删除其内容。

如何为 SQL Server 2000 执行此操作?

我尝试了以下方法但无济于事:

BACKUP LOG Database_TEST with truncate_only
DBCC SHRINKFILE (Database_TEST_Log, 1000)
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2000

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

简单恢复数据库以节省空间

这个旧的 SQL Server 2000 实例有一个 14 Gb 的数据磁盘和一个 30 Gb 的备份磁盘。

即使它很旧,它仍然有大量用户进行交易,因此该服务器上唯一数据库的日志文件每天都会填满数据驱动器。

我想我会把它放在简单的恢复中并刷新事务日志,但我想知道它会产生什么影响。

如果没有 T-log,您就不能使用备份恢复到完整备份时间以外的任何其他时间点,对吗?在对数据库进行此类更改时,除此之外我应该注意哪些最重要的影响?当我不生成 t-log 时,除了丢失一天的数据(每天备份到磁带)之外,还有什么可能发生?

提前致谢

sql-server sql-server-2000 recovery-model

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

拆分一张大桌子

我的情况是我照顾一个带有基于 VB6 的前端和一个 SQL 后端的旧系统(好消息,正在开发替代品,但同时我需要保持这种状态)。现在该应用程序在十几个站点上使用,其中大多数在SQL2000上,一个在SQL2008上,一个在SQL2008R2(均为标准)上。更改版本/版本将是一个很大的问题。

SQL2008R2 上托管的站点碰巧也是最大的站点。我们现在有一个包含超过 20 亿行和 700GB 数据的表。这是一小部分列,其中一个是用于存储序列化 blob 数据的 256 个字符 varchar。现在,当人们尝试插入、删除和更新它(通过应用程序)时,用户偶尔会互相锁定。随着时间的推移,这种情况只会变得更糟。然而,下一个最大的是 SQL2000..

我需要缩小这张桌子的大小。我可以使用哪些方法或技术来实现这一目标?理想情况下,该技术将与 SQL2000 标准版兼容,因此我可以在所有站点上使用它。然而,仅仅修复 SQL2008R2 标准上最大的违规者就可以了。

该表确实有一个标识列,并且由于表定义由应用程序控制,因此无法更改(我提到这一点是因为我相信这排除了分区视图 - 应用程序插入、更新和删除行)。

我目前的想法是删除过去 X 个月过去的所有数据(占总数的 50%),并将其分配到不向用户或应用程序公开的表中。然后在应用程序中,我可以为用户提供一种方法来请求将数据项复制回,这将通过预定的作业(可能在一夜之间)完成。然而,这对我来说感觉很笨拙。

sql-server sql-server-2000 sql-server-2008-r2 partitioning

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

在 Windows Server 2008 x64 上安装 SQL Server 2000 32 位?

假设在 Windows Server 2008 x64 系统上安装 SQL Server 2000 32 位不会出现任何问题,我是否正确?

我了解内存限制等,但这并不重要。

sql-server sql-server-2000

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

标准时间到军事时间

我对 SQL 有点陌生,我有看似简单的查询,但我似乎无法弄清楚函数的正确组合。我们从外部源接收时间数据作为五个字符的字符串,例如“0500p”。我想将此字符串转换为军用时间。输出所需的格式是五个字符的字符串,例如“17:00”。我试过了

SELECT CONVERT(CHAR(5),STD_TM,108)
Run Code Online (Sandbox Code Playgroud)

但我认为它并没有将我的“时间”识别为时间,因为它只是输出我输入的相同内容。

sql-server sql-server-2000

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