GVKun编程网logo

SQL Server 2005删除日志文件的几种方法小结(sql2008删除日志文件)

4

在这篇文章中,我们将为您详细介绍SQLServer2005删除日志文件的几种方法小结的内容,并且讨论关于sql2008删除日志文件的相关问题。此外,我们还会涉及一些关于Access导入到SQLServ

在这篇文章中,我们将为您详细介绍SQL Server 2005删除日志文件的几种方法小结的内容,并且讨论关于sql2008删除日志文件的相关问题。此外,我们还会涉及一些关于Access 导入到SQL Server 2005的方法小结、SQL Server 2005 数据库转 SQL Server 2000的方法小结、SQL Server 2005 更改安装路径目录的方法小结、SQL Server 2005无日志文件附加数据库的知识,以帮助您更全面地了解这个主题。

本文目录一览:

SQL Server 2005删除日志文件的几种方法小结(sql2008删除日志文件)

SQL Server 2005删除日志文件的几种方法小结(sql2008删除日志文件)

使用MS数据库的朋友就会知道一个问题,C盘的空间很容易被占满了。因为本来系统盘就分区比较小,这是由于数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。sqlServer数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。

一、删除LOG


1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。


勾选删除连接

分离后在数据库列表将看不到已分离的数据库。

2、删除LOG文件

3、附加数据库,附加的时候会提醒找不到log文件。

删除数据库信息信息的ldf文件:

附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。

也可以通过命令才完成以上的操作:

use master;
execsp_detach_db@dbname='TestDB';
execsp_attach_single_file_db@dbname='TestDB',@physname='D:\Program Files\Microsoft sql Server\MSsql10.sql2008\MSsql\DATA\TestDB.mdf'

、清空日志

该命令在sql Server 2005和2000支持,sql Server 2008不支持该命令。

DUMP TRANSACTIONTestDBWITHNO_LOG

三、收缩数据库文件

DBCCSHRINKFILE('TestDB_log',1)

四、截断事务日志

BACKUPLOGTestDBWITHNO_LOG

该命令在sql Server 2008也是不支持,在sql Server 2005和2000可以使用。

清除sqlServer2005的LOG文件

--最好备份日志,以后可通过日志恢复数据。。。以下为日志处理方法一般不建议做第4,6两步第4步不安全,有可能损坏数据库或丢失数据第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复.--*/--下面的所有库名都指你要处理的数据库的库名

1

.清空日志DUMPTRANSACTION库名WITHNO_LOG

2

.截断事务日志:BACKUPLOG库名WITHNO_LOG

3

.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,确定就可以了也可以用sql语句来完成--收缩数据库DBCCSHRINKDATABASE(库名)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCCSHRINKFILE(

1

)

4

.为了最大化的缩小日志文件(如果是sql

7.0

,这步只能在查询分析器中进行)a.分离数据库:企业管理器--服务器--数据库--右键--分离数据库b.在我的电脑中删除LOG文件c.附加数据库:企业管理器--服务器--数据库--右键--附加数据库此法将生成新的LOG,大小只有500多K或用代码:下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。a.分离EXECsp_detach_db@dbname='库名'b.删除日志文件c.再附加EXECsp_attach_single_file_db@dbname='库名',@physname='c:\Program Files\Microsoft sql Server\MSsql\Data\库名.mdf'

5

.为了以后能自动收缩,做如下设置:企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"--sql语句设置方式:EXECsp_dboption'库名','autoshrink','TRUE'

6

.如果想以后不让它日志增长得太大企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)--sql语句的设置方式:alterdatabase库名 modifyfile(name=逻辑文件名,maxsize=

20

)

sql Server 数据库使用时间一长就会导致Log文件逐渐变的庞大,想备份一下数据库,想发给谁都很困难
运行下面的语句就可以 清到Log文件只剩下1M左右的空间.

DUMP TRANSACTION 数据库名 WITH NO_LOG
DBCC SHRINKDATABASE('数据库名',TruncATEONLY)

不重启sql服务,删除sqlServer系统日志

sqlServer的系统日志过大,就会引起sqlServer服务器无法启动等一系列问题。今天我遇到了这个问题,在网上搜索了一下,解决方法是删除就 可以了,可是当前的ErrorLog正在被sql使用无法删除啊,要删除只能停止sql服务器,难道就没有别得办法了吗?
回答是肯定的:使用以下存储过程:

EXEC sp_cycle_errorlog

