SQL 2005附加数据库为只读的解决方法(附图)
SQL Server2005常见错误及解决方案

看你的报错,应该是服务器上没有开启管道支持,看到网上有人有同样问题,就把解决方案给你贴过来,你远程桌面进SQL Server 服务器上试一下:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具'-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005今天做JSP项目连接数据库,结果报错,出错的原因是:'用户’sa’ 登录失败.该用户与可信SQL Server 连接无关联'.今天上网上查了半天还是搞不定,最后经过网上和书上的汇总,具体的方法是:1:打开SQL Server Manager管理器!在左面找到‘安全性’ 单击右键选择‘新建”,“登录" 弹出一个对话框,在登录名中输入你的登录号,选择’SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。
点击‘用户映射',在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db—owner’和‘public'前面打勾.然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。
弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“S QL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了! 3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!结果找了网上所有方法还是没用,最后发现还是出现在着急上忘记启动服务器,关键时刻,就是不冷静各位不要学我啊切记:一定要把SQL2005服务重启才生效。
数据库置疑,分离后无法再附加上去处理办法

修复置凝的数据库方法--世纪商通技术部修复受损的mdf文件(无ldf文件):-------------------------------------------------------------------------分离置凝的数据库,备份数据库文件(把原数据库文件移到其他文件夹),然后按下面的步骤处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了.USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名' Gosp_dboption '置疑的数据库名', 'single user', 'true'GoDBCC CHECKDB('置疑的数据库名')Goupdate sysdatabases set status =28 where name='置疑的数据库名'Gosp_configure 'allow updates', 0 reconfigure with overrideGosp_dboption '置疑的数据库名', 'single user', 'false'如果是日志文件有问题,你可以重建日志事试试,有可能是日志文件有问题。
数据库状态为置疑.只读.脱机.紧急模式时的解决办法

SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法2010-05-08 18:44这是SQL2000常遇到的错误,楼主按照以下方法修复,修复完,检查一下数据库是否已完全修复,没完全修复时最低都可导出数据,要用数据库生成一个空库脚本,把修复数据库的数据用DTS导入到新库。
A.建立一个供恢复使用的数据库我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。
可以在SQL Server Enterprise Manager 里面建立。
B.停掉数据库服务器。
C.调整数据库与日志文件.将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。
D.启动数据库服务器。
此时会看到数据库iBusinessWork的状态为“置疑”。
这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoF.设置iBusinessWork为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('iBusinessWork')关闭打开企业管理器,此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复操作,重建数据库日志文件dbcc rebuild_log('iBusinessWork','E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf')执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行 1未能排它地锁定数据库以执行该操作。
图文解析SQLServer2005与2000兼容性数据库教程-电脑资料

图文解析SQLServer2005与2000兼容性数据库教程-电脑资料看来,你已经决定要从SQL Server 2000升级到SQL 2005了,。
你可能已经在你的桌面电脑和测试环境中安装了一个SQL Server 2000的实例并想要进行适当的升级。
或者你可能只是想安装一个新的SQL Server 2005实例。
本文将主要关注安装新实例时可能遇到的问题,同时本文也将对两个版本之间交互的选项(比如连接服务器、多服务器管理、日志传递)进行分析。
在SQL 2000主机上安装SQL Server 2005如果你想在你的SQL Server 2000主机上安装SQL Server 2005,那你的主机上应该至少安装了Service Pack 3a,最好能够安装SP4。
在将SQL Server 2005安装到SQL 2000主机上时,你可能会遇到如下问题:安装向导无法识别默认的SQL Server 2000实例。
由于安装向导可能无法识别默认的SQL Server 2000实例,他可能会要求你安装默认的SQL Server 2005实例。
尽管安装完全成功,但新的2005实例实际上并未被安装。
为此,你必须要卸载并重新安装2005实例,并在新的安装过程中,输入一个命名的实例。
SQL Server 2000代理不能重新启动。
在完全安装后,SQL Server 2000的代理可能无法重新启动,一般来说,只要在代理服务器中重新输入密码就能解决这一问题。
在安装2005后,在数据库服务器运行时,2000的企业管理器不能工作。
如果企业管理器在安装2005后不能工作,请参照微软在Co-exist of SQL Server 2000 and SQL 2005中所述的方法。
1.点击开始,点击运行,输入regedit 然后点击OK。
2.在注册表中找到如下子HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoftSQLS erver80ToolsClientSetup3.右击客户端安装子键,选择新建,而后点击字符串值。
SQLServer 附加数据库后出现只读或失败的解决方法

