成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談如何在SQL Server 2008中附加一個(gè)數(shù)據(jù)庫

數(shù)據(jù)庫 SQL Server 數(shù)據(jù)庫運(yùn)維
對(duì)于在Microsoft SQL Server 2008中附加一個(gè)數(shù)據(jù)庫,是本文的重點(diǎn),其中還有對(duì)于出現(xiàn)錯(cuò)誤的解決方法。

51CTO向您推薦《SQL Server 2008深度應(yīng)用》,相信通過本專題,能讓您更深刻的了解SQL Server 2008。

在SQL Server 7.0中,微軟推出了sp_attach_db和sp_attach_single_file_db系統(tǒng)存儲(chǔ)過程。它對(duì)于SQL Server數(shù)據(jù)庫管理員執(zhí)行下面的任務(wù)是非常方便的:

使用sp_attach_db系統(tǒng)存儲(chǔ)過程直接將.MDF和.LDF文件附加到服務(wù)器。

使用sp_attach_single_file_db系統(tǒng)存儲(chǔ)過程只附加.MDF文件。

使用sp_detach_db將數(shù)據(jù)庫從一個(gè)服務(wù)器分離,復(fù)制.MDF文件到另一個(gè)服務(wù)器上,然后使用sp_attach_db系統(tǒng)存儲(chǔ)過程重新附加這些文件到兩個(gè)服務(wù)器上。

盡管它對(duì)于SQL Server數(shù)據(jù)庫管理員是很有用的,但是在使用這兩個(gè)存儲(chǔ)過程時(shí)是有一些限制的。限制如下:

你不能附加多個(gè)日志文件

你不能附加16個(gè)以上的文件

在SQL Server 2008中,微軟宣布上面的系統(tǒng)存儲(chǔ)過程將在未來的版本中被廢棄。而他們?cè)?ldquo;Create Database”SQL語句中添加了一個(gè)從句“For Attach”。

這篇文章將介紹使用“For Attach”從句的多種方法,以克服在使用sp_attach_db和sp_attach_single_file_db時(shí)要面臨的限制。

假設(shè)我們有一個(gè)數(shù)據(jù)庫叫“MyDB1”,它有一個(gè).MDF文件和一個(gè).LDF文件。使用下面的事務(wù)SQL語句創(chuàng)建這個(gè)數(shù)據(jù)庫。再假設(shè).MDF文件和.LDF文件的位置是“C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database DataData File for Monthly ArchiveMicrosoft SQL Server 2008 Data File”。

  1. Use Master   
  2. go   
  3. CREATE DATABASE MyDB1   
  4. ON   
  5. NAME = MyDB1_dat,   
  6. FILENAME = 'C:Program Files   
  7. Microsoft SQL ServerMSSQL10.SQL2008MSSQLDATA   
  8. Summary Database DataData File for Monthly Archive   
  9. Microsoft SQL Server 2008 Data FileMyDB1.mdf',   
  10. SIZE = 10,   
  11. MAXSIZE = 50,   
  12. FILEGROWTH = 5 )   
  13. LOG ON   
  14. NAME = MyDB1_log,   
  15. FILENAME = 'C:Program Files   
  16. Microsoft SQL ServerMSSQL10.SQL2008MSSQLDATA   
  17. Summary Database DataData File for Monthly Archive   
  18. Microsoft SQL Server 2008 Data FileMyDB1.ldf',   
  19. SIZE = 5MB,   
  20. MAXSIZE = 25MB,   
  21. FILEGROWTH = 5MB )   
  22. GO  

