zoukankan      html  css  js  c++  java
  • 使用 sp_attach_db 系统存储过程附加数据库时---转载

    //附加数据库
    sp_attach_db
    当使用 sp_attach_db 系统存储过程附加数据库时。

    sp_attach_db:将数据库附加到服务器。
    语法
    sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ]

    参数
    [@dbname =] 'dbname'
    要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。

    [@filename1 =] 'filename_n'

    数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。
    参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。
    该列表还必须包括数据库分离后所有被移动的文件。

    返回代码值:0(成功)或 1(失败)


    eg:下面的示例将 pubs 中的两个文件附加到当前服务器。

    ①:EXEC sp_attach_db 'cxdata', 'D:Microsoft SQL ServerMSSQL$MSAUDITTDDatacxdata_Data.MDF'

    ②:EXEC sp_attach_db @dbname = N'pubs',
       @filename1 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf',
       @filename2 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs_log.ldf'

    ③:EXEC sp_attach_db @dbname = N'Ty20051029101451aaa',
       @filename1 = N'd:5屏幕Ty20051029101451aaa_data.mdf',
       @filename2 = N'd:5屏幕Ty20051029101451aaa_log.ldf'
    ---解决问题了


    //删除数据库
    DROP DATABASE   
          从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。

    语法 :DROP DATABASE database_name [ ,...n ]

    参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。
    eg:   exec sp_helpdb database_name

    exec Drpo DataBase [Ty20051029101451aaa]


    //分离数据库
    可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。
    sp_detach_db Archive
    GO
    CREATE DATABASE Archive
    ON PRIMARY (FILENAME = 'c:program filesmicrosoft sqlservermssqldataarchdat1.mdf')
    FOR ATTACH
    GO


    //显示当前数据库信息
    --select * from Master..sysDatabases

    //新建---不行啊
    CREATE DATABASE TestOA
    ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE
    RESTORE DATABASE TestOA From disk='C:Documents and SettingsAdministrator桌面帐套dataTemplate.Dat'
    ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE

    exec sp_detach_db Km20051030011601  --分离数据库
    exec sp_attach_single_file_db km20051030011601,'D:TestDatabaseKm20051030011601.mdf'--只附加.mdf文件

    //附加数据库
    sp_attach_db
    当使用 sp_attach_db 系统存储过程附加数据库时。

    sp_attach_db:将数据库附加到服务器。
    语法
    sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ]

    参数
    [@dbname =] 'dbname'
    要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。

    [@filename1 =] 'filename_n'

    数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。
    参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。
    该列表还必须包括数据库分离后所有被移动的文件。

    返回代码值:0(成功)或 1(失败)

    eg:下面的示例将 pubs 中的两个文件附加到当前服务器。

    EXEC sp_attach_db @dbname = N'pubs',
    @filename1 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs.mdf',
    @filename2 = N'c:Program FilesMicrosoft SQL ServerMSSQLDatapubs_log.ldf'

    EXEC sp_attach_db @dbname = N'Ty20051029101451aaa',
    @filename1 = N'd:5屏幕Ty20051029101451aaa_data.mdf',
    @filename2 = N'd:5屏幕Ty20051029101451aaa_log.ldf'
    ---解决问题了

    //删除数据库
    DROP DATABASE
    从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。

    语法 :DROP DATABASE database_name [ ,...n ]

    参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。
    eg: exec sp_helpdb database_name

    exec Drpo DataBase [Ty20051029101451aaa]

    //分离数据库
    可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。
    sp_detach_db Archive
    GO
    CREATE DATABASE Archive
    ON PRIMARY (FILENAME = 'c:program filesmicrosoft sqlservermssqldataarchdat1.mdf')
    FOR ATTACH
    GO

    //显示当前数据库信息
    --select * from Master..sysDatabases

    //新建---不行啊
    CREATE DATABASE TestOA
    ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE
    RESTORE DATABASE TestOA From disk='C:Documents and SettingsAdministrator桌面帐套dataTemplate.Dat'
    ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE

    exec sp_detach_db Km20051030011601 --分离数据库
    exec sp_attach_single_file_db km20051030011601,'D:TestDatabaseKm20051030011601.mdf'--只附加.mdf文件

  • 相关阅读:
    流式布局思想 js函数的几种简写方式 面向对象 js vue引入bootstrap和jQuery环境
    04--CBV源码分析 Django的settings源码分析 模板层
    C#使用委托和事件来重写串口的接收数据方法DataReceived方法完成数据的接收处理
    自定义控件的封装、常用的鼠标事件的重载、定时器的使用、event事件以及事件过滤器、文件操作以及文本流和数据流的使用
    QT的优点、项目文件目录、main函数、QpushButton、对象树、Qt中坐标系、Qt中信号和槽、自定义信号和槽、信号和槽的拓展、Qt4版本中的信号和槽的缺点、Lambda表达式
    Stylet框架显示自定义界面的步骤
    MahApps.Metro使用
    async和await的使用
    第一个WPF程序(串口调试)
    结构、类、属性:以及面向对象的各种特性继承、封装、多态
  • 原文地址:https://www.cnblogs.com/bedfly/p/12247379.html
Copyright © 2011-2022 走看看