注释
每次启动sql Server 时,当前错误日志重新命名为errorlog.1;errorlog.1 成为errorlog.2,errorlog.2 成为errorlog.3,依次类推。sp_cycle_errorlog 使您得以循环错误日志文件,而不必停止而后再启动服务器。

Access 导入到SQL Server 2005的方法小结

Access 导入到SQL Server 2005的方法小结

方法一:

  名称:DTS(这个在MSsql2000里边也有)

  操作:在命令提示符窗口中运行 DTSWizard.exe

  sql Server 导入和导出向导提供了生成 Microsoft sql Server 2005 Integration Services (SSIS) 包最简单的方法。sql Server 导入和导出向导可以访问各种数据源。可以向下列源复制数据或从其中复制数据:
  ·Microsoft sql Server
  ·文本文件
  ·Microsoft Office Access
  ·Microsoft Office Excel
  ·其他 OLE DB 访问接口
  此外,可以只使用 ADO.NET 访问接口和 ODBC 数据源作为源。
  启动 sql Server 导入和导出向导
  在 Business Intelligence Development Studio 中,右键单击“SSIS 包”文件夹,再单击“SSIS 导入和导出向导”。
  - 或 -
  在 Business Intelligence Development Studio 中的“项目”菜单上,单击“SSIS 导入和导出向导”。
  - 或 -
  在 sql Server Management Studio 中,连接到数据库引擎服务器类型,展开数据库,右键单击一个数据库,指向“任务”,再单击“导入数据”或“导出数据”。
  - 或 -
  在命令提示符窗口中运行 DTSWizard.exe(位于 C:\Program Files\Microsoft sql Server\90\DTS\Binn)。

方法二:

  sql 查询
  操作:执行下列sql语句:
  EXEC sp_configure 'show advanced options',1;
  GO
  RECONfigURE;
  GO
  EXEC sp_configure 'Ad Hoc distributed Queries',1;
  GO
  RECONfigURE;
  GO
  INSERT INTO 表名(字段1,字段2,字段3)
  SELECT 字段1,字段3
  FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="d:\source.mdb";Jet
  OLEDB:Database Password=密码')...表名

文字版:

安装好sql Server 2005 Express后,再安装sql Server Management Studio ExpressCTP就可以很方便的使用控制台进行数据库的管理。但sql Server Management Studio ExpressCTP并没有导入Access数据库的功能,我们应该使用Access的“数据库实用工具”进行导入。
本文以Access2003为例介绍如何将Access的数据库导入到sql Server 2005 Express中,其中没有说明的地方均使用默认设置。

1、安装Access 2003,选中Access下的“数据库复制”组件。
2、打开Access 2003数据库,依次单击“工具”-“数据库实用工具”-“升迁向导”。
3、在“升迁向导”中选择“新建数据库”,单击“下一步”。选择安装了sql Server 2005Express的服务器为导入服务器,使用默认的数据库名称,
单击“下一步”。将其中可以的表添加到“导出到 sqlServer”中,
单击“下一步”。升迁默认的表属性,
单击“下一步”。创建一个新的ADP文件,
单击“下一步”。单击“打开新ADP文件”,单击“完成”。
4、打开刚刚创建的Adp文件,依次单击“工具”-“数据库实用工具”-“传送数据库”。在sql Server中输入“Myserver/sqlexpress”,单击“下一步”。单击“完成”。导入完成。
5、打开“sql Server Management Studio Express”就可以看到刚刚添加的数据库。

这样的导入方式可以导入表或者是link表以及他们的relationship。

SQL Server 2005 数据库转 SQL Server 2000的方法小结

SQL Server 2005 数据库转 SQL Server 2000的方法小结

今天有朋友推荐个活就是把sql Server 2005的数据库转到sql Server 2000里,但实际操作起来遇到的问题还不少,网上搜了一些办法,在此陈列出来,并把我使用时遇到的问题及解决方案一并记录下来,以备后期查阅

前几步和网上说的一样,先生成2000的脚本,然后再到2000里面执行。操作如下:

打开 sql Server 2005 的manger Studio

-- 打开"对象资源管理器"(没有的话按F8),连接到你的实例

找到你要转换的数据库(建议先将此数据库里的登录名清空,否则转换会出现问题)

-- 右键选择要转成 sql Server2000 的数据库

-- 选择 任务

-- 选择 生成脚本

-- 在"脚本向导"的"选择数据库"中,确定选择的是要转到2000的库

