在这篇文章中,我们将为您详细介绍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删除日志文件)
- Access 导入到SQL Server 2005的方法小结
- SQL Server 2005 数据库转 SQL Server 2000的方法小结
- SQL Server 2005 更改安装路径目录的方法小结
- SQL Server 2005无日志文件附加数据库
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_LOG2
.截断事务日志:BACKUPLOG库名WITHNO_LOG3
.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,确定就可以了也可以用sql语句来完成--收缩数据库DBCCSHRINKDATABASE(库名)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCCSHRINKFILE(1
)4
.为了最大化的缩小日志文件(如果是sql7.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的方法小结
方法一:
名称: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里,但实际操作起来遇到的问题还不少,网上搜了一些办法,在此陈列出来,并把我使用时遇到的问题及解决方案一并记录下来,以备后期查阅
前几步和网上说的一样,先生成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啦。