sql 2000 命令

合集下载

sql2000教程

sql2000教程

SQL2000教程介绍SQL(Structured Query Language),结构化查询语言,是一种用于管理和操作关系型数据库的编程语言。

SQL2000是Microsoft SQL Server 2000的简称,是一种流行的关系型数据库管理系统(RDBMS)。

本教程将带您了解SQL2000的基本概念和常用操作。

目录1.安装SQL20002.连接到SQL Server3.创建数据库4.创建表5.插入数据6.查询数据7.更新数据8.删除数据9.数据库备份和还原10.结束语1. 安装SQL2000在开始学习SQL2000之前,您需要先安装SQL2000数据库管理系统。

请按照官方文档或指南来完成安装步骤。

2. 连接到SQL Server安装完成后,您需要连接到SQL Server以开始使用SQL2000。

您可以使用SQL Server Management Studio这样的图形化工具,或者使用命令行工具如SQLCMD来连接。

•使用图形化工具:打开SQL Server Management Studio,输入服务器名称、身份验证方式和登录凭据,点击连接即可连接到SQL Server。

•使用命令行工具:打开命令提示符或PowerShell,输入以下命令连接到SQL Server:sqlcmd -S 服务器名称 -U 用户名 -P 密码3. 创建数据库连接上SQL Server后,您可以创建自己的数据库来存储数据。

使用以下的SQL语句来创建数据库:CREATE DATABASE database_name;请将database_name替换为您要创建的数据库名称。

4. 创建表在数据库中,表是用于组织和存储数据的基本单位。

使用以下的SQL语句来创建表:CREATE TABLE table_name (column1 datatype,column2 datatype,...);请将table_name替换为您要创建的表名,column1、column2等为表的列名,datatype为列的数据类型。

SQLServer2000里自动重建索引

SQLServer2000里自动重建索引

SQLServer2000里自动重建索引在所有的OLTP环境里,实质上所有的索引都将随着时间产生碎片。

几乎所有的UPDA TE、INSERT、DELETE活动都将引起索引比最初创建时变得更无组织。

页拆分更多,大量的页上只有很少的数据,因此满足每个SELECT需要更多的I/O。

数据和索引的碎片越多,应用程序就会更慢,数据花费的空间就更多。

对此你能做什么呢?你可以定期的重建索引。

那么什么可以立即使用呢?基本上你可以使用数据库维护向导来执行索引重建,创建维护计划来完成。

如果你原意接受它固有的缺陷,这也可以使用。

首先,用维护向导来配置和完成索引重建是不慎重的。

它将重建每一个索引,不管它是否需要重建。

如果你有一个有很多大表和大量索引的大数据库,这会出问题,因为不加区别的重建整个数据库的索引会花费很长的时间,会使你的维护窗口不可用。

问题在于,要么全部重建,要么全部不重建,你根本不能以任何方式分批处理数据库的表。

那么有什么别的能做吗?你可以写一个脚本来重建选择的表的索引。

这样你能对数据库分批处理以减少在重建索引时你维护窗口执行的时间。

你需要将这个时间减小到最少,因为重建索引会对表执行排它锁,在重建索引期间禁止用户访问。

所以你可以每周的每个工作日的晚上重建五分之一表的索引,所有的索引至少一周做一次。

然而,这也是不慎重的――你将重建所有表的索引而不论数据和索引是否是有碎片。

这里推荐选择性的重建索引。

你需要检查表的索引和数据的碎片,保留数据,据此操作,重建索引要用确定的且区别对待的方式。

仅仅通过这样系统的方法,你可以仅重建那些实际需要重建的表的数据和索引。

而且也只有这种方式能最小化索引重建的时间。

在整个索引重建期间,如果你不想影响你的用户的话,减少索引重建的时间是至关重要的。

那么我们怎样可以解决呢?可以使用命令DBCC SHOWCONTIG()SQLServer2000比以前版本有一个大的改进就是这个简单而又至关重要的命令。

SQL_SERVER_2000_alter_命令的使用(1)

SQL_SERVER_2000_alter_命令的使用(1)

SQL SERVER 2000 alter 命令的使用注意COLUMN 关键字是多余的,可以省略。

如果用ADD COLUMN 增加一个字段,那么所有表中现有行都初始化为该字段的缺省值(如果没有声明DEFAULT 子句,那么就是NULL)。

用一个非空缺省增加一个字段或者是改变一个字段的现有类型会要求整个表的重写。

对于大表来说,这个操作可能会花很长时间;并且它还临时需要两倍的磁盘空间。

增加一个CHECK 或者NOT NULL 约束要求扫描该表以保证现有的行复合约束要求。

提供在一个ALTER TABLE 里面声明多个修改的主要原因是原先需要的对表的多次扫描和重写可以组合成一个回合。

DROP COLUMN 命令并不是物理上把字段删除,而只是简单地把它标记为SQL 操作中不可见的。

随后对该表的插入和更新将在该字段存储一个NULL。

因此,删除一个字段是很快的,但是它不会立即缩减你的表在磁盘上的大小,因为被删除了的字段占据的空间还没有回收。

这些空间将随着现有的行的更新而得到回收。

ALTER TYPE 要求重写整个表的特性有时候是一个优点,因为重写的过程消除了任何表中的没用的空间。

比如,要想立刻回收被一个已经删除的字段占据的空间,最快的方法是ALTER TABLE table ALTER anycol TYPE anytype;这里anycol 是任何在表中还存在的字段,而anytype 是和该字段的原类型一样的类型。

这样的结果是在表上没有任何可见的语意的变化,但是这个命令强迫重写,这样就删除了不再使用的数据。

ALTER TYPE 的USING 选项实际上可以声明涉及该行旧值的任何表达式;也就是说,它可以引用除了正在被转换的字段之外其它的字段。

这样,我们就可以用ALTER TYPE 语法做非常普遍性的转换。

因为这个灵活性,USING 表达式并没有施用于该字段的缺省值(如果有的话);结果可能不是缺省表达式要求的常量表达式。

SQL2000日志清理方法

SQL2000日志清理方法

SQL2000日志清理方法SQL Server 2000是一个非常古老的数据库管理系统,虽然已经过时,但仍然有一些组织使用它。

在SQL Server 2000中,日志文件经常会变得非常大,占用大量磁盘空间。

为了有效管理和清理日志文件,以下是一些可以使用的方法。

1.设计合适的恢复模式SQL Server 2000有三种恢复模式:完全恢复模式、大容量日志恢复模式和简单恢复模式。

对于需要恢复到特定时间点的组织,可以选择完全或大容量日志恢复模式,但需要定期备份日志文件和清理旧的备份。

对于一些不需要恢复到特定时间点的组织,可以选择简单恢复模式,它会自动清除日志文件。

2.定期备份日志文件在完全恢复模式或大容量日志恢复模式下,定期备份日志文件非常重要。

这样可以释放事务日志,使其不再继续增长。

可以使用`BACKUPLOG`命令来备份日志文件,并设置相应的计划任务以确保定期备份。

3.缩减日志文件当执行一次日志备份后,`BACKUPLOG`命令可以触发事务日志的缩减。

可以使用`DBCCSHRINKFILE`命令来缩减日志文件的大小,从而释放磁盘空间。

但需要注意,缩减日志文件可能导致性能下降,因此需要在低峰期执行。

4.数据库挂起和启动将数据库挂起并重新启动可以清除事务日志并释放磁盘空间。

可以使用 `ALTER DATABASE [DatabaseName] SET ONLINE/OFFLINE` 命令来完成这个操作。

挂起数据库会中断对数据库的访问,因此需要在低峰期执行。

5.自动备份和清理使用SQL Server代理任务和T-SQL命令,可以创建计划任务来自动备份和清理日志文件。

可以定期执行 `BACKUP LOG` 和 `DBCC SHRINKFILE` 命令,以确保日志文件的大小保持在合理的范围内。

6.监控日志文件大小和使用率7.定期查询性能和优化定期查询数据库性能和优化可以帮助提高数据库的整体性能,并防止日志文件过大。

SQL2000数据库导出和导入教程

SQL2000数据库导出和导入教程

SQL2000数据库导出和导入教程SQL Server 2000是一种关系型数据库管理系统,支持大型数据库和各种应用程序。

它提供了导出和导入数据的功能,使用户可以将数据从一个数据库导出到另一个数据库,或者从一个数据库导入到另一个数据库。

下面是SQL Server 2000数据库导出和导入的教程。

导出数据:1. 打开SQL Server 2000管理工具,选择要导出数据的数据库。

2.选择“任务”菜单,然后选择“导出数据”选项。

3.在“数据源”对话框中,选择要导出的表或视图。

您还可以指定一个查询来选择特定的数据。

4.在“目标”对话框中,选择将数据导出到的目标数据库或文件。

您可以选择导出到同一服务器上的另一个数据库,或者导出到一个文件。

5.确定导出选项,例如导出可变宽度的文本文件或固定宽度的文本文件,以及使用逗号作为字段分隔符或制表符作为字段分隔符。

6.单击“完成”按钮开始导出过程。

导入数据:1. 打开SQL Server 2000管理工具,选择要导入数据的数据库。

2.选择“任务”菜单,然后选择“导入数据”选项。

3.在“数据源”对话框中,选择包含要导入的数据的数据库或文件。

如果您选择一个文件,您需要指定文件类型和文件位置。

4.在“目标”对话框中,选择要导入数据的目标表或视图。

您还可以选择创建一个新的表来存储导入的数据。

5.如果需要的话,可以在“转换”对话框中进行必要的数据转换。

例如,您可以选择将一个日期字段的格式从YYYYMMDD转换为YYYY-MM-DD。

6.确定导入选项,例如是否忽略导入中的重复行,以及在导入过程中要使用的事务类型。

7.单击“完成”按钮开始导入过程。

导出和导入数据可能会花费一些时间,具体时间取决于数据的大小和服务器的性能。

在导出和导入过程中,您可以查看进度和错误信息。

除了使用SQL Server 2000管理工具进行导出和导入,还可以使用SQL命令进行导出和导入。

例如,您可以使用SELECT INTO语句将数据导出到一个新的表中,然后使用INSERT INTO语句将数据从一个表导入到另一个表中。

Win1064位安装个人版SQL2000图文教程

Win1064位安装个人版SQL2000图文教程

