当使用 sp_attach_db 系统存储过程附加数据库时- -
Tag: 当使用 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 @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_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 files\microsoft sqlserver\mssql\data\archdat1.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 Settings\Administrator\桌面\帐套\data\Template.Dat'
ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE
exec sp_detach_db Km20051030011601 --分离数据库
exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件
关注流行国外网站
facebook:http://www.fb-on.com
facebook官网:http://www.facebookzh.com
facebook:http://www.cn-face-book.com
youtube:http://www.youtubezh.com
twitter:http://www.twitterzh.com
分享到:
相关推荐
【使用SQL语句管理数据库】主要涉及的是对数据库进行创建、修改、删除以及分离和附加等操作,这些操作是数据库管理的基础。其中,T-SQL(Transact-SQL)是微软SQL Server中使用的数据库查询和编程语言,它扩展了标准...
可以通过以下T-SQL语句查询数据库的状态: ```sql SELECT name, is_read_only FROM sys.databases WHERE name = '数据库名称'; ``` 如果查询结果中的`is_read_only`字段为1,则表明该数据库当前处于只读状态。 ##...
- 创建一个`SqlCommand`对象,设置其命令文本为分离数据库的T-SQL语句:`ALTER DATABASE [DatabaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;` 这将使数据库处于单用户模式,以便安全地进行分离。 - 执行`...
- 如果数据库文件是从另一个SQL Server实例中分离出来的,那么在附加之前还需要确保数据库文件版本与目标SQL Server实例兼容。 - 在使用`FOR ATTACH`选项时,应确保指定的文件路径正确无误。 #### 六、总结 通过对...
#### 一、分离数据库脚本解析 首先,我们来看一下分离脚本的部分: ```batch @echooff ECHOʼݿ FOR %%I IN (*.mdf) DO sqlcmd -Q "EXEC master.dbo.sp_detach_db @dbname=N'%%~nI', @keepfulltextindexfile=N'...
* 使用系统存储过程分离数据库:使用 T-SQL 语句分离数据库 testbase2。 3. 数据库文件备份 * 分离数据库 testbase1,复制其物理文件到指定位置。 * 停止“SQL Server2005 服务”,复制数据库 testbase1 物理文件...
2. 再停掉 SQL Server 服务(注意不要分离数据库) 3. 用原数据库的数据文件覆盖掉这个新建的数据库 4. 再重启 SQL Server 服务 5. 此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库...
在SQL Server数据库管理中,附加数据库是一个常见的操作,它...同时,它也可以作为一个基础,扩展到其他数据库操作,如分离数据库、备份和恢复等。通过深入学习和实践,你可以在数据库管理和应用开发方面变得更加熟练。
这种错误通常发生在尝试附加一个之前从另一台服务器上分离出来的数据库时。此错误可能由多种因素引起,包括但不限于文件路径不正确、文件损坏或数据库版本不匹配等。 #### 二、错误分析 当遇到“SQL Server 2005...
可以使用`CREATE DATABASE`语句附加数据库,例如: ```sql CREATE DATABASE 数据库名 ON PRIMARY (FILENAME='') ``` 注意:在附加数据库时,只需指定数据库的主数据文件。 使用T-SQL语句可以完成创建、修改和管理...
- 分离数据库:更改数据库状态为单用户模式,删除连接并分离数据库,实现备份和复制。 - 附加数据库:通过图形界面附加数据库,包括选择主数据文件并完成附加过程。 4. 备份与恢复数据库: - 备份数据库:使用 ...
### 使用SQL语句实现分离和附加数据库的方法 #### 概述 在数据库管理过程中,有时候我们需要将数据库从一个实例移动到另一个实例,或是为了备份、迁移等目的进行数据库的分离与附加操作。本文将详细介绍如何使用SQL...
首先,我们要理解附加和分离数据库的概念。附加数据库是指将一个已存在但未连接到SQL Server实例的数据文件(MDF)和日志文件(LDF)连接到服务器,使其成为可用的数据库。分离数据库则是断开数据库与SQL Server实例...
可以使用以下语句附加数据库: ```sql CREATE DATABASE 数据库名 ON PRIMARY (FILENAME='') ``` 例如,附加名为 "pany" 的数据库: ```sql CREATE DATABASE pany ON PRIMARY (FILENAME='') ``` 也可以使用存储过程...
通过查询`DATABASEPROPERTYEX('MASTER','VERSION')`的SQL语句,可以查看当前SQL Server实例的主数据库的内部版本号。 这种版本间的不兼容性是数据库升级过程中的常见挑战,尤其是在跨越多个主要版本时。为了减少这...
1. 打开企业管理器,找到需要改名的数据库,右键点击该数据库,选择“所有任务”菜单中的“分离数据库”。 2. 到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下,找到 Old_Data.mdf 和 Old_log.ldf 文件...
2. **SqlCommand**:用于执行SQL命令,如分离或附加数据库的Transact-SQL语句。 3. **SqlManagementObjects (SMO)**:这是微软提供的一个强大的工具集,用于管理SQL Server对象,包括分离和附加数据库。SMO提供了更...
企业管理器--右键suspect的数据库--所有任务--分离数据库 然后备份你的suspect数据库的文件,再按下面的步骤处理: 1.新建一个同名的数据库 2.再停掉sql server 3.用suspect数据库的文件覆盖掉这...
"Java使用注解拼接SQL语句"是一个常见的实践,它使得动态构建SQL查询变得更为简洁和可维护。这种技术通常与ORM(对象关系映射)框架如MyBatis或Hibernate结合使用,但也可以通过自定义处理逻辑实现。 1. **自定义...
6. **分离数据库**:使用企业管理器或T-SQL命令,将“学生选课”数据库从SQL Server实例中分离出来。 7. **附加数据库**:将之前分离的“学生选课”数据库重新附加到SQL Server实例上,使其再次成为可用状态。 通过...