-- 勾选"为所选数据库中的所有对象编写脚本" (这个勾不要其实也可以的,根据你的需要来。)

-- 在接下来的"选择脚本选项"中,找到"为服务器版本编写脚本"项,选择"sql Server 2000"

-- 其他选项根据需要设置

-- 最后把脚本保存到一个 .sql 脚本文件

代码如下:
有可能会遇到的问题:
目标服务器版本不支持该对象或不支持该对象的一个属性。 (Microsoft.sqlServer.Smo)
脚本无法成功生成。此问题是由于“数据库兼容性级别”导致的。
解决方案:
server有个改兼容性级别的语句:
sp_dbcmptlevel [ [ @dbname = ] name ] [,[ @new_cmptlevel = ] version ]
语句如下:
EXEC sp_dbcmptlevel '你的数据库名','80';
GO
这个80就是各个版本对应的版本号
60 = sql Server 6.0
65 = sql Server 6.5
70 = sql Server 7.0
80 = sql Server 2000 ——8.0
90 = sql Server 2005 ——9.0
由于是转到2000于是兼容性级别就要调到80

2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件),连接到sql Server 2000,执行上面生成的脚本.以创建一个新的数据库 。

代码如下:
有可能会出现的问题:
max附近有语法错误
server2000里面没有max这种用法,所以建议大家把sql脚本里的MAX改成一个很大的数就是了,比如4000(4000好像是上限)。
odb问题
其他数据库我不知道,但是不论你用server什么数据库,只要不是你自己的,通常管理员是不会给你配odb权限的,所以把所有的odb檫掉就可以了。另外还有个办法,用你的远程数据库登录名可以改成那个用户的所有者,在本地也修改一下,然后再运行,就OK啦。

3. 将数据从2005导到2000

首先打开sql Server 2005 的Manage Studio
-- 打开"对象资源管理器"(没有的话按F8),连接到你的实例
-- 右键选择要转成 sql Server2000 的数据库--选择 任务 --导出数据
(注意,如果你的Manage Studio 为 Express版本,那任务里是没有导出数据选项的,你可以直接找到你的数据安装目录里的Binn文件夹,例如 C:\Program Files\Microsoft sql Server\90\DTS\Binn 然后执行DTSWizard.exe文件即可。)
-- 在"sql Server 导入和导出向导"的"选择数据源"步骤中,确定选择的是要导出的数据库
-- 在"选择目标"步骤中,连接到 2000,并选择步骤2新建的库
-- 在"选择源表和源视图"中,选择所有的表(注意,如果表中有标识的话,要在此处选中表,然后单击下方的“编辑映射”按钮,新开窗口中勾选“使用标识插入”,每个有标识的表都要这样选择一次。还有,此处导入数据如果牵扯到主外键关系或者其他约束的话,一定要分批次按照关系的先后顺序导入,否则会报错。)
-- 最后完成

代码如下:最后注意下2000的select top 后跟的不可以是表达式,所以如果你的分页里有用到类似
declare @pageIndex int
select top (@pageIndex-1)*12 newsID from News
的话,请一律改成字符串拼接方法,例如下面的例子:
declare @strsql varchar(1000)
declare @pageIndex int
set @pageIndex= (@pageIndex-1)*12
set @strsql='select top '+str(@pageIndex)+' newsID from News'
exec (@strsql)


2005转到2000的步骤
1. 生成for 2000版本的数据库脚本
2005 的manger studio
-- 打开对象资源管理器(没有的话按F8),连接到你的实例
-- 右键要转到2000的库
-- 任务
-- 生成脚本
-- 在脚本向导的选择数据库中,确定选择的是要转到2000的库
-- 勾选为所选数据库中的所有对象编写脚本
-- 在接下来的选择脚本选项中,将”编写创建数据库的脚本”设为True,找到为服务器版本编写脚本项,选择sql Server 2000
-- 其他选项根据需要设置
-- 最后把脚本保存到一个 .sql 脚本文件

2. 在2000中创建目标数据库
在查询分析器(或2005的manger studio在打开脚本文件),执行上面生成的脚本.以创建一个新的数据库

3. 将数据从2005导到2000
打开sql Server 2000的企业管理器
-- 右键要导入数据的数据库
-- 任务
-- 导入数据
-- 在sql Server 导入和导出向导的选择数据源步骤中,确定选择的是要导出的数据库
-- 在选择数据源步骤中,连接到 2005,并选择源数据库
-- 在选择源表和源视图中,选择所有的表
-- 最后完成

