我一直在尝试将数据库从 SQL Server 2000(SBS 2003 的一部分)迁移到 SQL Server 2008 R2 Express Edition
我天真地尝试使用 SQL Server 导出和导入向导。这在一定程度上奏效了,但似乎尝试将视图作为表导入,而将存储过程完全排除在外。
执行这种迁移的最不痛苦的方式是什么?
我想找出过去 24 小时内哪些 sql 代理作业失败了...如何使用 TSQL for SQL 2000 找到它?
问候 曼乔特
这是我的第一篇文章,不知道如何修复这个自动格式草稿?使用 SQL Server 2000。给我这个错误的表变量是“@SBLH”以下是产生此错误的多选函数:
USE [OfficeData]
GO
SET NOCOUNT ON
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER FUNCTION [dbo].[WC_Period_Wage_Class]
(
@StartPED datetime,
@EndPED datetime,
@StartPeriod datetime,
@EndPeriod datetime
)
RETURNS
@WcWages TABLE (
WorkDate datetime,
PED datetime,
Amount5213 money,
Amount5221 money,
Amount8810 money,
AmountOther money,
Reason nvarchar(50),
Reportable int
)
AS
BEGIN
DECLARE @SBLH TABLE (
Project nvarchar(10),
EmplID int,
Phase nvarchar(5),
Cost nvarchar(5),
Type nvarchar(2),
Amount money,
PayED datetime,
WkDate datetime,
RunTotal money
)
INSERT INTO …Run Code Online (Sandbox Code Playgroud) 嗨,我偶然发现了一个旧式 SQL 2000 服务器的管理,该服务器在过去 8 年中几乎没有维护(而且速度非常慢)。因为我在过去 2 年里只做 DBA / PT(我主要是一名开发人员),所以我没有 2000 年的经验。任何人都可以指点我一些维护、调整脚本的方向。只是想在我为我很少使用的东西重新发明轮子之前先问一下。
谢谢伙计们/女孩们!
我有一个旧的应用程序,它通过 ODBC 连接到我的数据库服务器。我想发现存储过程中的应用程序名称是什么。由于 ODBC 软件不支持,我无法在登录时设置应用程序名称(或 xp_who2 中的 ProgramName 值)。登录后是否可以通过某些“设置”命令设置该值?
我知道还有其他方法可以解决此问题(例如使用应用程序名称调用我的存储过程),但我希望避免这种情况,因为它需要进行多次编码更改,而是在登录后立即为此会话执行某些操作。
我正在运行 SQL Server 2000。在进行一些分析以跟踪活动时,我注意到出现了一些神秘的主机名 -- 网络上不应再存在的名称。我从 master.dbo.sysprocesses 获取其中一个的 MAC 地址,在 ARP 缓存中查找 IP 地址,然后使用 nbtstat 将该 IP 解析为网络名称。它解析的名称不是 sysprocesses 中的名称,也不是网络上可解析的 sysprocesses 名称。
那么这个名字是怎么来的呢?SQL Server 是否有需要清除的主机名缓存?我该如何解决这个问题,以便在我的跟踪中显示正确的网络主机名?
我有两个表:
资料来源:
(SName) (SId)
Apple1 100
Apple2 200
Banks 300
BanksB 400
Bankerly 500
Run Code Online (Sandbox Code Playgroud)
前缀:
(PName) (PId)
App 1
Bank 2
Banker 3
Run Code Online (Sandbox Code Playgroud)
我的目标:找到与每个来源匹配的最长前缀。结果如下所示:
(SName) (SId) (PName) (PId)
Apple1 100 App 1
Apple2 200 App 1
Banks 300 Bank 2
BanksB 400 Bank 2
Bankerly 500 Banker 3
Run Code Online (Sandbox Code Playgroud)
限制条件:我使用的是 SQL Server 2000 并且无法升级。我知道如何使用分析函数解决这个问题,但据我所知,它们在 SQL Server 2000 中不可用。
我接管了一个 SQL 2000 数据库。我试图弄清楚一份工作在做什么。它的命令是:
DTSRun /~....a big hex string....
Run Code Online (Sandbox Code Playgroud)
我试图运行:
DTSRun /~....a big hex string.... /!Y
Run Code Online (Sandbox Code Playgroud)
看看它在做什么,但它只是重复命令。有没有办法可以看到这个字符串代表什么?
我有一个使用 SQL Server 作为后端的 3rd 方应用程序。具体来说,我们在 SQL Server 2000、SQL Server 2008 和 SQL Server 2008R2 上都有它。任何解决方案都必须可供所有人使用,但只有一部分人的解决方案仍然值得关注。
该应用程序是定制的,不受支持,供应商不再存在。我想要做的是当它写入插入时有一个触发器来读取该插入并开始一个复杂的过程。但是,应用程序在 SQL 插入完成之前不会返回焦点,这意味着冗长的触发器将导致应用程序认为 SQL Server 没有响应并取消/回滚事务。
是否有任何类型的触发器会立即“释放”然后继续处理?或者也许我可以在 SQL Server 内部实现一些其他解决方案。
我运行了一个DBCC CHECKDB,它发现了分配错误。当我运行它时REPAIR_ALLOW_DATA_LOSS- 它是否需要花费相同的时间来扫描错误,还是会尝试使用CHECKDB我最后一次运行并运行得更快?
(SQL Server 2000。是的,它很古老,不,我无法升级。)