解决此问题的几个关键点如下:1、该现象只会出现在NTFS文件系统中。
2、由NTFS文件系统的访问权限导致。
一般手工操作的解决方案如下:1、控制面板—>文件夹选项—>查看关闭“使用简单文件共享(推荐)”2、选择存放数据库文件的文件夹,右键选择属性,这时会多出一个“安全”选项卡,选择最后一个用户,将该用户的权限设为“完全控制”。
经过这两步操作后,数据库附加失败或附加后只读的问题即可解决。
下面重点讲这两步,用C#代码的实现,因为当我们为项目打包后,不可能让用户手工来执行这些操作1、C#关闭简单文件共享的代码实现在百度、Google搜索此问题解决方法时,很多的操作方法并不正确,经过自己实际操作测试,正确方法如下:注册表文件:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "forceguest"=dword:00000000批处理:reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v forceguest /t REG_WORD /d 0x00000000 /f如果选中此项,则将上述 0x00000000 改为 0x00000001。
通过修改注册表的方式实现代码如下:Microsoft.Win32.RegistryKey key =Microsoft.Win32.Registry.LocalMachine;Microsoft.Win32.RegistryKey software =key.OpenSubKey(@"SYSTEM\CurrentControlSet\Control\Lsa", true); software.SetValue("forceguest", 0);2、C#修改指定文件夹的用户访问权限代码实现如下:(将该用户的权限设置为可写)string path = this.Context.Parameters["targetdir"];//得到文件夹路径DirectoryInfo dInfo = new DirectoryInfo(path);DirectorySecurity dSecurity = dInfo.GetAccessControl();dSecurity.AddAccessRule(new FileSystemAccessRule(erName, FileSystemRights.CreateFiles, AccessControlType.Allow));dInfo.SetAccessControl(dSecurity);。
SQLServer2005数据库可疑状态解决办法