Win1064位安装个⼈版SQL2000图⽂教程默认Win10上是不允许安装SQL2000的,毕竟SQL2000已经是10多年前的⽼软件了,但是因为它成熟稳定,相⽐SQL2005,SQL2008R2,SQL2012,SQL2014,体积要⼩的多,所以还是很希望能在Win10环境下使⽤它,,在⽹上搜了⼀些安装⽅法,⾃⼰刚好安装了⼀台Win10 64位的电脑,就装了⼀下!1. 修改C:\Windows\SysWOW64⽂件夹的权限,如下图:按照⽹上的提⽰,是先设置SysWOW64的权限:我按照上述设置了之后,还是不能让我修改SysWOW64⾥的⽂件,提⽰没有权限,我⼜设置了⼀下下⾯的⽂件夹权限:果然就ok了,所以不清楚是不是上⾯⼀步是不是必须;2. 从SQL2000的安装包⾥复制SQLUNIRL.DLL,替换原来的SQLUNIRL.DLL,我这⾥没有替换,只是把原来的⽂件后⾯加了个Win10的后缀,复制了⼀个新的SQLUNIRL.DLL,另外我其实安装的并不是原版的SQL2000,⽽是MSDE2000SP4,这个版本其实就是带SP4(8.0.2039)的MSDE,兼容性似乎好于原版的SQL2000(8.0.139),在有些带SP1的Win7上安装SQL2000原始版本,在更新组件的时候会长时间⽆响应,但是MSDE2000SP4没有这个问题,所以我在Win10上装的也是这个版本!对⽐了⼀下两个⽂件,貌似是⼀样的,⽂件⼤⼩稍有不同,我的SQLUNIRL.DLL是从MSDE2000SP4⾥提取出来了,所以它本⾝已经是SP4(2000.80.2039)了,但是似乎不替换就不好安装,⼀替换就能安装了,真的很奇怪。