現(xiàn)在,讓我們分離該數(shù)據(jù)庫,并嘗試使用sp_detach_db和 sp_attach_db將它重新附加。執(zhí)行下面的事務(wù)SQL語句。

  1. use master   
  2. go   
  3. sp_detach_db 'MyDB1'   
  4. go   
  5. sp_attach_db 'MyDb1',   
  6. 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  7. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.mdf',   
  8. 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  9. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.ldf'   
  10. GO   
  11. 你可以使用具有“For Attach”從句的“Create database”命令附加上相同的數(shù)據(jù)庫文件,如下所示。   
  12. use master   
  13. go   
  14. sp_detach_db 'MyDB1'   
  15. go   
  16. CREATE DATABASE MyDB1   
  17. ON   
  18. (   
  19. FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  20. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.mdf'   
  21. ),   
  22. (   
  23. FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  24. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.ldf'   
  25. for Attach   
  26. go  

現(xiàn)在,讓我們分離數(shù)據(jù)庫MyDB1,然后刪除.ldf文件,再然后使用sp_attach_single_file_db系統(tǒng)存儲(chǔ)過程通過執(zhí)行下面的TSQL命令將它重新附加上。

  1. use master   
  2. go   
  3. sp_detach_db 'MyDB1'   
  4. go   
  5. exec master..xp_cmdshell 'del "C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  6. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.ldf"'   
  7. go  

注意:我使用xp_cmdshell來刪除.ldf文件。如果xp_cmdshell沒有激活,那么你將得到下面的錯(cuò)誤。

錯(cuò)誤:

  1. Msg 15281, Level 16, State 1, Procedure xp_cmdshell, Line 1   
  2. SQL Server blocked access to procedure 'sys.xp_cmdshell' of component 'xp_cmdshell'   
  3. because this component is turned off as part of the security configuration for   
  4. this server. A system administrator can enable the use of 'xp_cmdshell' by using   
  5. sp_configure. For more information about enabling 'xp_cmdshell', see   
  6. "Surface Area Configuration" in SQL Server Books Online.  

你可以使用下面的事務(wù)SQL語句來激活xp_cmdshell。 

  1. use master   
  2. go   
  3. sp_configure 'show advanced options',1   
  4. go   
  5. reconfigure with override   
  6. go   
  7. sp_configure 'xp_cmdshell',1   
  8. go   
  9. reconfigure with override   
  10. go  

或者,你可以在MS-DOS命令提示符中使用Windows資源管理器的“Del”命令來刪除.ldf文件。

現(xiàn)在,讓我們只使用sp_attach_single_file_db來附加.MDF文件。執(zhí)行下面所示的命令。

  1. use master   
  2. go   
  3. sp_attach_single_file_db 'MyDB1',   
  4. 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  5. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.mdf'   
  6. go  

結(jié)果

  1.  File activation failure. The physical file name  
  2. "C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data  
  3. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.ldf" may be incorrect.  
  4. New log file 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data  
  5. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1_log.LDF' was created. 

你可以只通過使用帶有“For ATTACH_REBUILD_LOG”從句的“Create database”命令來附加相同的數(shù)據(jù)庫.MDF文件,如下所示。 

  1. use master   
  2. go   
  3. sp_detach_db 'MyDB1'   
  4. go   
  5. exec master..xp_cmdshell 'del   
  6. "C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  7. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1_log.ldf"'   
  8. go  

注意:當(dāng)日志文件被重新創(chuàng)建時(shí),SQL Server自動(dòng)對(duì)日志文件名稱添加后綴“_log”。

  1. CREATE DATABASE MyDB1   
  2. ON   
  3. (   
  4. FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database Data   
  5. Data File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1.mdf'   
  6. for ATTACH_REBUILD_LOG  

結(jié)果:

  1. File activation failure. The physical file name "C:Program FilesMicrosoft SQL Server   
  2. MSSQL10.SQL2008MSSQLDATASummary Database DataData File for   
  3. Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1_log.LDF" may be incorrect.   
  4. New log file 'C:Program FilesMicrosoft SQL ServerMSSQL10.SQL2008MSSQLDATASummary Database   
  5. DataData File for Monthly ArchiveMicrosoft SQL Server 2008 Data FileMyDB1_log.LDF' was created.  

總結(jié)

本文介紹了帶有“For Attach”和“for ATTACH_REBUILD_LOG”用于一個(gè)單獨(dú)的.MDF文件和一個(gè)單獨(dú)的.LDF文件的“Create Database”語句的使用。

【編輯推薦】

  1. SQL Server 2008行數(shù)據(jù)和頁數(shù)據(jù)壓縮解密
  2. 圖解SQL Server 2008 R2主數(shù)據(jù)服務(wù)安裝
  3. 理解SQL Server 2008索引的存儲(chǔ)結(jié)構(gòu)
  4. SQL Server移動(dòng)系統(tǒng)數(shù)據(jù)庫開發(fā)詳解
  5. SQL Server 2008 R2十大新特性解析

 

責(zé)任編輯:彭凡 來源: IT專家網(wǎng)
相關(guān)推薦

2011-03-11 13:26:23

SQL Server數(shù)導(dǎo)入數(shù)據(jù)

2010-07-06 14:40:15

解決SQL Serve

2011-04-06 15:36:56

SQL Server數(shù)

2009-07-15 15:18:01

JDBC連接SQL S

2018-03-06 09:30:58

2020-08-26 14:45:34

SQL數(shù)據(jù)庫數(shù)次

2009-03-19 09:30:59

2011-08-11 14:23:57

SQL Server 索引分區(qū)

2018-02-25 17:30:18

2023-09-05 00:06:45

2010-07-15 17:28:50

SQL Server

2011-03-18 09:48:32

2011-03-02 17:41:28

2010-12-17 09:11:41

SQL Server

2009-06-22 10:22:57

SQL Server

2009-04-10 09:22:48

SQL Server并發(fā)測(cè)試

2011-04-06 11:34:52

SQL Server數(shù)查詢優(yōu)化

2011-08-15 11:24:46

SQL Server事務(wù)

2010-07-14 14:36:24

SQL Server附

2017-03-15 16:45:02

SQL Server 數(shù)據(jù)庫分配用戶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品在线 | 亚洲一级黄色 | 影音先锋中文字幕在线观看 | 久草资源网站 | 91精品国产综合久久福利软件 | av在线视| 午夜激情影院 | 日批免费在线观看 | av在线播放网站 | 日本色综合 | 日韩av三区 | 97精品久久 | 国产视频福利在线观看 | 欧美一级二级三级视频 | 老头搡老女人毛片视频在线看 | 成人精品| 在线色网址 | 欧美亚洲国产一区二区三区 | 麻豆av片 | 不卡一二三区 | 日韩精品久久一区 | 91精品久久| 亚洲 欧美 日韩 在线 | 日韩一区不卡 | 嫩草影院网址 | av国产精品毛片一区二区小说 | 久草视频在线播放 | 干狠狠 | 国产精品日韩 | 亚洲色在线视频 | 夜夜骑首页 | 蜜臀久久| 亚洲国产欧美一区二区三区久久 | 精品亚洲一区二区 | 成人永久免费 | 午夜精品久久 | 久久新| 日本久久精 | 综合国产 | 日韩1区| 在线观看精品视频网站 |