首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver怎么修改primary的路径和日志路径

2014-01-05 
sqlserver如何修改primary的路径和日志路径?1.前言。对于已经建库的数据库来说,这个有点麻烦,最好刚建库的

sqlserver如何修改primary的路径和日志路径?
1.前言。
   对于已经建库的数据库来说,这个有点麻烦,最好刚建库的时候就不要分配到c盘。
2.步骤
(1)先备份好你的数据库,防止误操作丢失!
(2)先拷贝你的mdf和ldf到空间比较大的磁盘,如d:\data1,这里的路径自己去创建一个。把mdf和ldf两个文件拷到d:\data1。
(3).分离数据库

EXEC sp_detach_db 'pubs', 'true'--分离数据库

如果此步失败,可尝试
USE [master]GO/****** 对象:  StoredProcedure [dbo].[killspid]    脚本日期: 01/03/2014 15:11:19 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO  ALTER     proc     [dbo].[killspid]     (@dbname     varchar(20))        as        begin        declare     @sql     nvarchar(500),@temp   varchar(1000)    declare     @spid     int        set     @sql='declare     getspid     cursor     for            select     spid     from     sysprocesses     where     dbid=db_id('''+@dbname+''')'        exec     (@sql)        open     getspid        fetch     next     from     getspid     into     @spid        while     @@fetch_status<>-1        begin            set   @temp='kill     '+rtrim(@spid)        exec(@temp)    fetch     next     from     getspid     into     @spid        end        close     getspid        deallocate     getspid        end      

然后执行 exec [dbo].[killspid] pubs   --pubs为你的数据库名字,将所有占用线程结束。
(4)删除或者重命名原来的日志文件(最好重命名),然后附加数据库,此步骤在master用户下操作
EXEC sp_attach_db @dbname = N'pubs',    @filename1 = N'd:\data1\pubs.mdf',    @filename2 = N'd:\data1\pubs_log.ldf' 附加

  如果此步失败,可以尝试
sp_attach_single_file_db @dbname = 'pubs',@physname = 'D:\data1\pubs.mdf'

  这个是只恢复mdf,没有日志参数,没关系,系统会自动提示你创建了一个新文件在D:\data下面了,而不是c盘,至此附加成功。
3.注意事项。
   一定要注意先备份数据库!!。

热点排行