3. 双击MSDE2000SP4的setup.exe,⼀路下⼀步就安装好了,当然在安装之前,把注册表⾥的挂起删除掉,就不会遇到什么问题:4.安装完MSDE2000SP4,习惯性的在【运⾏】⾥输⼊sqlmangr,呵呵,居然直接提⽰没此命令,估计是Path⾥没有包含sql的路径吧,开始菜单⾥也找不到相关启动项,从360提供的快捷启动栏⾥找到它了:设置以管理员⾝份运⾏它,然后熟悉的服务管理器就出来了5. 给MSDE2000SP4安装上SQL2000的服务端和客户端⼯具,直接运⾏D:\SQL2000\SQL2000 PERSONAL\X86\SETUP\SETUPSQL.EXE 同样的最好在安装前先去掉注册表⾥的Pending……,SetupSQL.exe加上管理员运⾏权限,⼀路下⼀步,就把MSDE2000SP4升级成了SQL2000SP4,⼤功告成win10家庭版安装SQL2000综合安装问题解决⽅法⼀、安装sql server 2000提⽰挂起怎么解决1、运⾏REGEDIT2、在注册表中依次找到⽬录:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager,然后在右侧框中找到PendingFileRenameOperations 3、选中右键—>删除该项即可重新安装sql server 2000了⼆、sql2000升级到win10后提⽰⽆法定位序数1于动态链接库sqlunirl.dll解决办法1、获取trustedinstaller权限(⽤记事本复制下⾯内容,以REG扩展名格式保存,运⾏即可)Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@="获取TrustedInstaller权限"[HKEY_CLASSES_ROOT\*\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F""IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"[HKEY_CLASSES_ROOT\Directory\shell\runas]@="获取TrustedInstaller权限""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\Directory\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t""IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"%1\" /grant administrators:F /t"2、在c:\windows\syswow64、c:\windows\system32中右键取得sqlunirl.dll的“获取TrustedInstaller权限",点击确认即可。

sql2000数据库安装提示挂起的处理方法

sql2000数据库安装提示挂起的处理方法

sql2000数据库安装提示挂起的处理方法SQL Server 2000是一种用于管理和处理数据的关系型数据库管理系统,然而在安装过程中有时会遇到挂起的情况。

挂起的原因可能是因为硬件问题、软件冲突、安装程序错误等,下面将介绍一些处理挂起问题的方法,希望能够对你有所帮助。

第一步,检查硬件是否有问题。

在安装过程中,如果遇到挂起的情况,首先应该检查计算机硬件是否正常工作。

可以尝试重新启动计算机,并检查硬件设备是否连接正确。

如果使用的是光盘安装程序,还可以尝试更换光盘以排除光盘损坏的可能性。

另外,还可以考虑检查计算机内存是否充足,因为内存不足也可能导致安装挂起。

第二步,检查操作系统和软件冲突。

有时挂起问题可能是由操作系统或其他已安装的软件引起的。

可以尝试关闭所有不必要的后台程序和服务,并禁用防火墙和杀毒软件。

还可以尝试在安全模式下进行安装,这样可以避免冲突。

第三步,检查安装程序是否正确。

如果安装程序本身出现问题,也可能导致安装挂起。

可以尝试重新下载安装程序,并确保下载的是适用于你的操作系统的版本。

另外,在运行安装程序之前,最好将其保存在本地磁盘中,而不是在网络上运行,以确保安装程序可以正常访问。

第四步,进行清理和修复。

如果以上方法都无效,可以尝试进行清理和修复操作。

可以使用磁盘清理工具来清理计算机上的临时文件和垃圾文件,以释放磁盘空间。

另外,还可以尝试使用系统修复工具,例如运行“sfc /scannow”命令来修复操作系统文件。

第五步,寻求专业帮助。

如果以上方法仍然无法解决问题,建议寻求专业的技术支持。

可以联系SQL Server官方技术支持团队或咨询专业的数据库管理员。

他们可能会提供更具体和个性化的解决方案,以帮助你解决安装挂起的问题。

总结起来,解决SQL Server 2000安装挂起问题需要综合考虑硬件、软件和操作系统三个方面的因素。

首先应该排除硬件问题,然后检查软件冲突,并确保安装程序正确无误。

SQL2000数据修复命令DBCC用法

SQL2000数据修复命令DBCC用法

MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。

1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。

use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库实体的名称'exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。

注意:修复后可能会造成部分数据的丢失。

2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。

use 需要修复的数据库实体的名称declare @dbname varchar(255)set @dbname='需要修复的数据库实体的名称'exec sp_dboption @dbname,'single user','true'dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称exec sp_dboption @dbname,'single user','false'3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。

SQL2000数据库导出和导入教程

SQL2000数据库导出和导入教程

SQL2000数据库导出和导入教程SQL Server 2000 是微软发布的一款关系型数据库管理系统,它具有稳定性高、数据处理能力强等特点。

在实际应用中,我们常常需要将 SQL Server 2000 数据库导出和导入到其他系统或服务器上,下面是 SQL Server 2000 数据库导出和导入教程的详细步骤:一、SQL Server 2000 数据库导出1. 打开 SQL Server 2000 Management Studio,选择要导出的数据库。

2.在“任务”面板中选择“导出数据”。

3.选择要导出的服务器和数据库,点击“下一步”。

4.选择“以表形式导出数据”,点击“下一步”。

5.选择要导出的数据表,并指定导出的文件路径和文件名,点击“下一步”。

6.在“选择复制选项”中可以选择是否导出约束、索引等选项,点击“下一步”。

7.点击“完成”开始导出数据库的操作。

二、SQL Server 2000 数据库导入1. 打开 SQL Server 2000 Management Studio,选择要导入的数据库。

2.在“任务”面板中选择“导入数据”。

3.选择要导入的服务器和数据库,点击“下一步”。

4.选择要导入的数据源文件类型,点击“下一步”。

5.输入数据源文件的路径和文件名,并选择数据源文件的文件编码,点击“下一步”。

6.选择要导入的数据表,并指定导入的目标数据库和目标表名,点击“下一步”。

7.在“选择复制选项”中可以选择是否导入约束、索引等选项,点击“下一步”。

8.点击“完成”开始导入数据库的操作。

需要注意的是,以上的步骤适用于 SQL Server 2000 数据库的导出和导入操作,对于其他版本的 SQL Server 数据库,可能会有所不同。

另外,在导出和导入过程中,还需要根据实际情况进行相关的设置和配置,例如导出的文件路径、表的映射关系等。

在实际操作过程中,我们还可以使用 SQL Server 2000 自带的bcp 命令行工具来进行数据库的导出和导入操作。

vb6 conn sql2000参数

vb6 conn sql2000参数

vb6 conn sql2000参数
在VB6中连接SQL Server 2000,你需要使用ADO(ActiveX Data Objects)来创建一个数据库连接。

以下是一个基本的示例,展示如何设置连接字符串以连接到SQL Server 2000。

```vb
Dim conn As
Set conn = New
' 连接字符串,替换以下占位符为实际值:
' Server: 你的SQL Server 2000的地址
' Database: 要连接的数据库名
' User ID: 用于连接的SQL Server登录的用户名
' Password: 用于连接的SQL Server登录的密码
= "Provider=SQLOLEDB;Data Source=你的服务器地址;Initial Catalog=你的数据库名;User ID=你的用户名;Password=你的密码;"
' 打开连接
' 在这里执行你的SQL查询或命令...
' 关闭连接
Set conn = Nothing
```
注意事项:
1. 请确保已经安装了适当的驱动程序(如SQLOLEDB)以支持与SQL Server的连接。

2. 替换上述代码中的占位符(如服务器地址、数据库名、用户名和密码)为实际的值。

3. 在执行查询或命令后,不要忘记关闭和释放连接。

4. 尽管SQL Server 2000是一个相对较老的版本,但请注意安全性问题,并确保你使用的任何密码或其他敏感信息都是安全的。

SQL2000的安装,使用,数据导入,导出,定期备份,安装过程中挂起解决办法 (1)

SQL2000的安装,使用,数据导入,导出,定期备份,安装过程中挂起解决办法 (1)

天融=人本+创新+和谐+报国IT知识培训中科天融(北京)科技有限公司01020304SQL2000的安装SQL2000的使用SQL2000与组态的链接数据库数据的、导入、导出与定期备份目录1.SQL2000的分类2.安装要求3.安装步骤4.安装过程中“挂起”解决办法SQL2000可分为企业版、标准版、个人版、开发版、windows CE 版、企业评估版。

SQL Server 2000供移动的用户使用,这些用户有时从网络上断开,但所运行的应用程序需要 SQL Server 数据存储。

在客户端计算机上运行需要本地 SQL Server 数据存储的独立应用程序时也使用个人版。

SQL Server 2000供程序员用来开发将 SQL Server 2000 用作数据存储的应用程序。

虽然开发版支持企业版的所有功能,使开发人员能够编写和测试可使用这些功能的应用程序,但是只能将开发版作为开发和测试系统使用,不能作为生产服务器使用。

SQL Server 2000在 Windows CE 设备上进行数据存储。

能用任何版本的 SQL Server 2000 复制数据,以使 Windows CE 数据与主数据库保持同步。

SQL Server 2000可从 Web 上免费下载的功能完整的版本。

仅用于评估 SQL Server 功能;下载 120 天后该版本将停止运行1.SQL Server数据库组件:95到270 MB,一般为250 MB2.Analysis Services:至少 50 MB,一般为 130 MB3.English Query:80 MB4.仅Desktop Engine:44 MB1.VGA或更高分辨率2.SQL Server 图形工具要求 800x600 或更高分辨率Microsoft鼠标或兼容设备需要1 根据操作系统的要求,可能需要额外的内存。

2 实际的要求因系统配置和选择安装的应用程序和功能的不同而异。

SQL2000数据修复大全

SQL2000数据修复大全

Sql2000r 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。

1. DBCC CHECKDB重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。

use masterdeclare @databasename varchar(255)set @databasename='需要修复的数据库实体的名称'exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)dbcc checkdb(@databasename,REPAIR_REBUILD)exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态然后执行DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。

