[推荐]
(SqlServer)分离所有用户数据库
——通过知识共享树立个人品牌。
在实际应用中,有时我们需要一次性分离所有用户数据库,下面给出代码,供大家参考。
USE[master]
GO
IFEXISTS(SELECT*
FROMsys.objects
WHERE[object_id]=OBJECT_ID(N'[dbo].[spDetachAllUserDatabases]')
ANDtypeIN(N'P',N'PC'))
DROPPROCEDURE[dbo].[spDetachAllUserDatabases]
GO
CREATEPROCEDURE[dbo].[spDetachAllUserDatabases]
AS
BEGIN
--DeclareVariables
DECLARE@DatabaseNameVARCHAR(100)
DECLARE@MinDatabaseIDINT
DECLARE@MaxDatabaseIDINT
DECLARE@SQLVARCHAR(4000)
--Checkfortemporarytableanddropitifitexists
IFOBJECT_ID('tempDB.dbo.#Database')ISNOTNULL
DROPTABLE[#Database];
--Createtemporarytable
CREATETABLE#Database
(
IDINTIDENTITY(1,1),
DatabaseNameVARCHAR(100)
)
--Checkforexistinguserdatabases
IFEXISTS(SELECTname
FROMsys.databases
WHEREdatabase_id>4
ANDnameNOTIN('SQLDBA','ReportServer',
'ReportServerTempDB',
'distribution'))
BEGIN
--Insertalldatabasenamesintoatemporarytable
INSERTINTO#Database(DatabaseName)
SELECTname
FROMsys.databases
WHEREdatabase_id>4
ANDnameNOTIN('SQLDBA','ReportServer',
'ReportServerTempDB',
'distribution')
--SetVariablesforthedetachdatabaseloop
SELECT@MinDatabaseID=MIN(ID),
@MaxDatabaseID=MAX(ID)
FROM#Database
--Beginlooptodetachdatabases
WHILE@MinDatabaseID<=@MaxDatabaseID
BEGIN
--GetDatabaseName
SELECT@DatabaseName=DatabaseName
FROM#Database
WHEREID=@MinDatabaseID
--BuildDetachDatabaseCommand
SET@SQL='EXECsp_detach_db'+''''+@DatabaseName
+''''+';'
--TryCatchblocktoexecuteSQLandhandleerrors
BEGINTRY
--DetachDatabase
EXEC(@SQL
)
PRINT'Detached'+@DatabaseName
ENDTRY
BEGINCATCH
SELECT@DatabaseName,
message_id,
severity,
[text],
@SQL
FROMsys.messages
WHEREmessage_id=@@ERROR
ANDlanguage_id=1033--BritishEnglish
ENDCATCH
--GetthenextDatabaseNameID
SET@MinDatabaseID=@MinDatabaseID+1
--EndLoop
END
END
END
GO
© 2011
EricHu
原创作品,转贴请注明作者和出处,留此信息。
------------------------------------------------
cnBlobs:http://www.cnblogs.com/huyong/
CSDN:http://blog.csdn.net/chinahuyong
作者:EricHu(DB、C\S、B\S、WebService、WCF、PM等)
出处:http://www.cnblogs.com/huyong/
Q Q:80368704 E-Mail: 80368704@qq.com
本博文欢迎大家浏览和转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,在『参考』的文章中,我会表明参考的文章来源,尊重他人版权。若您发现我侵犯了您的版权,请及时与我联系。
更多文章请看[置顶]索引贴——(不断更新中)
分享到:
相关推荐
3. 接下来,从中间版本的SQL Server分离该数据库,然后将其复制到目标服务器(运行SQL Server 2012)的正确位置。 4. 最后,在SQL Server 2012上附加这个已经转换过的数据库,这时应该可以成功,因为它现在遵循的是...
数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离文件, 可以附加 数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离文件, 可以附加 数据库系统概论 王珊 SPJ 数据库 手敲输入,SQL server 分离...
3. 备份或分离数据库,然后还原或附加到 SQL Server 2005 数据库。 方法四:使用 Navicat 工具 这种方法通过使用 Navicat 工具来将 SQL Server 2008 数据库转换为 SQL Server 2005 数据库。具体步骤如下: 1. ...
1. **分离目的**:数据库分离是为了将数据库从运行的SQL Server实例中移除,以便可以在其他服务器上进行备份、维护或迁移。分离后的数据库仍然保留在磁盘上,但不再与原服务器实例连接。 2. **操作步骤**: - 首先...
本文档《SQL SERVER分离数据库-操作文档(导出SQL SERVER数据库)》即围绕着如何导出SQL SERVER数据库文件提供了一套详细的流程。 首先,我们来解释一下本文档标题中所提到的“分离数据库”概念。在SQL SERVER中,...
1、若依分离版本代码 2、数据由mysql变更为SqlServer 3、包含SqlServer数据库备份 4、下载用idea直接打开 5、启动方式和若依本身的启动顺序一样
支持SQL SERVER批量进行附加数据库和分离数据库的操作
首先,我们需要引入必要的命名空间,包括`Microsoft.SqlServer.Management.Smo`和`Microsoft.SqlServer.Management.Common`: ```csharp using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer....
在SQL Server中,"分离数据库"是一个常见的管理操作,它允许管理员将数据库从服务器实例上断开连接,以便于移动、备份或进行其他维护工作。这个压缩包文件“分离SQL Server数据库.7z”很可能包含了关于如何执行此...
分离数据库意味着将一个正在运行的数据库从服务器上移除,但保留其所有数据和结构,以便于备份、迁移或在不同的服务器环境中使用。在ASP.NET应用中,这通常是为了实现数据库的独立性,提高应用的可移植性和可维护性...
### SQL Server 使用命令附加数据库详解 #### 一、概述 SQL Server 是一款广泛使用的数据库管理系统,在数据管理和存储方面发挥着重要作用。在SQL Server中,有时我们需要将已经存在的数据库文件(通常为.mdf和....
Sql Server 2005 数据库附加与分离
2. 再停掉 SQL Server 服务(注意不要分离数据库) 3. 用原数据库的数据文件覆盖掉这个新建的数据库 4. 再重启 SQL Server 服务 5. 此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库...
1. **分离条件:**分离数据库前,必须确保没有任何用户连接到该数据库,否则分离操作无法执行。如果存在活动连接,SQL Server会提示并要求断开这些连接。 2. **分离步骤:** - 在SQL Server Management Studio中,...
实现两个Sqlserver之间的数据库同步 对实时性有较高要求,数据同步延时尽量在1S之内 可以全库、单表、多表的数据同步 2. 读写分离 数据同步之后程序上就可以通过分别使用不同的DbContext实现程序上的读写分离 3. ...
vbs批量分离数据库 SQLServer 2008,数据库名称数组名称、服务器名称需要根据实际情况赋值 VBS文件直接执行
5.掌握应用SQL Server Management Studio创建数据库的方法。 6.掌握应用SQL Server Management Studio修改和查看数据库的方法。 7.掌握应用SQL Server Management Studio删除数据库的方法。 8.掌握应用Transact-SQL...
在IT领域,尤其是在数据库管理和开发中,"C#分离SQLServer数据库"是一个常见的操作,它涉及到数据迁移、备份、恢复或者在多个环境间同步数据库。本文将深入探讨这个主题,介绍相关知识点,并提供可能的实现步骤。 ...
在SQL Server中,分离数据库是指将一个正在运行的数据库从服务器实例中暂时移除,使其无法被其他用户访问,但并不删除数据库文件。这个过程通常用于备份、迁移或进行维护操作。分离数据库后,可以安全地移动或复制...
### SQL Server 2000分离数据库与添加数据库的基本教程 #### 一、分离数据库 在实际的应用场景中,为了更好地管理和保护数据,有时需要将数据库从一个位置移动到另一个位置。例如,当数据库文件存储在系统盘(如C...