我正在使用SQL Server 2000数据库,该数据库可能有几十个不再访问的表.我想清除我们不再需要维护的数据,但我不确定如何识别要删除的表.
数据库由几个不同的应用程序共享,因此我无法100%确信审阅这些应用程序将为我提供所使用对象的完整列表.
如果可能的话,我想做的是获取一段时间内根本没有访问过的表的列表.没有读,没有写.我该怎么做呢?
首先,一些背景.
我们有一个订单处理系统,员工在应用程序中输入有关订单的帐单数据,该应用程序将其存储在sql server 2000数据库中.这个数据库不是真正的计费系统:它只是一个保留位置,因此记录可以通过夜间批处理进入大型机系统.
此批处理过程是由外部供应商提供的固定第三方软件包.它应该做的部分工作是为任何被拒绝的记录提供报告.拒绝报告是手动完成的.
不幸的是,事实证明第三方软件没有捕获所有错误.我们有单独的进程将数据从大型机拉回到数据库中的另一个表中,并将被拒绝的费用加载到另一个表中.
然后运行审计流程以确保工作人员最初输入的所有内容都可以在某处进行说明.此审计采用我们运行的SQL查询的形式,它看起来像这样:
SELECT *
FROM [StaffEntry] s with (nolock)
LEFT JOIN [MainFrame] m with (nolock)
ON m.ItemNumber = s.ItemNumber
AND m.Customer=s.Customer
AND m.CustomerPO = s.CustomerPO -- purchase order
AND m.CustPORev = s.CustPORev -- PO revision number
LEFT JOIN [Rejected] r with (nolock) ON r.OrderID = s.OrderID
WHERE s.EntryDate BETWEEN @StartDate AND @EndDate
AND r.OrderID IS NULL AND m.MainFrameOrderID IS NULL
Run Code Online (Sandbox Code Playgroud)
当然,这有很大的改变,但我相信重要的部分是有代表性的.问题是这个查询开始运行时间太长,我正在试图弄清楚如何加快它.
我很确定问题是从StaffEntry表到MainFrame表的JOIN .由于两者都是从时间开始(本系统中的2003年)开始保存每个订单的数据,因此它们往往有点大.导入到大型机时,表中使用的OrderID和EntryDate值StaffEntry不会被保留,这就是为什么该连接稍微复杂一些.最后,因为我在MainFrame表中查找不存在的记录,所以在执行JOIN之后我们 …
我想知道是否有人知道如何在SQL Server 2000中创建一个将在该月的前4天运行的作业?我找到了如何在第一天或第二天开始工作一次,但我认为我可以在四天中每一天运行的唯一方法就是每天创造一份工作,这意味着我将创造4个工作岗位.我希望有更好的方法.
我正在使用CF8和SQL2000.我在SQL表的Text字段中存储了一堆HTML.当我针对该数据执行简单的CFQUERY以及CFDUMP时,它被截断为64000个字符.
通过使用SELECT Substring选择数据的尾端,我已经确认我的数据在SQL表中是完整的,并使用SELECT Datalength()确认了长度.这真的是65102个字符.
这是CFQUERY的限制,如果是这样,有什么好办法?
我写了一个存储过程如下:
CREATE PROC spSoNguoiThan
@SNT int
AS
begin
IF not exists (select column_name from INFORMATION_SCHEMA.columns where
table_name = 'NhanVien' and column_name = 'SoNguoiThan')
ALTER TABLE NhanVien ADD SoNguoiThan int
else
begin
UPDATE NhanVien
SET NhanVien.SoNguoiThan = (SELECT Count(MaNguoiThan)FROM NguoiThan
WHERE MaNV=NhanVien.MaNV
GROUP BY NhanVien.MaNV)
end
SELECT *
FROM NhanVien
WHERE SoNguoiThan>@SNT
end
GO
Run Code Online (Sandbox Code Playgroud)
然后我得到错误:
Server: Msg 207, Level 16, State 1, Procedure spSoNguoiThan, Line 12
Invalid column name 'SoNguoiThan'.
Server: Msg 207, Level 16, State 1, Procedure spSoNguoiThan, Line 15 …Run Code Online (Sandbox Code Playgroud) 我正在执行以下查询,
Select distinct
a.cr_id,
Case
When ca.ca_vote = 'Approve' and ca.ca_title='MANAGER' Then ca.ca_email
When ca.ca_vote = 'Reject' Then ''
When ca.ca_vote = 'Pending' Then ''
When ca.ca_vote = 'IN PROCESS' Then ''
End as ca_email
from
credit a
inner join credit_approvals ca on ca.c_id=a.cr_id
where
a.cr_cs_date between Convert(varchar(20),'11/16/2011',101) and dateadd(day,1,convert (varchar(20),'11/16/2011',101))
order by
a.cr_id
Run Code Online (Sandbox Code Playgroud)
尽管distinct对cr_id,它仍然显示重复的值.请让我知道如何处理这个问题,以便我能够只显示不同的记录.
我在SQL Server 2008中有一个数据库,我想创建与SQL Server 2000兼容的完整数据库脚本.我使用的所有数据类型都与SQL Server 2000兼容.
如何创建链接服务器......?
1st Server name is ABC.DATABASE1
2nd server name is EFG.DATABASE2
Run Code Online (Sandbox Code Playgroud)
EFG数据库用户名是sa密码是sa
我想从第二台服务器thourgh 1st服务器中检索数据
在第一台服务器中,我像这样执行商店程序....
exec sp_linkedserver 'EFG'
Run Code Online (Sandbox Code Playgroud)
成功执行,
当我试图检索数据时,它显示错误为" login failed for user sa, Reason: Not associated with trusted sql server connection"
如何解决这个问题呢...
需要帮忙
我的数据库结构如下:
Number | Month | Country
------------------------
63 | June | Ireland
48 | June | England
55 | June | Spain
66 | May | Ireland
33 | May | England
53 | May | Spain
44 | April | Ireland
44 | April | England
44 | April | Spain
Run Code Online (Sandbox Code Playgroud)
我想使用一条SQL语句从上面的数据中调用它。谁能帮帮我。基本上,我想根据与之关联的月份将number列拆分为多个其他列。我正在使用sql-server 2000
Country | June | May | April
---------------------------
Ireland | 63 | 66 | 44
England | 48 | 33 | 44
Spain | 55 | …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行此查询,但是当它与SQL Server 2005完全罚款并且表已经存在并尝试在不同的服务器上创建新表时,会出现语法错误,
USE [myDataBase]
GO
CREATE TABLE [dbo].[myTable]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[Tittle] [varchar](1024) NOT NULL,
[Description] [varchar](8000) NOT NULL,
[Table2ID] [int] NOT NULL,
[Table3ID] [int] NOT NULL,
CONSTRAINT [PK_myTable] PRIMARY KEY CLUSTERED
(
[ID] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
错误
消息170,级别15,状态1,行16行16:'('附近的语法不正确.
在上面的例子中,第16行是空的,我很困惑.
sql-server-2000 ×10
sql ×8
sql-server ×3
c# ×1
cfadmin ×1
cfquery ×1
coldfusion ×1
database ×1
distinct ×1
join ×1
performance ×1
t-sql ×1