注意:修复后可能会造成部分数据的丢失。

2. DBCC CHECKTABLE如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。

use 需要修复的数据库实体的名称declare @dbname varchar(255)set @dbname='需要修复的数据库实体的名称'exec sp_dboption @dbname,'single user','true'dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称exec sp_dboption @dbname,'single user','false'3. 其他的一些常用的修复命令DBCC DBREINDEX 重建指定数据库中表的一个或多个索引用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。

SQL2000数据库收缩方法

SQL2000数据库收缩方法

SQL2000数据库收缩方法SQL Server 2000是一个关系型数据库管理系统(RDBMS),旨在高效地存储和管理大量数据。

收缩数据库是一种优化数据库性能和节省存储空间的方法。

在本文中,我们将介绍SQL Server 2000中的数据库收缩方法。

1.数据库备份:在进行任何数据库操作之前,务必进行数据库备份。

这是一种预防措施,以防止数据丢失。

2. 清理日志文件:SQL Server 2000使用事务日志来记录所有数据库操作。

如果事务日志文件太大,可能会导致数据库性能下降。

可以使用以下命令来清理事务日志文件:```SQLBACKUPLOG[数据库名称]WITHTRUNCATE_ONLYDBCCSHRINKFILE(2,TRUNCATEONLY)```其中,数据库名称是要清理事务日志文件的数据库的名称。

2是事务日志文件的ID。

3.收缩数据库文件:数据库文件可能会随着时间的推移变得非常庞大,这可能会导致性能下降和存储空间浪费。

可以使用以下命令来收缩数据库文件:```SQLDBCCSHRINKDATABASE([数据库名称])```其中,数据库名称是要收缩的数据库的名称。

4. 收缩文件组:SQL Server 2000允许将数据库文件分组到逻辑单元中,称为文件组。

可以使用以下命令来收缩文件组:```SQLDBCCSHRINKFILE([文件组名称],[目标大小])```其中,文件组名称是要收缩的文件组的名称,目标大小是要将文件组压缩到的大小。

5.禁用自动增量增长:数据库中的表可能具有自动增量增长的列,这意味着每次插入时,该列的值都会增加。

这可能会导致数据库文件变大。

可以使用以下命令来禁用自动增量增长:```SQLALTERTABLE[表名称]ALTERCOLUMN[列名称]IDENTITY(当前最大值,增量值)```其中,表名称是要禁用自动增量增长的表的名称,列名称是要禁用自动增量增长的列的名称,当前最大值是当前自动增量增长列的最大值,增量值是自动增量增长列的增量值。

SQLServer2000数据备份与恢复

SQLServer2000数据备份与恢复

SQL Server2000 数据备份与恢复Author looger 1. 数据库备份1.1 展开服务器组,然后展开服务器。

展开“数据库”文件夹,右击数据库,指向“所有所有”子菜单,然后单击“备份数据库”命令。

1.2 在“名称”框内输入备份集名称,在“描述”框中输入对备份集的描述。

在“备份”选项中选择备份方式。

1.3 点击“添加”按钮以添加现有的目的地或创建新的目的地,点击按钮可以选择一个备份文件1.4 点击按钮后,在下面出现的窗口中选择一个文件作为备份文件,可以在“文件名”后面的文本框中输入一个新的文件名以创建一个备份文件。

1.5 此时刚才选择的文件被加入到备份文件中。

如果要添加其他的文件,则可以点击“添加”按钮添加其他的文件。

在" 重写" 选项下,单击“追加到媒体”,将备份追加到备份设备上任何现有的备份中;点击“重写现有媒体”,将重写备份设备中任何现有的备份1.6 可以选择“调度”复选框调度备份操作在以后执行或定期执行。

点击“调度”后面的按钮可以对调度进行设置1.7 在点击按钮后,可以在下面的对话框中设置调度的名称和调度的类型。

如果需要调度反复出现,则可以点击“更改”按钮1.8 点击“更改”按钮后,可以在下面的窗口中设置作业发生的时机1.9 单击“选项”选项卡。

