錯(cuò)誤15105,從網(wǎng)上找了一些解決方案,一般都是說(shuō)文件的權(quán)限不足的問(wèn)題,
當(dāng)然附加的時(shí)候必須是有數(shù)據(jù)庫(kù)附加權(quán)限才可以操作的。
解決辦法1:給相應(yīng)的MDF文件給Full Control的權(quán)限,如果不知道是什么用戶(hù)可以去Sql Server的配置中心去找
但是我遇到這個(gè)用上述方法就不可以。
解決方法2:換個(gè)用戶(hù)試試,我原數(shù)據(jù)庫(kù)是用sa登陸的,我試著用sa登陸一下,附加成功了!~
如果反復(fù)的用sa登陸卻登陸失敗,可能是沒(méi)有開(kāi)權(quán)限。
權(quán)限可以在登陸用戶(hù)的選項(xiàng)中設(shè)置,允許登陸即可。
驗(yàn)證模式則可以在服務(wù)器處設(shè)置,要選擇混合登陸模式。
另外對(duì)高版本數(shù)據(jù)附加低版本數(shù)據(jù)庫(kù)也可以試試上面的方法。
其實(shí)我個(gè)人更喜歡用生成腳本的方式導(dǎo)結(jié)構(gòu)和數(shù)據(jù)。
在QA里執(zhí)行sp_attach_db或者sp_attach_single_file_db,出現(xiàn)提示:錯(cuò)誤1813:未能打開(kāi)新數(shù)據(jù)庫(kù)'dbname',create database 將終止。設(shè)備激活錯(cuò)誤。物理文件名'd:\sql server\mssql\data\dbname _log.ldf'可能有誤!
按下面的步驟處理:
1.新建一個(gè)同名的數(shù)據(jù)庫(kù)
2.再停掉sqlserver服務(wù)(注意不要分離數(shù)據(jù)庫(kù))
3.用原數(shù)據(jù)庫(kù)的數(shù)據(jù)文件覆蓋掉這個(gè)新建的數(shù)據(jù)庫(kù)
4.再重啟sqlserver服務(wù)
5.此時(shí)打開(kāi)企業(yè)管理器時(shí)會(huì)出現(xiàn)置疑,先不管,執(zhí)行下面的語(yǔ)句(注意修改其中的數(shù)據(jù)庫(kù)名)
6.完成后一般就可以訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)了。這時(shí),數(shù)據(jù)庫(kù)本身一般還有問(wèn)題,解決辦法是:利用數(shù)據(jù)庫(kù)的腳本創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),然后通過(guò)DTS將數(shù)據(jù)導(dǎo)進(jìn)去就行了
復(fù)制代碼 代碼如下:
use master go sp_configure 'allow updates',1 reconfigure with override go update sysdatabases set status =32768 where name='置疑的數(shù)據(jù)庫(kù)名' go sp_dboption '置疑的數(shù)據(jù)庫(kù)名', 'single user', 'true' go dbcc checkdb('置疑的數(shù)據(jù)庫(kù)名') go update sysdatabases set status =28 where name='置疑的數(shù)據(jù)庫(kù)名' go sp_configure 'allow updates', 0 reconfigure with override go sp_dboption '置疑的數(shù)據(jù)庫(kù)名', 'single user', 'false' go
Sql Server 2000附加數(shù)據(jù)庫(kù)出現(xiàn)1813錯(cuò)誤的解決方法
今天進(jìn)行了一錯(cuò)誤操作。
數(shù)據(jù)庫(kù)xxzx_discuz,因生成大量日志使日志文件'xxzx_discuz_Log.LDF' 占滿(mǎn)了磁盤(pán)所有空間,使網(wǎng)站無(wú)法正常使用數(shù)據(jù)庫(kù)。
自己圖省事分離數(shù)據(jù)庫(kù)xxzx_discuz后,直接刪除'xxzx_discuz_Log.LDF' (因?yàn)槲募?,無(wú)法存放到回收站),重新附件到SQL Server時(shí)出現(xiàn)兩個(gè)提示:
------------------------------------------------------------------------------------------------------------------------------
SQL Server 企業(yè)管理器
---------------------------
為日志文件指定的文件名不正確。
將創(chuàng)建新的日志文件。
要繼續(xù)嗎?
---------------------------
是(Y) 否(N)
------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
錯(cuò)誤 1813: 未能打開(kāi)新數(shù)據(jù)庫(kù) 'xxzx_discuz'。CREATE DATABASE 將終止。
設(shè)備激活錯(cuò)誤。物理文件名 'S:\Program Files\Microsoft SQL Server\MSSQL\data\xxzx_discuz_Log.LDF' 可能有誤。
---------------------------
確定
------------------------------------------------------------------------------------------------------------------------------
從而無(wú)法將數(shù)據(jù)庫(kù)正常附加到SQL Server 2000,正常情況下這樣操作是沒(méi)有問(wèn)題的,SQL Server會(huì)重新生成日志文件,但是因?yàn)橹俺霈F(xiàn)了磁盤(pán)空間不足,日志文件不完整,從而造成了無(wú)法正常附加。
解決辦法如下(從網(wǎng)上找來(lái)的):
0.備份數(shù)據(jù)文件'xxzx_discuz_Log.MDF'
1.新建一個(gè)同名的數(shù)據(jù)庫(kù)'xxzx_discuz'
2.再停掉sqlserver服務(wù)(注意不要分離數(shù)據(jù)庫(kù))
3.用原數(shù)據(jù)庫(kù)的數(shù)據(jù)文件'xxzx_discuz_Log.MDF' 覆蓋掉新建的數(shù)據(jù)庫(kù)
4.再重啟sqlserver服務(wù)
5.此時(shí)打開(kāi)企業(yè)管理器時(shí)會(huì)出現(xiàn)置疑,先不管,執(zhí)行下面的語(yǔ)句(注意修改其中的數(shù)據(jù)庫(kù)名) 6.完成后一般就可以訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)了。這時(shí),數(shù)據(jù)庫(kù)本身一般還有問(wèn)題,解決辦法是:利用數(shù)據(jù)庫(kù)的腳本創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),然后通過(guò)DTS將數(shù)據(jù)導(dǎo)進(jìn)去就行了. SQL代碼
復(fù)制代碼 代碼如下:
use master
go
sp_configure 'allow updates',1 reconfigure with override
go
update sysdatabases set status =32768 where name='置疑的數(shù)據(jù)庫(kù)名'
go
sp_dboption '置疑的數(shù)據(jù)庫(kù)名', 'single user', 'true'
go
dbcc checkdb('置疑的數(shù)據(jù)庫(kù)名')
go
update sysdatabases set status =28 where name='置疑的數(shù)據(jù)庫(kù)名'
go
sp_configure 'allow updates', 0 reconfigure with override
go
sp_dboption '置疑的數(shù)據(jù)庫(kù)名', 'single user', 'false'
go
特別注意最后一步中的說(shuō)明“這時(shí),數(shù)據(jù)庫(kù)本身一般還有問(wèn)題,解決辦法是:利用數(shù)據(jù)庫(kù)的腳本創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),然后通過(guò)DTS將數(shù)據(jù)導(dǎo)進(jìn)去就行了” 參考文章:Sql Server附加數(shù)據(jù)庫(kù)出現(xiàn)1813錯(cuò)誤的解決方法
您可能感興趣的文章:- sql server2005實(shí)現(xiàn)數(shù)據(jù)庫(kù)讀寫(xiě)分離介紹
- SQL Server 2005附加數(shù)據(jù)庫(kù)時(shí)Read-Only錯(cuò)誤的解決方案
- sql server2012附加數(shù)據(jù)庫(kù)問(wèn)題解決方法
- Sqlserver 2005附加數(shù)據(jù)庫(kù)時(shí)出錯(cuò)提示操作系統(tǒng)錯(cuò)誤5(拒絕訪問(wèn))錯(cuò)誤5120的解決辦法
- sqlserver附加.mdf權(quán)限問(wèn)題解決
- MSSQL2005在networkservice權(quán)限運(yùn)行附加數(shù)據(jù)庫(kù)報(bào)(Microsoft SQL Server,錯(cuò)誤: 5120)
- SQL SERVER 2008 無(wú)法附加數(shù)據(jù)庫(kù)的解決方法
- SQLServer 附加數(shù)據(jù)庫(kù)后出現(xiàn)只讀或失敗的解決方法
- mssql server .ldf和.mdf的文件附加數(shù)據(jù)庫(kù)的sql語(yǔ)句
- SQL Server 數(shù)據(jù)庫(kù)分離與附加 就這么簡(jiǎn)單!