不是这么打开的,首先你这个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。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)