SQL Server 2005 更改安装路径目录的方法小结

SQL Server 2005 更改安装路径目录的方法小结

今天晚上小编在加班时有朋友咨询关于sql Server 2005 更改安装路径目录的问题,告诉了朋友,顺手又在网上找了其它几个方法,第一个方法是默认的,是小编告诉朋友的。

  方法1.

  在安装过程中,安装到选择需要安装的组件时,点高级就可以了。之后就会看到更改安装路径的地方

  方法2.更改注册表的默认安装路径:

  安装完成需要站500M左右空间

  可以更改路径安装,下面是更改方法:

  打开注册表找到:“HEKY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion”在右侧窗口中找到“ProgramFilesDir”的字符串,双击把数值由“C:\ProgramFiles”修改为“D:\ProgramFiles”确定后退出注册表就OK了

  方法3.

  首先:不修改路径,使用默认方式安装,最后在确认安装时会显示ConfigurationFile.ini文件的路径,到这个路径下面将安装配置文件复制到其他路径,例如D:\,然后退出安装

  其次:使用记事本打开这个文件,根据实际需求将“C:\Program Files\Microsoft sql Server” 查找替换为“D:\Program Files\Microsoft sql Server”后保存

  最后:在命令行转到安装目录,开始安装,如果是Vista,记得使用管理员权限运行命令行,输入以下指令:

  setup.exe /action=Install /configurationfile=D:\ConfigurationFile.ini

  当然我们也可以使用高级安装模式选择使用配置文件进行安装,这个是图形化的- -

  方法4.

  插入光盘后不要用autorun的安装,使用命令行安装!cd进安装光盘的根目录,输入命令:

  setup.exe /INSTALLSHAREDDIR="D:\\Program Files\\Microsoft sql Server\\" /INSTALLSHAREDWOWDIR="D:\\Program Files (x86)\\Microsoft sql Server\\"

  安装即可,其中INSTALLSHAREDDIR为x64部件安装的路径,INSTALLSHAREDWOWDIR为x32部件安装的路径。

通过xp_instance_regwrite来修改注册表

数据库默认路径保存在注册表里,我们可以通过xp_instance_regwrite来修改注册表,具体可以试试下面的方法:

--1.更改資料文件默認存放路經:
EXEC xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='Software\Microsoft\MSsqlServer\MSsqlServer',
@value_name='DefaultData',
@type=REG_SZ,
@value='D:\MSsql\Data'

--2.更改日志文件默認存放路經:
EXEC master..xp_instance_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@value_name='DefaultLog',
@value='D:\MSsql\Data'

SQL Server 2005无日志文件附加数据库

SQL Server 2005无日志文件附加数据库

解决办法:

1、新建一个同名数据库。

2、停止数据库服务,覆盖新建的数据库主文件(小技巧:最好放在同一个磁盘里面,把新建的数据库主文件删掉或移开,再把要恢复的数据库主文件剪切过去,这样就可以节省时间。)

3、启动数据库服务,数据库变为置疑或可疑状态。然后在查询分析器中运行:

alter database 无日志文件的数据库名称 set emergency

设置为紧急状态。

4、再运行:

alter database 无日志文件的数据库名称 set single_user

或者:

Sp_dboption ''无日志文件的数据库名称'', ''single user'', ''true''

设置为单用户模式。

5、检查并重建日志文件,运行:

dbcc checkdb(''无日志文件的数据库名称'',REPAIR_ALLOW_DATA_LOSS)

这个时间比较长。耐心等待!如果有错误提示,再运行:

dbcc checkdb(''无日志文件的数据库名称'',REPAIR_REBUILD)

进行修复。如果没有错误,可以跳过。

6、恢复成多用户模式

alter database 无日志文件的数据库名称 set multi_user

或者:

Sp_dboption ''无日志文件的数据库名称'', ''single user'', ''false''

刷新数据库,你就可以看到已经修复好的数据库了。

我们今天的关于SQL Server 2005删除日志文件的几种方法小结sql2008删除日志文件的分享就到这里,谢谢您的阅读,如果想了解更多关于Access 导入到SQL Server 2005的方法小结、SQL Server 2005 数据库转 SQL Server 2000的方法小结、SQL Server 2005 更改安装路径目录的方法小结、SQL Server 2005无日志文件附加数据库的相关信息,可以在本站进行搜索。

本文标签: