sqlserver如何修改primary的路径和日志路径?

sqlserver如何修改primary的路径和日志路径?,第1张

概述1.前言。    对于已经建库的数据库来说,这个有点麻烦,最好刚建库的时候就不要分配到c盘。 2.步骤 (1)先备份好你的数据库,防止误 *** 作丢失! (2)先拷贝你的mdf和ldf到空间比较大的磁盘,如d:\data1,这里的路径自己去创建一个。把mdf和ldf两个文件拷到d:\data1。 (3).分离数据库 EXEC sp_detach_db 'pubs', 'true'--分离数据库 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.注意事项。    一定要注意先备份数据库!!。 总结

以上是内存溢出为你收集整理的sqlserver如何修改primary的路径和日志路径?全部内容,希望文章能够帮你解决sqlserver如何修改primary的路径和日志路径?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/1171927.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-02
下一篇2022-06-02

发表评论

登录后才能评论

评论列表(0条)

    保存