选择“完成后验证备份”复选框,在备份时对备份进行验证。

选择“检查媒体集名称和备份集到期时间”,检查备份媒体以防意外重写。

在“媒体集名称”框中,输入将用于备份操作的媒体的名称。

如果仅指备份集到期时间,则将其保留为空2. 数据库的恢复2.1 展开服务组,然后展开服务器。

展开“数据库”文件夹,右击数据库,指向“所有任务”子菜单,然后单击“还原数据库”命令2.2 在“还原为数据库”框中,如果要还原的数据库名称与显示的默认数据库名称不同,请在其中进行输入或选择。

若要用新名称还原数据库,请输入新的数据库名称2.3 再“要还原的第一个备份”列表中,选择要还原的备份集2.4 在“还原”列表中,单击要还原的数据库备份2.5 点击“属性”按钮可以查看数据库备份的属性2.6 单击“选项”选项卡,在“还原为”中输入组成数据库备份的各数据库文件的新名称或新位置。

SQL2000中创建作业

SQL2000中创建作业

SQL2000中创建作业(定时查询,更新)2008-01-07 20:20企业管理器--管理--SQL Server代理--右键作业--新建作业--"常规"项中输入作业名称--"步骤"项--新建--"步骤名"中输入步骤名--"类型"中选择"Transact-SQL 脚本(TSQL)"--"数据库"选择执行命令的数据库--"命令"中输入要执行的语句:update base set flag=0 where datediff(dd,date,getdate())=0--确定--"调度"项--新建调度--"名称"中输入调度名称--"调度类型"中选择你的作业执行安排--如果选择"反复出现"--点"更改"来设置你的时间安排为一天一次然后将SQL Agent服务启动,并设置为自动启动,否则你的作业不会被执行设置方法:我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.============================在sql server中创建作业(转)如果在SQL Server 里需要定时或者每隔一段时间执行某个存储过程或3200字符以内的SQL语句时,可以用管理->SQL Server代理->作业来实现。

1、管理->SQL Server代理->作业(按鼠标右键)->新建作业->2、新建作业属性(常规)->名称[自定义本次作业的名称]->启用的方框内是勾号->分类处可选择也可用默认的[未分类(本地)]->所有者默认为登录SQL Server用户[也可选其它的登录]->描述[填写本次工作详细描述内容];[ 创建作业分类的步骤:SQL Server代理->作业->右键选所有任务->添加、修改、删除 ]3、新建作业属性(步骤)->新建->步骤名[自定义第一步骤名称]->类型[Transact-SQL(TSQL)脚本]->数据库[要操作的数据库]->命令[ 如果是简单的SQL直接写进去即可,也可用打开按钮输入一个已写好的*.sql文件如果要执行存储过程,填exec p_procedure_namev_parameter1,[ v_parameter2…v_parameterN]]->确定(如果有多个步骤,可以再次调用下面的新建按钮;也可以对已有的多个步骤插入、编辑、删除);4、建作业属性(调度)->新建调度->名称[自定义调度名称]->启用的方框内是勾号->调度->反复出现->更改[调度时间表]->确定(如果只要保存此作业,不要定时做可以把启用的方框内是勾号去掉);5、建作业属性(通知)->用默认的通知方法就好[当作业失败时,写入Windows 应用程序系统日志] ->确定。

sql2000中附加数据库

sql2000中附加数据库

用户在使用软件过程中可能出现这种情况,在没有做数据备份的情况下系统崩溃了(硬盘还没有坏),sql2000已经不能使用,我们何恢复用户数据?有办法,只要软件的服务器端安装文件夹还在,将该文件夹下(标准版是graspcws,辉煌版832是grasp)的data文件夹下的sql数据文件复制出来(数据文件名是当初创建帐套时输入的数据库名,共有两个,一个以mdf扩展名结尾,一个以ldf扩展名结尾),然后将系统重新安装,再把sql2000重新安装,把管家婆软件重新安装,完成后在sql2000的企业管理器中进行数据的恢复,具体操作如下:
1、在开始-程序-microsoft sql server中选择企业管理器
2、右键点击数据库,选择“附加数据库”
3、进入后点击有三个点的按键,选择以前复制出来的以mdf扩展名结尾的文件名,若此文件没有问题则会出现下面这样
的页面,物理文件名和数据库名会自动出现。

4、点击确定数据库即可生成,然后选择master数据,选择“表”,在出现的表中选择graspcwzt(服装版是graspfzzt)
,右键点击此表选择返回所有行。

5、开表后,在dbname列中输入数据库名,在fullname列中输入帐套名,order列不用输入,完成后点击命令栏中的感叹
号按键执行即可,退出sql企业管理器进入管家婆就可选择帐套进入。

SQL_Server_2000命令语法精选

SQL_Server_2000命令语法精选

