数据库为什么打不开数据库文件

数据库为什么打不开数据库文件,第1张

不是这么打开的,首先你这个mdf文件应该有个配对的文件是ldf后缀的。

然后打开sqlserver的SQL Server Management Studio这个东西,也就是管理工具,进去后连接上数据库,然后在左侧右键点“数据库”-还原数据库,这个你就自己百度怎么 *** 作吧

先用企业管理器连一下别的数据库看看,如果连接也不成功,就是你本机数据库没有弄好;否则,就是你数据库文件本身有问题。

你的数据库文件到别的数据库上附加一下,如果还出错,证明你的数据库文件坏了,这家麻烦了,非专业人士不能救了。专业人士能不能救也两说。

5 释放磁盘空间并且重新运行恢复 *** 作,按照下面的步骤收缩日志。

sp_resetstatus 关闭数据库的置疑标志,但是原封不动地保持数据库的其它选项。

为从根本上解决这样的问题,你可以按下面的 *** 作配置SQLSERVER 2000:

a如果不需要恢复到指定的时间点,你可以将数据库的恢复模式配置为简单,这样

UPDATE,DELETE,SELECT就不会记录日志,日志就不会增加的很大:

USE MASTER

GO

ALTER DATABASE DB_NAME SET RECOVERY SIMPLE

b如果你的恢复模式是全部,你一定要配置日志字段收缩:

USE MASTER

GO

sp_dboption 'databasename','trunc log on chkpt',true

sp_dboption 'databasename','autoshrink',true

c通过每日备份将日志收缩:

BACKUP DATABASE DATABASE_NAME TO BACKUP_DEVICES

BACKUP LOG DATABASE_NAME TO LOG_DEVICES

OR

BACKUP LOG DATABASE_NAME with truncate_only

检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志并没有收缩!

d每天在备份数据库完成之后,重新启动MS SQLSERVER SERVICE

USE DATABASE_NAME

go

DBCC SHRINKFILE(2,truncateonly)

检查日志的容量:DBCC SQLPERF (LOGSPACE) 这时日志已经收缩!

e手动快速收缩日志:

/ run below script,you will shrink you database log files

immediately, in my experience,you need to run the script for 3 or

4 minutes before stopping it manually /

use databasename

dbcc shrinkfile(2,notruncate)

dbcc shrinkfile(2,truncateonly)

create table t1(char1 char(4000))

go

declare @i int

select @i=0

while(1=1)

begin

while(@i<100)

begin

INSERT INTO T1 VALUES ('A')

SELECT @I=@I+1

END

TRUNCATE table T1

BACKUP LOG youdatabasename with truncate_only

end

GO

注意 只有在您的主要支持提供者指导下或有疑难解答建议的做法时,才可以使用

sp_resetstatus。否则,可能会损坏数据库。

由于该过程修改了系统表,系统管理员必须在运行 sp_resetstatus这个过程前,启用系统表更新。要

启 用更新,使用下面的过程:

USE master

GO

sp_configure 'allow updates', 1

GO

RECONFIGURE WITH OVERRIDE

GO

过程创建后,立即禁用系统表更新:

sp_configure 'allow updates', 0

GO

RECONFIGURE WITH OVERRIDE

GO

只有系统管理员才能执行 sp_resetstatus。执行该过程后,立即关闭 SQL Server。

原困是未设置SQL SERVER登录认证模式为混合认证模式,因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。

解决方法很简单:

二"无法连接到服务器,用户xxx登陆失败"

该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,

因此用户无法使用SQL Server的登录帐户(如 sa )进行连接解决方法如下所示:

1在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server

*** 作步骤:

在企业管理器中

--右键你的服务器实例(就是那个有绿色图标的)

--编辑SQL Server注册属性

--选择"使用windows身份验证"

--选择"使用SQL Server身份验证"

--登录名输入:sa,密码输入sa的密码

--确定

2设置允许SQL Server身份登录

*** 作步骤:

在企业管理器中

--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称

--选择"属性"

--再选择"安全性"选项卡

--在"身份验证"下,选择"SQL Server和 Windows "

--确定,并重新启动SQL Server服务

在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,

那就通过修改注册表来解决此问题:

1点击"开始"-"运行",输入regedit,回车进入注册表编辑器

2依次展开注册表项,浏览到以下注册表键:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]

3在屏幕右方找到名称"LoginMode",双击编辑双字节值

4将原值从1改为2,点击"确定"

5关闭注册表编辑器

6重新启动SQL Server服务

此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,

但是仍然无法使用Windows身份验证模式来连接SQL Server

这是因为在 SQL Server 中有两个缺省的登录帐户:

BUILTIN\Administrators

<机器名>\Administrator 被删除

要恢复这两个帐户,可以使用以下的方法:

1打开企业管理器,展开服务器组,然后展开服务器

2展开"安全性",右击"登录",然后单击"新建登录"

3在"名称"框中,输入 BUILTIN\Administrators

4在"服务器角色"选项卡中,选择"System Administrators"

5点击"确定"退出

6使用同样方法添加 <机器名>\Administrator 登录

说明:

以下注册表键:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode

的值决定了SQL Server将采取何种身份验证模式

1表示使用"Windows 身份验证"模式

2表示使用混合模式(Windows 身份验证和 SQL Server 身份验证)

因为你的程序连接字符串了。

SQLServer网络配置的TCP/IP协议是否已经是否启用,检查数据库连接字符窜是否准确。

单击“开始”--“所有程序”--“Microsoft SQL Server”--“企业管理器”在打开的“控制台根目录” 选择相应的数据库,右击该数据库的中的“用户”,选择“新建数据库用户”。在“新建用户”对话 框中点击“登陆名”右侧的下拉列表框,选择“新建”,打开“新建登陆对话框”。点击名称右侧的 省略号按钮,在打开的对话框中将“列出的名称”中选择“本机的名称”,再在下面的名称框中选定“Remote Desktop Users”,然后点击“成员”按钮,双击 ASPNET然后点击确定,在“新建登陆对话 框”中的默认设置的“数据库”选项中选择相应的数据库名称,再在“数据库访问”选项下勾选相应 的数据库点击确定

以上就是关于数据库为什么打不开数据库文件全部的内容,包括:数据库为什么打不开数据库文件、请问下本地数据库无法打开时什么原因、如何解决无法打开数据库,恢复 *** 作已将数据标记为suspect。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9533357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存