标签: sql-server-2000

在SQL Server 2000中识别未使用的表的策略?

我正在使用SQL Server 2000数据库,该数据库可能有几十个不再访问的表.我想清除我们不再需要维护的数据,但我不确定如何识别要删除的表.

数据库由几个不同的应用程序共享,因此我无法100%确信审阅这些应用程序将为我提供所使用对象的完整列表.

如果可能的话,我想做的是获取一段时间内根本没有访问过的表的列表.没有读,没有写.我该怎么做呢?

sql database sql-server-2000

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

加速sql JOIN

首先,一些背景.

我们有一个订单处理系统,员工在应用程序中输入有关订单的帐单数据,该应用程序将其存储在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年)开始保存每个订单的数据,因此它们往往有点大.导入到大型机时,表中使用的OrderIDEntryDateStaffEntry不会被保留,这就是为什么该连接稍微复杂一些.最后,因为我在MainFrame表中查找不存在的记录,所以在执行JOIN之后我们 …

sql sql-server performance join sql-server-2000

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

每月的前4天的SQL Server代理作业

我想知道是否有人知道如何在SQL Server 2000中创建一个将在该月的前4天运行的作业?我找到了如何在第一天或第二天开始工作一次,但我认为我可以在四天中每一天运行的唯一方法就是每天创造一份工作,这意味着我将创造4个工作岗位.我希望有更好的方法.

sql-server-2000

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

CF Query似乎从文本字段返回不完整的数据

我正在使用CF8和SQL2000.我在SQL表的Text字段中存储了一堆HTML.当我针对该数据执行简单的CFQUERY以及CFDUMP时,它被截断为64000个字符.

通过使用SELECT Substring选择数据的尾端,我已经确认我的数据在SQL表中是完整的,并使用SELECT Datalength()确认了长度.这真的是65102个字符.

这是CFQUERY的限制,如果是这样,有什么好办法?

sql coldfusion cfquery sql-server-2000 cfadmin

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

存储过程包括添加列,更新该列的数据以及从该表中选择所有数据

我写了一个存储过程如下:

  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)

sql t-sql sql-server-2000

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

在SQL Server中有所不同

我正在执行以下查询,

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)

尽管distinctcr_id,它仍然显示重复的值.请让我知道如何处理这个问题,以便我能够只显示不同的记录.

sql sql-server-2000 distinct

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

在SQL Server 2008中创建与SQL Server 2000兼容的脚本

我在SQL Server 2008中有一个数据库,我想创建与SQL Server 2000兼容的完整数据库脚本.我使用的所有数据类型都与SQL Server 2000兼容.

sql-server-2000 sql-server-2008

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

登录链接服务器失败

如何创建链接服务器......?

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"

如何解决这个问题呢...

需要帮忙

sql sql-server sql-server-2000

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

从一列创建多列

我的数据库结构如下:

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 sql-server sql-server-2000

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

查询适用于SQL Server 2005但SQL Server 2000的语法错误

我正在尝试执行此查询,但是当它与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行是空的,我很困惑.

c# sql sql-server-2005 sql-server-2000

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