SQL Server 2000常用命令,语法使用方法(一)SQL Server 2000常用命令,语法使用方法(1) 数据记录筛选:sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]"sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名[desc]"sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in ('值1','值2','值3')"sql="select * from 数据表 where 字段名 between 值1 and 值2"(2) 更新数据记录:sql="update 数据表 set 字段名=字段值 where 条件表达式"sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"(3) 删除数据记录:sql="delete from 数据表 where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)"sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表)(5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"set rs=conn.excute(sql)用 rs("别名") 获取统的计值,其它函数运用同上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL Server 2000常用命令SQLSever 2010-05-25 20:39:08 阅读322 评论0 字号:大中小订阅(1) 数据记录筛选:sql="select * from 数据表where 字段名=字段值order by 字段名[desc]"sql="select * from 数据表where 字段名like '%字段值%' order by 字段名[desc]"sql="select top 10 * from 数据表where 字段名order by 字段名[desc]"sql="select * from 数据表where 字段名in ('值1','值2','值3')"sql="select * from 数据表where 字段名between 值1 and 值2"(2) 更新数据记录:sql="update 数据表set 字段名=字段值where 条件表达式"sql="update 数据表set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录:sql="delete from 数据表where 条件表达式"sql="delete from 数据表" (将数据表所有记录删除)(4) 添加数据记录:sql="insert into 数据表(字段1,字段2,字段3 …) value s (值1,值2,值3 …)"sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数:AVG(字段名) 得出一个表格栏平均值COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计MAX(字段名) 取得一个表格栏最大的值MIN(字段名) 取得一个表格栏最小的值SUM(字段名) 把数据栏的值相加引用以上函数的方法:sql="select sum(字段名) as 别名from 数据表where 条件表达式"set rs=conn.excute(sql)用rs("别名") 获取统的计值,其它函数运用同上。

(5) 数据表的建立和删除:CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… )例:CREATE TABLE tab01(name varchar(50),datetime default now())DROP TABLE 数据表名称(永久性删除一个数据表)4. 记录集对象的方法:rs.movenext 将记录指针从当前的位置向下移一行rs.moveprevious 将记录指针从当前的位置向上移一行rs.movefirst 将记录指针移到数据表第一行rs.movelast 将记录指针移到数据表最后一行rs.absoluteposition=N 将记录指针移到数据表第N行rs.absolutepage=N 将记录指针移到第N页的第一行rs.pagesize=N 设置每页为N条记录2、更改表格ALTER TABLE table_nameADD COLUMN column_name DATATYPE说明:增加一个栏位(没有删除某个栏位的语法。

ALTER TABLE table_nameADD PRIMARY KEY (column_name)说明:更改表得的定义把某个栏位设为主键。

ALTER TABLE table_nameDROP PRIMARY KEY (column_name)说明:把主键的定义删除。

3、建立索引CREATE INDEX index_name ON table_name (column_name)说明:对某个表格的栏位建立索引以增加查询时的速度。

4、删除DROP table_nameDROP index_name二、的资料形态DATATYPEssmallint16 位元的整数。

interger32 位元的整数。

decimal(p,s)p 精确值和s 大小的十进位整数,精确值p是指全部有几个数(digits)大小值,s是指小数点後有几位数。

如果没有特别指定,则系统会设为p=5; s=0 。

float32位元的实数。

double64位元的实数。

char(n)n 长度的字串,n不能超过254。

varchar(n)长度不固定且其最大长度为n 的字串,n不能超过4000。

graphic(n)和char(n) 一样,不过其单位是两个字元double-bytes,n不能超过127。

这个形态是为了支援两个字元长度的字体,例如中文字。

vargraphic(n)可变长度且其最大长度为n 的双字元字串,n不能超过2000。

date包含了年份、月份、日期。

time包含了小时、分钟、秒。

timestamp包含了年、月、日、时、分、秒、千分之一秒。

三、资料操作DML(Data Manipulation Language)资料定义好之後接下来的就是资料的操作。

资料的操作不外乎增加资料(insert)、查询资料(query)、更改资料(update) 、删除资料(delete)四种模式,以下分别介绍他们的语法:1、增加资料:INSERT INTO table_name (column1,column2,...)valueS ( value1,value2, ...)说明:1.若没有指定column 系统则会按表格内的栏位顺序填入资料。

2.栏位的资料形态和所填入的资料必须吻合。

3.table_name 也可以是景观view_name。

INSERT INTO table_name (column1,column2,...)SELECT columnx,columny,... FROM another_table说明:也可以经过一个子查询(subquery)把别的表格的资料填入。

2、查询资料:基本查询SELECT column1,columns2,...FROM table_name说明:把table_name 的特定栏位资料全部列出来SELECT *FROM table_nameWHERE column1 = xxx[AND column2 > yyy] [OR column3 <> zzz]三)交叉连接交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等于6*8=48行。

SELECT type,pub_nameFROM titles CROSS JOIN publishersORDER BY typeUNION运算符可以将两个或两个以上上SELECT语句的查询结果集合合并成一个结果集合显示,即执行联合查询。

UNION的语法格式为:select_statementUNION [ALL] selectstatement[UNION [ALL] selectstatement][…n]其中selectstatement为待联合的SELECT查询语句。

ALL选项表示将所有行合并到结果集合中。

不指定该项时,被联合查询结果集合中的重复行将只保留一行。

联合查询时,查询结果的列标题为第一个查询语句的列标题。

因此,要定义列标题必须在第一个查询语句中定义。

要对联合查询结果排序时,也必须使用第一查询语句中的列名、列标题或者列序号。

在使用UNION 运算符时,应保证每个联合查询语句的选择列表中有相同数量的表达式,并且每个查询选择表达式应具有相同的数据类型,或是可以自动将它们转换为相同的数据类型。