SQLServer2005数据库可疑状态解决办法(2012-04-08 23:08:53)转载▼标签:分类:业务交流数据库sqlserverit服务器异常断电,或者系统异常关机等都可能引起SQLServer2005数据库实例状态变成可疑,导致数据库实例无法正常启动。
这里介绍一个不用分离-附加的好办法,将数据库置为应急状态处理,回退掉异常状态时没有保存的数据信息。
新建查询,输入如下语句,执行即可:USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDEGOALTER DATABASE DB_NAME SET EMERGENCYGOsp_dboption DB_NAME 'single user', 'true'GODBCC CHECKDB(' DB_NAME ','REPAIR_ALLOW_DATA_LOSS')GOALTER DATABASE DB_NAME SET ONLINEGOsp_configure 'allow updates', 0 reconfigure with overrideGOsp_dboption ' DB_NAME ', 'single user', 'false'GOSQL2005里的数据库变成可疑,分离后附加...(离问题结束还有0天0小时)服务器上2005的数据库,a数据库某天后面突然多了可疑两字,分离后,附加不上去了。
现在只有mdf文件好用,根据提示好像是ldf文件受损。
在网上了找了很多资料,不过大多是根据2000来的,我试过其中一个说是新建一个数据库,将要还原的数据库的mdf文件覆盖它的,怎样,怎样,结果还是不行,测试数据库并没有出现他说的紧急状态,如何修改呢?还有就是改成了紧急状态后又如何将它改成正常状态呢?救命呀,请各位帮帮忙,急死人了。
Sqlserver2005附加数据库时出错提示操作系统错误5
Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)的
解决办法
Sql Server2005附加数据库文件时弹出错误信息:如下图:
方案一:切换登录方式
出现这种情况是由于用“混合验证方式”(SQL Server身份验证)登录数据库造成的,只要将登录方式改为“windows身份验证方式”
登录即可解决该问题,附加成功后再换用“混合验证模式”登陆就没问题了。
方案二:修改服务
选择所有程序-SQL Server 2005-配置工具-选择"SQL Server Configuration Manager"或者“SQL Server 配置管理器”,打开“SQL Server Configuration Manager”配置界面,在左侧选择"SQL Server 2005 服务",在右侧右击打开“SQL Server (SQLEXPRESS)”的属性,在内置账户处将网络服务--”Network Service”改为本地系统--"Local System",点击“重新启动”后再附加数据库就OK了。
主要配置过程如下图:
1.打开“SQL Server Configuration Manager”配置界面
2.选择SqlServer(SQLEXPRESS),选项,并右击
3.选择“Local System”
4.选择“重新启动”
5.配置成功。
sql server 2005 常见问题-朱园艳-2011-1-6
SQL Server常见问题汇总1. SQL Server 2005 不允许远程连接解决方法问题:刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。
(provider: 命名管道提供程序, error: 40 - 无法打开到SQL Server 的连接)。
解决方法:明白了SQL Server是个网络数据库就可迎刃而解了,分下面的几种情况。
1. 数据库引擎没有启动。
有两种启动方式:(1) 开始->程序->Microsoft SQL Server 2005->SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;(2) 开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动。
使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置->MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了.2. 是否已经允许远程连接。
修复SQLSERVER2005 数据库一致性错误与分配错误
修复SQLSERVER 数据库一致性错误与分配错误来源:本站转载作者:佚名时间:2012-10-14 TAG:我要投稿一、把数据库置为单用户模式:sp_dboption '数据库名称', 'single user', 'true'二、在允许数据丢失情况下修复数据库:DBCC checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS)如果执行一次不行,可以在多执行几次直到没有再提示数据库有错误为止。
三、把数据库重新设置为多用户模式:sp_dboption '数据库名称', 'single user', 'false'这样这个数据库的错误修复就完成了。
然后停止掉SQLSERVER,重新启动服务器就可以。
这种方法对于一般出现问题可以不用安装企业管理器,直接在服务器用OSQL –E 进入数据库,然后通过上面两条命令来修复数据库。
这样速度比较快!其他人提供的方法:一、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('需要修复的数据库名称') 检查数据库是否仍旧存在错误。
数据库为只读的解决方法
SQL Server 2005 Express附加的数据库为“只读”的解决方法问题:附加上数据库后,操作过程中遇到错误提示:数据库为“只读”。
如下图:解决方案一:打开SQL Server 数据库服务, 右击打开SQL Server SQLEXPRESS 的属性,如下图:将登陆身份选为内置账户:本地系统(local system)或如下图:在“内置帐号”处,把“网络服务”改成“本地系统”后,重新启动重启服务,重新分离附加数据库。
总结:之所以附加上的数据库为“只读”,是因为启动SQL Server 的默认的启动帐号“网络服务”对所附加的数据库文件的权限不够造成的。
解决方案二:当我们在附加SQL Server数据库的时候,会出现附加失败,或附加成功后数据库是只读的。
也会导致在安装和部署项目中的自动附加数据库操作失败。
解决此问题的几个关键点如下:1、该现象只会出现在NTFS文件系统中。
2、由NTFS文件系统的访问权限导致。
一般手工操作的解决方案如下:1、控制面板—>文件夹选项—>查看关闭“使用简单文件共享(推荐)”2、选择存放数据库文件的文件夹,右键选择“属性”——“安全”选项卡,选择最后一个用户,将该用户的权限设为“完全控制”。
经过这两步操作后,数据库附加失败或附加后只读的问题即可解决。
解决方案三:用C#代码的实现,因为当我们为项目打包后,不可能让用户手工来执行这些操作1、C#关闭简单文件共享的代码实现注册表文件:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] "forceguest"=dword:00000000批处理:reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v forceguest /t REG_WORD /d 0x00000000 /f如果选中此项,则将上述0x00000000 改为0x00000001。