zoukankan      html  css  js  c++  java
  • sqlserver的兩種數據轉移方法

    第一種
    (轉貼自http://herald.seu.edu.cn/blog/dipper/articles/2733.aspx)
    按下面的步骤处理:

    1.新建一个同名的数据库
    2.再停掉sql server(注意不要分离数据库)
    3.用原数据库的数据文件覆盖掉这个新建的数据库
    4.再重启sql server
    5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)
    6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
    数据库的脚本创建一个新的数据库,并将数据导进去就行了. (這裡很重要,務必在能夠訪問數據時,將該數據庫導入到一個新的數據庫中,因為當重啟sqlserver後就可能訪問不到了.)

    USE MASTER
    GO
    SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
    GO
    UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
    Go
    sp_dboption '置疑的数据库名', 'single user', 'true'
    Go
    DBCC CHECKDB('置疑的数据库名')
    Go
    update sysdatabases set status =28 where name='置疑的数据库名'
    Go
    sp_configure 'allow updates', 0 reconfigure with override
    Go
    sp_dboption '置疑的数据库名', 'single user', 'false'
    Go

    第二種
    這種方法如果成功,那就可以不用再做其他處理,可以直接使用.
    USE MASTER
    GO
    EXEC sp_detach_db @dbname ='gcs_asp' --可自定義,但與下面保持一致,MDF文件名可不同
    EXEC sp_attach_single_file_db @dbname ='gcs_asp',@physname = 'f:\mssql\mssql\data\gcs_asp_Data.MDF'
    GO

    實際上比較正常的方法是
    先倒出數據庫的所有sql腳本,再倒出數據,如access(*.mdb)
    當建立新的數據庫時,就可在該庫中先執行sql腳本,然後導入數據
  • 相关阅读:
    JavaOOP对象和封装
    使用socket实现文件复制
    多线程模拟银行取款
    初入多线程示例展示--Runner
    初步学习多线程3
    初步学习多线程2
    初步线程学习1
    守护线程_setDaemon()
    多线程_yield()和sleep()方法比较
    java_多线程_优先级
  • 原文地址:https://www.cnblogs.com/oisiv/p/184929.html
Copyright © 2011-2022 走看看