在自动转换时,对于数值类型,系统将低精度的数据类型转换为高精度的数据类型。

在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。

例如:查询1 UNION (查询2 UNION 查询3)INSERT语句用户可以用INSERT语句将一行记录插入到指定的一个表中。

例如,要将雇员John Smith的记录插入到本例的表中,可以使用如下语句:INSERT INTO EMPLOYEES valueS('Smith','John','1980-06-10','Los Angles',16,45000);通过这样的INSERT语句,系统将试着将这些值填入到相应的列中。

这些列按照我们创建表时定义的顺序排列。

在本例中,第一个值“Smith”将填到第一个列LAST_NAME中;第二个值“John”将填到第二列FIRST_NAME中……以此类推。

我们说过系统会“试着”将值填入,除了执行规则之外它还要进行类型检查。

如果类型不符(如将一个字符串填入到类型为数字的列中),系统将拒绝这一次操作并返回一个错误信息。

如果SQL拒绝了你所填入的一列值,语句中其他各列的值也不会填入。

这是因为SQL提供对事务的支持。

一次事务将数据库从一种一致性转移到另一种一致性。

如果事务的某一部分失败,则整个事务都会失败,系统将会被恢复(或称之为回退)到此事务之前的状态。

回到原来的INSERT的例子,请注意所有的整形十进制数都不需要用单引号引起来,而字符串和日期类型的值都要用单引号来区别。

为了增加可读性而在数字间插入逗号将会引起错误。

记住,在SQL中逗号是元素的分隔符。

同样要注意输入文字值时要使用单引号。

双引号用来封装限界标识符。

对于日期类型,我们必须使用SQL标准日期格式(yyyy-mm-dd)--查询当前连接的实例名select @@servername--察看任何数据库属性sp_helpdb master--设置单用户模式,同时立即断开所有用户alter database Northwind set single_user with rollback immediate--恢复正常alter database Northwind set multi_user--察看数据库属性sp_helpdb--察看数据库恢复模式select databasepropertyex('Northwind','recovery')--设置自动创建统计alter database Northwind set auto_create_statistics on/off--设置自动更新统计alter database Northwind set auto_update_statistics on/off--查看作业列表select * from msdb..sysjobs--查看作业详细信息exec msdb..sp_help_job @job_name = 'HQCRM-CrmNew-CrmNew_2Dimension-NANJINGCRM-216' --修改作业信息exec msdb..sp_update_job @job_id = 0x4CA27521C9033C48954E7BFC6B965395, @enabled = 1 --察看服务器角色exec sp_helpsrvrolemember--添加服务器角色exec sp_addsrvrolemember 'member_name','sysadmin'--删除服务器角色exec sp_dropsrvrolemember 'member_name','sysadmin'--察看数据库角色exec sp_helprole--添加数据库角色exec sp_addrole 'role_name'--删除数据库角色exec sp_droprole 'role_name'--查看用户信息exec sp_helpuser--注意删除guest帐户use dbnamegoexec sp_dropuser guest--修改对象拥有者exec sp_changeobjectowner 'old_onwer.table_name', 'new_owner'--查看BUILTIN\Administrators帐号exec master..xp_logininfo 'BUILTIN\Administrators', 'members'--修改默认数据库exec sp_defaultdb 'login', 'defaultdb'--创建新的登陆exec sp_addlogin @loginame = 'esProgram',@passwd = 'h1J2P97vfdlK34',@defdb = 'career'--更改登陆数据库访问权限use <dbname>exec sp_grantdbaccess @loginame ='esProgram',@name_in_db = 'esProgram'--把角色db_appuser添加用户帐号中use <dbname>exec sp_addrolemember @rolename = 'db_appuser',@membername = 'esProgram'--预测增长use master/* Procedure for 8.0 server */create proc usp_databasesasset nocount ondeclare @name sysnamedeclare @SQL nvarchar(600)/* Use temporary table to sum up database size w/o using group by */create table #databases (DATABASE_NAME sysname NOT NULL,size int NOT NULL)declare c1 cursor forselect name from master.dbo.sysdatabaseswhere has_dbaccess(name) = 1 -- Only look at databases to which we have accessopen c1fetch c1 into @namewhile @@fetch_status >= 0beginselect @SQL = 'insert into #databasesselect N'''+ @name + ''', sum(size) from '+ QuoteName(@name) + '.dbo.sysfiles'/* Insert row for each database */execute (@SQL)fetch c1 into @nameenddeallocate c1selectDATABASE_NAME,DATABASE_SIZE = size*8,/* Convert from 8192 byte pages to K */RUN_DT=GETDATE()from #databasesorder by 1GOcreate table DatabaseSizeReport(Database_Name Varchar(32),Database_Size int,CreateDt datetime)insert into DatabaseSizeReport exec usp_databasesselect * from DatabaseSizeReport--快捷方式ALT-F1 sp_helpCTRL-1 sp_whoCTRL-2 sp_lock--查看对象空间exec sp_spaceused <db_name>/<table_name>--察看文件是否存在exec xp_fileexist "c:\test.txt"--察看文件详细信息exec master..xp_getfiledetails "c:\test.txt"--查看系统出错日志set nocount on --执行一个查询或者是存储过程是要保证这个是开的。

相关文档
最新文档